Curiously Recurring Template Pattern (CRTP) for unique object. More...
#include <utl/UniqueObject.h>
Static Public Member Functions | |
static void | EnsureUnique () |
Protected Member Functions | |
UniqueObject () | |
~UniqueObject () | |
Static Protected Member Functions | |
static void | Reset () |
Static Private Attributes | |
static int | fgCounter = 0 |
Curiously Recurring Template Pattern (CRTP) for unique object.
This class is used for objects that contain nontrivial static data members and thus no two instances can live together at the same time. It is used mainly to protect classes that deal with ROOT TMinuit which requires a static function that can access only static data.
Definition at line 27 of file UniqueObject.h.
|
inlineprotected |
Definition at line 43 of file UniqueObject.h.
|
inlineprotected |
Definition at line 44 of file UniqueObject.h.
|
inlinestatic |
Definition at line 31 of file UniqueObject.h.
Referenced by utl::UniqueObject< Uniq >::UniqueObject().
|
inlinestaticprotected |
Definition at line 47 of file UniqueObject.h.
Referenced by ns::Uniq::Reset().
|
staticprivate |
Definition at line 50 of file UniqueObject.h.
Referenced by utl::UniqueObject< Uniq >::EnsureUnique(), utl::UniqueObject< Uniq >::Reset(), utl::UniqueObject< Uniq >::UniqueObject(), and utl::UniqueObject< Uniq >::~UniqueObject().