ldas-tools-al  2.6.6
Macros
ReadWriteSingleton.hh File Reference
#include <memory>
#include "ldastoolsal/MemChecker.hh"
#include "ldastoolsal/ReadWriteLock.hh"
Include dependency graph for ReadWriteSingleton.hh:

Macros

#define EMPTY_DIRECTIVE
 ignore_begin: More...
 
#define DECLARE_READ_WRITE_SINGLETON(LM_CLASS)
 
#define DEFINE_READ_WRITE_SINGLETON_CONSTRUCTOR_BODY(LM_CLASS)
 
#define DEFINE_READ_WRITE_SINGLETON_NO_CONSTRUCTOR(LM_CLASS, EXIT_RING)
 
#define DEFINE_READ_WRITE_SINGLETON_(LM_CLASS, EXIT_RING)
 
#define DEFINE_READ_WRITE_SINGLETON(LM_CLASS, EXIT_RING)   DEFINE_READ_WRITE_SINGLETON_( LM_CLASS, EXIT_RING )
 

Macro Definition Documentation

◆ DECLARE_READ_WRITE_SINGLETON

#define DECLARE_READ_WRITE_SINGLETON (   LM_CLASS)
Value:
public: \
static LM_CLASS& Instance( ); \
\
private: \
LM_CLASS( ); \
LM_CLASS( const LM_CLASS& ); \
static void singleton_suicide( ); \
static LM_CLASS* mInstance; \
static int m_exit_ring
Manager of the read/write lock resource.
Definition: ReadWriteLock.hh:168

◆ DEFINE_READ_WRITE_SINGLETON

#define DEFINE_READ_WRITE_SINGLETON (   LM_CLASS,
  EXIT_RING 
)    DEFINE_READ_WRITE_SINGLETON_( LM_CLASS, EXIT_RING )

◆ DEFINE_READ_WRITE_SINGLETON_

#define DEFINE_READ_WRITE_SINGLETON_ (   LM_CLASS,
  EXIT_RING 
)
Value:
LM_CLASS::LM_CLASS( ) \
{ \
DEFINE_READ_WRITE_SINGLETON_CONSTRUCTOR_BODY( LM_CLASS ); \
}
#define DEFINE_READ_WRITE_SINGLETON_NO_CONSTRUCTOR(LM_CLASS, EXIT_RING)
Definition: ReadWriteSingleton.hh:61

◆ DEFINE_READ_WRITE_SINGLETON_CONSTRUCTOR_BODY

#define DEFINE_READ_WRITE_SINGLETON_CONSTRUCTOR_BODY (   LM_CLASS)
Value:
singleton_suicide, #LM_CLASS, m_exit_ring )
static void Append(CleanupFunction Function, const std::string &Name, int Ring, bool Always=false)
Add a cleanup function to call.
Definition: MemChecker.cc:321

◆ DEFINE_READ_WRITE_SINGLETON_NO_CONSTRUCTOR

#define DEFINE_READ_WRITE_SINGLETON_NO_CONSTRUCTOR (   LM_CLASS,
  EXIT_RING 
)

◆ EMPTY_DIRECTIVE

#define EMPTY_DIRECTIVE

ignore_begin: