From 21bc200ca0c6fc5d9c44d92e1417268a9952a044 Mon Sep 17 00:00:00 2001 From: Larry Joe Evans Date: Mon, 27 Jun 2005 11:41:45 +0000 Subject: [PATCH] *** empty log message *** [SVN r2655] --- include/boost/utility/object_tracked.hpp | 41 ++++++++++++++++++++---- include/boost/utility/trace_scope.hpp | 12 +++---- 2 files changed, 41 insertions(+), 12 deletions(-) diff --git a/include/boost/utility/object_tracked.hpp b/include/boost/utility/object_tracked.hpp index 5925a82..a208cfa 100644 --- a/include/boost/utility/object_tracked.hpp +++ b/include/boost/utility/object_tracked.hpp @@ -1,15 +1,21 @@ //Simple class which keeps track of members #ifndef UTILITY_OBJECT_TRACKED_HPP_LJE20040112 #define UTILITY_OBJECT_TRACKED_HPP_LJE20040112 +//#define UTILITY_OBJECT_TRACKED_SET_OF_OBJECTS_TRACE_MODE +//#define UTILITY_OBJECT_TRACKED_TRACE_MODE #include #include "boost/utility/obj_id.hpp" +#if defined(UTILITY_OBJECT_TRACKED_SET_OF_OBJECTS_TRACE_MODE)\ + || defined(UTILITY_OBJECT_TRACKED_TRACE_MODE) #include "boost/io/filters/mout.hpp" +#endif namespace utility { class object_tracked : public obj_id { - public: + private: + struct set_of_objects_tracked : public std::set @@ -18,8 +24,18 @@ class object_tracked std::set super_type ; + ~set_of_objects_tracked(void) + { + #ifdef UTILITY_OBJECT_TRACKED_SET_OF_OBJECTS_TRACE_MODE + mout()<<"set_of_objects_tracked-\n"; + #endif + } set_of_objects_tracked(void) - {} + { + #ifdef UTILITY_OBJECT_TRACKED_SET_OF_OBJECTS_TRACE_MODE + mout()<<"set_of_objects_tracked+\n"; + #endif + } void reset(void) { @@ -37,23 +53,36 @@ class object_tracked set_of_objects_tracked our_members ; + public: + static + void + reset(void) + { + our_members.reset(); + } static unsigned members_size(void) { - return our_members.size(); + return our_members.size(); } object_tracked(void) { our_members.insert(this); #ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE - mout()<<"object_tracked+:id="< namespace utility @@ -20,17 +20,17 @@ trace_scope ;} ~trace_scope(void) { - ; --mout() + ; --mout() ; std::string l_context("===>Exit:") - ; mout()<Enter:") - ; mout()<