The class Surface_mesh_simplification::Edge_collapse_visitor_base<ECM> provides a base class for models of the EdgeCollapseSimplificationVisitor concept. It has one template argument: the type of surface being simplified, which must be a model of the EdgeCollapsableMesh concept.
This base class implements all of the visitor's callbacks as none-pure const virtual functions. This way, users need only override the callbacks they are interested in. The functions are all const because the Visitor object is passed to the simplification algorithm as a reference to const (i.e Visitor const &). That is to allow an on-the fly temporary to be passed in: (i.e .visitor( Visitor() ) ).