Lumiera
0.pre.03
»edit your freedom«
|
#include "lib/typed-counter.hpp"
Utility providing a set of counters, each tied to a specific type.
The actual allocation of id numbers is delegated to TypedContext. Such a counter is used to build symbolic instance IDs with a per-type running counter. Such IDs are used for lib::idi::EntryID and for lib::diff::GenNode.
Definition at line 148 of file typed-counter.hpp.
Public Member Functions | |
template<class X > | |
int64_t | dec () |
bool | empty () const |
template<class X > | |
int64_t | get () const |
template<class X > | |
int64_t | inc () |
size_t | size () const |
Private Member Functions | |
template<typename TY > | |
IxID | slot () const |
Private Attributes | |
deque< std::atomic_int64_t > | counters_ |
Additional Inherited Members | |
Static Public Member Functions inherited from Sync<> | |
static Monitor & | getMonitor (Sync const *forThis) |