te::common::uri::ipv6_address Class Reference

#include <ipv6_address.h>

Public Member Functions

 ipv6_address ()
 Construct null. More...
 
 ipv6_address (const std::string &v)
 Construct from string. More...
 
bool is_null () const
 Test if null (all 0's). More...
 
std::string string (bool compress=false) const
 Calculate string representation. More...
 
std::ostream & write (std::ostream &os, bool compress=false) const
 Stream out. More...
 

Static Public Attributes

static const char SEPARATOR_CHAR
 separator (':') More...
 

Private Member Functions

bool zero_run (size_t &first, size_t &last) const
 

Private Attributes

unsigned short hextets_ [8]
 

Friends

bool TECOMMONEXPORT parse (std::string::const_iterator &first, std::string::const_iterator last, ipv6_address &v)
 Parse IP v6 address, returning whether found or not and advancing first and setting address if found. More...
 

Detailed Description

Definition at line 52 of file ipv6_address.h.

Constructor & Destructor Documentation

te::common::uri::ipv6_address::ipv6_address ( )

Construct null.

te::common::uri::ipv6_address::ipv6_address ( const std::string &  v)

Construct from string.

Note that the string cannot be empty, it must contain valid chars.

Exceptions
std::invalid_argumentif invalid

Member Function Documentation

bool te::common::uri::ipv6_address::is_null ( ) const

Test if null (all 0's).

std::string te::common::uri::ipv6_address::string ( bool  compress = false) const

Calculate string representation.

Leading zeros are dropped, i.e. "3F" instead of "003F". Compress the longest run of 0's into "::" if compress is true.

std::ostream& te::common::uri::ipv6_address::write ( std::ostream &  os,
bool  compress = false 
) const

Stream out.

See also
string()

Referenced by te::common::uri::operator<<().

bool te::common::uri::ipv6_address::zero_run ( size_t &  first,
size_t &  last 
) const
private

Friends And Related Function Documentation

bool TECOMMONEXPORT parse ( std::string::const_iterator &  first,
std::string::const_iterator  last,
ipv6_address v 
)
friend

Parse IP v6 address, returning whether found or not and advancing first and setting address if found.

Does not skip leading space.

Member Data Documentation

unsigned short te::common::uri::ipv6_address::hextets_[8]
private

Definition at line 73 of file ipv6_address.h.

const char te::common::uri::ipv6_address::SEPARATOR_CHAR
static

separator (':')

Definition at line 69 of file ipv6_address.h.


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