Implements IP version 6 style addresses. More...
#include <address_v6.hpp>
Public Types | |
typedef boost::array< unsigned char, 16 > | bytes_type |
The type used to represent an address as an array of bytes. | |
Public Member Functions | |
address_v6 () | |
Default constructor. | |
address_v6 (const bytes_type &bytes, unsigned long scope_id=0) | |
Construct an address from raw bytes and scope ID. | |
address_v6 (const address_v6 &other) | |
Copy constructor. | |
bool | is_link_local () const |
Determine whether the address is link local. | |
bool | is_loopback () const |
Determine whether the address is a loopback address. | |
bool | is_multicast () const |
Determine whether the address is a multicast address. | |
bool | is_multicast_global () const |
Determine whether the address is a global multicast address. | |
bool | is_multicast_link_local () const |
Determine whether the address is a link-local multicast address. | |
bool | is_multicast_node_local () const |
Determine whether the address is a node-local multicast address. | |
bool | is_multicast_org_local () const |
Determine whether the address is a org-local multicast address. | |
bool | is_multicast_site_local () const |
Determine whether the address is a site-local multicast address. | |
bool | is_site_local () const |
Determine whether the address is site local. | |
bool | is_unspecified () const |
Determine whether the address is unspecified. | |
bool | is_v4_compatible () const |
Determine whether the address is an IPv4-compatible address. | |
bool | is_v4_mapped () const |
Determine whether the address is a mapped IPv4 address. | |
address_v6 & | operator= (const address_v6 &other) |
Assign from another address. | |
unsigned long | scope_id () const |
The scope ID of the address. | |
void | scope_id (unsigned long id) |
The scope ID of the address. | |
bytes_type | to_bytes () const |
Get the address in bytes. | |
std::string | to_string () const |
Get the address as a string. | |
std::string | to_string (asio::error_code &ec) const |
Get the address as a string. | |
address_v4 | to_v4 () const |
Converts an IPv4-mapped or IPv4-compatible address to an IPv4 address. | |
Static Public Member Functions | |
static address_v6 | any () |
Obtain an address object that represents any address. | |
static address_v6 | from_string (const char *str) |
Create an address from an IP address string. | |
static address_v6 | from_string (const char *str, asio::error_code &ec) |
Create an address from an IP address string. | |
static address_v6 | from_string (const std::string &str) |
Create an address from an IP address string. | |
static address_v6 | from_string (const std::string &str, asio::error_code &ec) |
Create an address from an IP address string. | |
static address_v6 | loopback () |
Obtain an address object that represents the loopback address. | |
static address_v6 | v4_compatible (const address_v4 &addr) |
Create an IPv4-compatible IPv6 address. | |
static address_v6 | v4_mapped (const address_v4 &addr) |
Create an IPv4-mapped IPv6 address. | |
Private Attributes | |
asio::detail::in6_addr_type | addr_ |
unsigned long | scope_id_ |
Friends | |
bool | operator!= (const address_v6 &a1, const address_v6 &a2) |
Compare two addresses for inequality. | |
bool | operator< (const address_v6 &a1, const address_v6 &a2) |
Compare addresses for ordering. | |
bool | operator<= (const address_v6 &a1, const address_v6 &a2) |
Compare addresses for ordering. | |
bool | operator== (const address_v6 &a1, const address_v6 &a2) |
Compare two addresses for equality. | |
bool | operator> (const address_v6 &a1, const address_v6 &a2) |
Compare addresses for ordering. | |
bool | operator>= (const address_v6 &a1, const address_v6 &a2) |
Compare addresses for ordering. | |
Related Functions | |
(Note that these are not member functions.) | |
template<typename Elem , typename Traits > | |
std::basic_ostream< Elem, Traits > & | operator<< (std::basic_ostream< Elem, Traits > &os, const address_v6 &addr) |
Output an address as a string. |
Implements IP version 6 style addresses.
The asio::ip::address_v6 class provides the ability to use and manipulate IP version 6 addresses.
Definition at line 47 of file address_v6.hpp.
typedef boost::array<unsigned char, 16> asio::ip::address_v6::bytes_type |
The type used to represent an address as an array of bytes.
Definition at line 51 of file address_v6.hpp.
asio::ip::address_v6::address_v6 | ( | ) | [inline] |
Default constructor.
Definition at line 54 of file address_v6.hpp.
asio::ip::address_v6::address_v6 | ( | const bytes_type & | bytes, |
unsigned long | scope_id = 0 |
||
) | [inline, explicit] |
Construct an address from raw bytes and scope ID.
Definition at line 62 of file address_v6.hpp.
asio::ip::address_v6::address_v6 | ( | const address_v6 & | other | ) | [inline] |
Copy constructor.
Definition at line 70 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::any | ( | ) | [inline, static] |
Obtain an address object that represents any address.
Definition at line 330 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::from_string | ( | const char * | str | ) | [inline, static] |
Create an address from an IP address string.
Definition at line 133 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::from_string | ( | const char * | str, |
asio::error_code & | ec | ||
) | [inline, static] |
Create an address from an IP address string.
Definition at line 142 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::from_string | ( | const std::string & | str | ) | [inline, static] |
Create an address from an IP address string.
Definition at line 152 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::from_string | ( | const std::string & | str, |
asio::error_code & | ec | ||
) | [inline, static] |
Create an address from an IP address string.
Definition at line 158 of file address_v6.hpp.
bool asio::ip::address_v6::is_link_local | ( | ) | const [inline] |
Determine whether the address is link local.
Definition at line 211 of file address_v6.hpp.
bool asio::ip::address_v6::is_loopback | ( | ) | const [inline] |
Determine whether the address is a loopback address.
Definition at line 175 of file address_v6.hpp.
bool asio::ip::address_v6::is_multicast | ( | ) | const [inline] |
Determine whether the address is a multicast address.
Definition at line 239 of file address_v6.hpp.
bool asio::ip::address_v6::is_multicast_global | ( | ) | const [inline] |
Determine whether the address is a global multicast address.
Definition at line 246 of file address_v6.hpp.
bool asio::ip::address_v6::is_multicast_link_local | ( | ) | const [inline] |
Determine whether the address is a link-local multicast address.
Definition at line 253 of file address_v6.hpp.
bool asio::ip::address_v6::is_multicast_node_local | ( | ) | const [inline] |
Determine whether the address is a node-local multicast address.
Definition at line 260 of file address_v6.hpp.
bool asio::ip::address_v6::is_multicast_org_local | ( | ) | const [inline] |
Determine whether the address is a org-local multicast address.
Definition at line 267 of file address_v6.hpp.
bool asio::ip::address_v6::is_multicast_site_local | ( | ) | const [inline] |
Determine whether the address is a site-local multicast address.
Definition at line 274 of file address_v6.hpp.
bool asio::ip::address_v6::is_site_local | ( | ) | const [inline] |
Determine whether the address is site local.
Definition at line 218 of file address_v6.hpp.
bool asio::ip::address_v6::is_unspecified | ( | ) | const [inline] |
Determine whether the address is unspecified.
Definition at line 193 of file address_v6.hpp.
bool asio::ip::address_v6::is_v4_compatible | ( | ) | const [inline] |
Determine whether the address is an IPv4-compatible address.
Definition at line 232 of file address_v6.hpp.
bool asio::ip::address_v6::is_v4_mapped | ( | ) | const [inline] |
Determine whether the address is a mapped IPv4 address.
Definition at line 225 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::loopback | ( | ) | [inline, static] |
Obtain an address object that represents the loopback address.
Definition at line 336 of file address_v6.hpp.
address_v6& asio::ip::address_v6::operator= | ( | const address_v6 & | other | ) | [inline] |
Assign from another address.
Definition at line 77 of file address_v6.hpp.
unsigned long asio::ip::address_v6::scope_id | ( | ) | const [inline] |
The scope ID of the address.
Returns the scope ID associated with the IPv6 address.
Definition at line 88 of file address_v6.hpp.
void asio::ip::address_v6::scope_id | ( | unsigned long | id | ) | [inline] |
The scope ID of the address.
Modifies the scope ID associated with the IPv6 address.
Definition at line 97 of file address_v6.hpp.
bytes_type asio::ip::address_v6::to_bytes | ( | ) | const [inline] |
Get the address in bytes.
Definition at line 103 of file address_v6.hpp.
std::string asio::ip::address_v6::to_string | ( | ) | const [inline] |
Get the address as a string.
Definition at line 112 of file address_v6.hpp.
std::string asio::ip::address_v6::to_string | ( | asio::error_code & | ec | ) | const [inline] |
Get the address as a string.
Definition at line 121 of file address_v6.hpp.
address_v4 asio::ip::address_v6::to_v4 | ( | ) | const [inline] |
Converts an IPv4-mapped or IPv4-compatible address to an IPv4 address.
Definition at line 165 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::v4_compatible | ( | const address_v4 & | addr | ) | [inline, static] |
Create an IPv4-compatible IPv6 address.
Definition at line 354 of file address_v6.hpp.
static address_v6 asio::ip::address_v6::v4_mapped | ( | const address_v4 & | addr | ) | [inline, static] |
Create an IPv4-mapped IPv6 address.
Definition at line 345 of file address_v6.hpp.
bool operator!= | ( | const address_v6 & | a1, |
const address_v6 & | a2 | ||
) | [friend] |
Compare two addresses for inequality.
Definition at line 290 of file address_v6.hpp.
bool operator< | ( | const address_v6 & | a1, |
const address_v6 & | a2 | ||
) | [friend] |
Compare addresses for ordering.
Definition at line 299 of file address_v6.hpp.
std::basic_ostream< Elem, Traits > & operator<< | ( | std::basic_ostream< Elem, Traits > & | os, |
const address_v6 & | addr | ||
) | [related] |
Output an address as a string.
Used to output a human-readable string for a specified address.
os | The output stream to which the string will be written. |
addr | The address to be written. |
Definition at line 383 of file address_v6.hpp.
bool operator<= | ( | const address_v6 & | a1, |
const address_v6 & | a2 | ||
) | [friend] |
Compare addresses for ordering.
Definition at line 318 of file address_v6.hpp.
bool operator== | ( | const address_v6 & | a1, |
const address_v6 & | a2 | ||
) | [friend] |
Compare two addresses for equality.
Definition at line 281 of file address_v6.hpp.
bool operator> | ( | const address_v6 & | a1, |
const address_v6 & | a2 | ||
) | [friend] |
Compare addresses for ordering.
Definition at line 312 of file address_v6.hpp.
bool operator>= | ( | const address_v6 & | a1, |
const address_v6 & | a2 | ||
) | [friend] |
Compare addresses for ordering.
Definition at line 324 of file address_v6.hpp.
Definition at line 364 of file address_v6.hpp.
unsigned long asio::ip::address_v6::scope_id_ [private] |
Definition at line 367 of file address_v6.hpp.