QxOrm  1.4.3
C++ Object Relational Mapping library
qx::memory::__debug_new_recorder Class Reference

#include <debug_new.h>

List of all members.

Public Member Functions

 __debug_new_recorder (const char *file, int line, const char *fct)
template<class _Tp >
_Tp * operator->* (_Tp *pointer)

Static Public Member Functions

static void free_pointer (void *pointer, void *addr, bool is_array)

Private Member Functions

void _M_process (void *pointer)
 __debug_new_recorder (const __debug_new_recorder &)
__debug_new_recorderoperator= (const __debug_new_recorder &)

Private Attributes

const char * _M_file
const int _M_line
const char * _M_fct

Detailed Description

Recorder class to remember the call context.

The idea comes from Greg Herlihy's post in comp.lang.c++.moderated.

Definition at line 171 of file debug_new.h.

Constructor & Destructor Documentation

qx::memory::__debug_new_recorder::__debug_new_recorder ( const char *  file,
int  line,
const char *  fct 
) [inline]

Constructor to remember the call context. The information will be used in __debug_new_recorder::operator->*.

Definition at line 182 of file debug_new.h.

qx::memory::__debug_new_recorder::__debug_new_recorder ( const __debug_new_recorder ) [private]

Member Function Documentation

void qx::memory::__debug_new_recorder::_M_process ( void *  pointer) [private]
static void qx::memory::__debug_new_recorder::free_pointer ( void *  pointer,
void *  addr,
bool  is_array 
) [static]
template<class _Tp >
_Tp* qx::memory::__debug_new_recorder::operator->* ( _Tp *  pointer) [inline]

Operator to write the context information to memory. operator->* is chosen because it has the right precedence, it is rarely used, and it looks good: so people can tell the special usage more quickly.

Definition at line 190 of file debug_new.h.

__debug_new_recorder& qx::memory::__debug_new_recorder::operator= ( const __debug_new_recorder ) [private]

Member Data Documentation

Definition at line 175 of file debug_new.h.

Definition at line 173 of file debug_new.h.

Definition at line 174 of file debug_new.h.

The documentation for this class was generated from the following file: