Generates UIDs (unique IDs) per class T starting from 1.
This generator only allows one UID to be created.
In debug mode, generating more than one UID for class T will trigger an assertion and fail.
#include <UIDGenerators.h>
Public Types | |
using | uint_type = UINT |
using | generator_type = singleton_generated_tag |
Public Member Functions | |
WALBERLA_STATIC_ASSERT (std::numeric_limits< UINT >::is_specialized &&std::numeric_limits< UINT >::is_integer &&!std::numeric_limits< UINT >::is_signed) | |
Static Public Member Functions | |
static uint_type | generateUID () |
static uint_type | firstUID () |
static uint_type | nextUID (const uint_type) |
static uint_type | toIndex (const uint_type uid) |
static uint_type | toBitMask (const uint_type uid) |
static const char * | getType () |
using walberla::uid::SingletonGenerator< T, UINT >::generator_type = singleton_generated_tag |
using walberla::uid::SingletonGenerator< T, UINT >::uint_type = UINT |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
walberla::uid::SingletonGenerator< T, UINT >::WALBERLA_STATIC_ASSERT | ( | std::numeric_limits< UINT >::is_specialized &&std::numeric_limits< UINT >::is_integer &&!std::numeric_limits< UINT >::is_signed | ) |