pion-net  4.0.9
Public Types | Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes
pion::PionId Class Reference

#include <PionId.hpp>

List of all members.

Public Types

enum  { PION_ID_DATA_BYTES = 16, PION_ID_HEX_BYTES = 16 * 2 + 4 }
typedef unsigned char * iterator
 data type for iterating PionId byte values
typedef const unsigned char * const_iterator
 const data type for iterating PionId byte values

Public Member Functions

virtual ~PionId ()
 class may be extended (virtual destructor)
 PionId (void)
 default constructor
 PionId (const std::string &str)
 construction using a string representation (bb49b9ca-e733-47c0-9a26-0f8f53ea1660)
 PionId (const char *str)
 construction using a null-terminated c-style string (bb49b9ca-e733-47c0-9a26-0f8f53ea1660)
template<typename base_generator_type , typename distribution_type >
 PionId (boost::variate_generator< base_generator_type, distribution_type > &rng)
 construction using an existing random number generator
 PionId (const PionId &id)
 copy constructor
PionIdoperator= (const PionId &id)
 assignment operator
unsigned char operator[] (const std::size_t n) const
 returns id value at byte offset
bool operator== (const PionId &id) const
 returns true if id equals this
bool operator!= (const PionId &id) const
 returns true if id does not equal this
bool operator< (const PionId &id) const
 returns true if id is less than this
bool operator> (const PionId &id) const
 returns true if id is greater than this
iterator begin (void)
 returns the beginning iterator
iterator end (void)
 returns the ending iterator
const_iterator begin (void) const
 returns the beginning iterator (const)
const_iterator end (void) const
 returns the ending iterator (const)
std::string to_string (void) const
 returns hexadecimal representation as a string (bb49b9ca-e733-47c0-9a26-0f8f53ea1660)
void from_string (const char *str)
 sets the data value based upon a null-terminated string representation (bb49b9ca-e733-47c0-9a26-0f8f53ea1660)

Static Public Member Functions

static boost::uint32_t make_seed (void)
 return a seed value for random number generators

Static Protected Member Functions

template<typename base_generator_type , typename distribution_type >
static void generate (unsigned char *data, boost::variate_generator< base_generator_type, distribution_type > &rng)

Protected Attributes

unsigned char m_data [PION_ID_DATA_BYTES]
 sequence of bytes representing the unique identifier

Detailed Description

PionId: a random-number based universally unique identifier (UUID v4)

Definition at line 32 of file PionId.hpp.


Member Function Documentation

template<typename base_generator_type , typename distribution_type >
static void pion::PionId::generate ( unsigned char *  data,
boost::variate_generator< base_generator_type, distribution_type > &  rng 
) [inline, static, protected]

generates a new data value using an existing random number generator

Parameters:
datapointer to a data buffer that is PION_ID_DATA_BYTES in size
rnginitialized random number generator

Definition at line 181 of file PionId.hpp.

Referenced by PionId().


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