mirror of
https://github.com/boostorg/utility.git
synced 2025-08-03 14:54:31 +02:00
*** empty log message ***
[SVN r2655]
This commit is contained in:
@@ -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,23 +53,36 @@ 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)
|
||||||
{
|
{
|
||||||
return our_members.size();
|
return our_members.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
object_tracked(void)
|
object_tracked(void)
|
||||||
{
|
{
|
||||||
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)
|
||||||
|
{
|
||||||
|
our_members.insert(this);
|
||||||
|
#ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE
|
||||||
|
mout()<<"object_tracked+:id="<<id_get()<<":copy\n";
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
virtual
|
virtual
|
||||||
#endif
|
|
||||||
~object_tracked(void)
|
~object_tracked(void)
|
||||||
{
|
{
|
||||||
#ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE
|
#ifdef UTILITY_OBJECT_TRACKED_TRACE_MODE
|
||||||
|
@@ -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
|
||||||
@@ -20,17 +20,17 @@ trace_scope
|
|||||||
;}
|
;}
|
||||||
~trace_scope(void)
|
~trace_scope(void)
|
||||||
{
|
{
|
||||||
; --mout()
|
; --mout()
|
||||||
; std::string l_context("===>Exit:")
|
; std::string l_context("===>Exit:")
|
||||||
; mout()<<l_context<<m_scopeName<<std::endl
|
; mout()<<l_context<<m_scopeName<<std::endl
|
||||||
;}
|
;}
|
||||||
private:
|
private:
|
||||||
void
|
void
|
||||||
init(void)
|
init(void)
|
||||||
{
|
{
|
||||||
; std::string l_context("===>Enter:")
|
; std::string l_context("===>Enter:")
|
||||||
; mout()<<l_context<<m_scopeName<<std::endl
|
; mout()<<l_context<<m_scopeName<<std::endl
|
||||||
; ++mout()
|
; ++mout()
|
||||||
;}
|
;}
|
||||||
std::string
|
std::string
|
||||||
m_scopeName
|
m_scopeName
|
||||||
|
Reference in New Issue
Block a user