Home  · Classes  · Annotated Classes  · Modules  · Members  · Namespaces  · Related Pages
Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes

UniqueIdGenerator Class Reference
[Concept]

A generator for unique ids. More...

#include <OpenMS/CONCEPT/UniqueIdGenerator.h>

List of all members.

Static Public Member Functions

static UInt64 getUniqueId ()
 Returns a new unique id.
static void setSeed (const DateTime &)
 Initializes random generator using the given DateTime instead of DateTime::now(). This is intended for debugging and testing.
static Param const & getInfo ()
 Returns a summary of internal status.

Private Member Functions

 UniqueIdGenerator ()
 ~UniqueIdGenerator ()
void init_ (const DateTime &date_time)

Static Private Member Functions

static UniqueIdGeneratorgetInstance_ ()

Private Attributes

Param info_

Detailed Description

A generator for unique ids.

The unique ids are 64-bit random unsigned random integers. The class is implemented as a singleton. The random generator is initialized upon startup using the current system time and date. Collisions are not excluded by design, but extremely unlikely. (To estimate the probability of collisions, note that $ 10^9*60*60*24*365*100 / 2^{64} \doteq 0.17 $, so it is unlikely you will see one in your lifetime.)


Constructor & Destructor Documentation

UniqueIdGenerator (  )  [private]
~UniqueIdGenerator (  )  [private]

Member Function Documentation

static Param const& getInfo (  )  [static]

Returns a summary of internal status.

static UniqueIdGenerator& getInstance_ (  )  [static, private]
static UInt64 getUniqueId (  )  [static]

Returns a new unique id.

Referenced by UniqueIdInterface::ensureUniqueId(), and UniqueIdInterface::setUniqueId().

void init_ ( const DateTime date_time  )  [private]
static void setSeed ( const DateTime  )  [static]

Initializes random generator using the given DateTime instead of DateTime::now(). This is intended for debugging and testing.


Member Data Documentation

Param info_ [private]

OpenMS / TOPP release 1.10.0 Documentation generated on Thu Mar 7 2013 09:42:51 using doxygen 1.7.1