//Simple class which keeps track of members #ifndef UTILITY_OBJECT_TRACKED_HPP_LJE20040112 #define UTILITY_OBJECT_TRACKED_HPP_LJE20040112 #include #include "boost/utility/obj_id.hpp" #include "boost/io/filters/mout.hpp" namespace utility { class object_tracked : public obj_id { public: struct set_of_objects_tracked : public std::set { typedef std::set super_type ; set_of_objects_tracked(void) {} void reset(void) { super_type::clear(); obj_id::the_last_id() = 0; } bool contains(object_tracked const*& a_obj)const { return find(a_obj) != end(); } }; static set_of_objects_tracked our_members ; static unsigned members_size(void) { return our_members.size(); } object_tracked(void) { our_members.insert(this); #ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE mout()<<"object_tracked+:id="<