pion::PionId Class Reference

#include <PionId.hpp>

List of all members.


Detailed Description

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

Definition at line 32 of file PionId.hpp.

Public Types

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
 PION_ID_DATA_BYTES = 16
 PION_ID_HEX_BYTES = 16 * 2 + 4
enum  { PION_ID_DATA_BYTES = 16, PION_ID_HEX_BYTES = 16 * 2 + 4 }

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


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:
data pointer to a data buffer that is PION_ID_DATA_BYTES in size
rng initialized 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:
Generated on Fri Apr 30 14:48:54 2010 for pion-net by  doxygen 1.4.7