# 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
PionId & | operator= (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:

- common/include/pion/PionId.hpp