// ClusterFindManager.h #ifndef ClusterFindManager_H #define ClusterFindManager_H // This abstract class inherits from ClusterFinder and extends that // interface to include methods for adding and dropping clusters // in an internally managed container. The type of container is not // not specified here. #include "ptr/Ptr.h" #include "ptr/LocalSharedDeletePolicy.h" #include "ClusterFinder.h" #include "ClusterFinderPtr.h" namespace trf { class ClusterFindManager; // Reference-counting pointers to a ClusterFindManager so that multiple // layers or multiple layers and an external manager can "hold" the // same cluster finder manager. // Note that ClusterFindManager::DPTR has been renamed to // MutableClusterFindManagerPtr. typedef Ptr MutableClusterFindManagerPtr; typedef Ptr ConstClusterFindManagerPtr; typedef ConstClusterFindManagerPtr ClusterFindManagerPtr; class ClusterFindManager : public ClusterFinder { public: // methods // constructor ClusterFindManager(); // destructor ~ClusterFindManager(); // Add a cluster. // Return nonzero for error. virtual int add_cluster(const ClusterPtr& pclu) =0; // Drop all clusters. virtual void drop_clusters() =0; }; } // end namespace trf #endif