Zth (libzth)
Loading...
Searching...
No Matches
zth::UniqueID< T, ThreadSafe > Class Template Reference

Keeps track of a process-wide unique ID within the type T. More...

#include <util.h>

Inheritance diagram for zth::UniqueID< T, ThreadSafe >:
zth::NamedUniqueID< Named > zth::UniqueIDBase

Public Types

typedef NamedUniqueID base
 

Public Member Functions

 UniqueID (UniqueID const &)=delete
 
UniqueIDoperator= (UniqueID const &)=delete
 
 UniqueID (UniqueID &&u) noexcept
 
UniqueIDoperator= (UniqueID &&u) noexcept
 
 UniqueID (string const &name)
 
 UniqueID (string &&name)
 
 UniqueID (char const *name=nullptr)
 
virtual ~UniqueID () noexcept override=default
 
void const * normptr () const noexcept
 
uint64_t id () const noexcept
 
- Public Member Functions inherited from zth::NamedUniqueID< Named >
virtual ~NamedUniqueID () noexcept override=default
 
string const & name () const noexcept
 
void setName (string const &name)
 
void setName (char const *name)
 
void setName (string &&name)
 
virtual char const * id_str () const noexcept override
 

Static Public Member Functions

static uint64_t getID () noexcept
 

Protected Member Functions

virtual uint64_t id_ () const noexcept final
 
- Protected Member Functions inherited from zth::NamedUniqueID< Named >
 NamedUniqueID (char const *name=nullptr)
 
 NamedUniqueID (string const &name)
 
 NamedUniqueID (string &&name)
 
- Protected Member Functions inherited from zth::UniqueIDBase
virtual ~UniqueIDBase () noexcept=default
 

Detailed Description

template<typename T, bool ThreadSafe = Config::EnableThreads>
class zth::UniqueID< T, ThreadSafe >

Keeps track of a process-wide unique ID within the type T.

Definition at line 860 of file util.h.

Member Typedef Documentation

◆ base

template<typename T , bool ThreadSafe = Config::EnableThreads>
typedef NamedUniqueID zth::UniqueID< T, ThreadSafe >::base

Definition at line 865 of file util.h.

Constructor & Destructor Documentation

◆ UniqueID() [1/5]

template<typename T , bool ThreadSafe = Config::EnableThreads>
zth::UniqueID< T, ThreadSafe >::UniqueID ( UniqueID< T, ThreadSafe > const &  )
delete

◆ UniqueID() [2/5]

template<typename T , bool ThreadSafe = Config::EnableThreads>
zth::UniqueID< T, ThreadSafe >::UniqueID ( UniqueID< T, ThreadSafe > &&  u)
inlinenoexcept

Definition at line 871 of file util.h.

◆ UniqueID() [3/5]

template<typename T , bool ThreadSafe = Config::EnableThreads>
zth::UniqueID< T, ThreadSafe >::UniqueID ( string const &  name)
inlineexplicit

Definition at line 897 of file util.h.

◆ UniqueID() [4/5]

template<typename T , bool ThreadSafe = Config::EnableThreads>
zth::UniqueID< T, ThreadSafe >::UniqueID ( string &&  name)
inlineexplicit

Definition at line 903 of file util.h.

◆ UniqueID() [5/5]

template<typename T , bool ThreadSafe = Config::EnableThreads>
zth::UniqueID< T, ThreadSafe >::UniqueID ( char const *  name = nullptr)
inlineexplicit

Definition at line 909 of file util.h.

◆ ~UniqueID()

template<typename T , bool ThreadSafe = Config::EnableThreads>
virtual zth::UniqueID< T, ThreadSafe >::~UniqueID ( )
overridevirtualdefaultnoexcept

Member Function Documentation

◆ getID()

template<typename T , bool ThreadSafe = Config::EnableThreads>
static uint64_t zth::UniqueID< T, ThreadSafe >::getID ( )
inlinestaticnoexcept

Definition at line 886 of file util.h.

◆ id()

template<typename T , bool ThreadSafe = Config::EnableThreads>
uint64_t zth::UniqueID< T, ThreadSafe >::id ( ) const
inlinenoexcept

Definition at line 921 of file util.h.

◆ id_()

template<typename T , bool ThreadSafe = Config::EnableThreads>
virtual uint64_t zth::UniqueID< T, ThreadSafe >::id_ ( ) const
inlinefinalprotectedvirtualnoexcept

Implements zth::NamedUniqueID< Named >.

Definition at line 927 of file util.h.

◆ normptr()

template<typename T , bool ThreadSafe = Config::EnableThreads>
void const * zth::UniqueID< T, ThreadSafe >::normptr ( ) const
inlinenoexcept

Definition at line 916 of file util.h.

◆ operator=() [1/2]

template<typename T , bool ThreadSafe = Config::EnableThreads>
UniqueID & zth::UniqueID< T, ThreadSafe >::operator= ( UniqueID< T, ThreadSafe > &&  u)
inlinenoexcept

Definition at line 877 of file util.h.

◆ operator=() [2/2]

template<typename T , bool ThreadSafe = Config::EnableThreads>
UniqueID & zth::UniqueID< T, ThreadSafe >::operator= ( UniqueID< T, ThreadSafe > const &  )
delete

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