The class Kinetic::Active_objects_listener_helper<ActiveObjectsTable, KDS> acts as an intermediate between a moving object table and a KDS. It translates the ActiveObjectsTable::Listener::IS_EDITING notification events into appropriate calls to KDS::insert(Key), KDS::set(Key), KDS::erase(Key).
Kinetic data structures can still take advantage of the batch editing if they are careful. The methods (such as KDS::set(Key) are called in lexicographical order in the Keys. So, when a KDS is preparing to update some certificate involving a recently set object, it can first check if the certificate involves another changed object which is lexicographically prior. If so, then the certificate has already been updated and can be skipped.
#include <CGAL/Kinetic/Active_objects_listener_helper.h>
Kinetic::Active_objects_vector<MovingObject>, Kinetic::ActiveObjectsTable.