*** empty log message ***

[SVN r2655]
This commit is contained in:
Larry Joe Evans
2005-06-27 11:41:45 +00:00
parent 103b0a719f
commit 21bc200ca0
2 changed files with 41 additions and 12 deletions

View File

@@ -1,15 +1,21 @@
//Simple class which keeps track of members //Simple class which keeps track of members
#ifndef UTILITY_OBJECT_TRACKED_HPP_LJE20040112 #ifndef UTILITY_OBJECT_TRACKED_HPP_LJE20040112
#define 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 <set> #include <set>
#include "boost/utility/obj_id.hpp" #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" #include "boost/io/filters/mout.hpp"
#endif
namespace utility namespace utility
{ {
class object_tracked class object_tracked
: public obj_id : public obj_id
{ {
public: private:
struct struct
set_of_objects_tracked set_of_objects_tracked
: public std::set<object_tracked const*> : public std::set<object_tracked const*>
@@ -18,8 +24,18 @@ class object_tracked
std::set<object_tracked const*> std::set<object_tracked const*>
super_type 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) set_of_objects_tracked(void)
{} {
#ifdef UTILITY_OBJECT_TRACKED_SET_OF_OBJECTS_TRACE_MODE
mout()<<"set_of_objects_tracked+\n";
#endif
}
void void
reset(void) reset(void)
{ {
@@ -37,6 +53,13 @@ class object_tracked
set_of_objects_tracked set_of_objects_tracked
our_members our_members
; ;
public:
static
void
reset(void)
{
our_members.reset();
}
static static
unsigned unsigned
members_size(void) members_size(void)
@@ -48,12 +71,18 @@ class object_tracked
{ {
our_members.insert(this); our_members.insert(this);
#ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE #ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE
mout()<<"object_tracked+:id="<<id_get()<<"\n"; mout()<<"object_tracked+:id="<<id_get()<<":default\n";
#endif #endif
} }
#if 0 object_tracked(object_tracked const& a_obj)
virtual {
our_members.insert(this);
#ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE
mout()<<"object_tracked+:id="<<id_get()<<":copy\n";
#endif #endif
}
virtual
~object_tracked(void) ~object_tracked(void)
{ {
#ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE #ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE

View File

@@ -1,5 +1,5 @@
#ifndef TRACE_SCOPE_HPP #ifndef UTILITY_TRACE_SCOPE_HPP
#define TRACE_SCOPE_HPP #define UTILITY_TRACE_SCOPE_HPP
#include "boost/io/filters/mout.hpp" #include "boost/io/filters/mout.hpp"
#include <string> #include <string>
namespace utility namespace utility