Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for a snapshot of the develop branch, built from commit e60898da42.
PrevUpHomeNext

ipv6_address

An IP version 6 style address.

Synopsis

Defined in header <boost/url/ipv6_address.hpp>

class ipv6_address
Types

Name

Description

bytes_type

The type used to represent an address as an array of bytes.

Member Functions

Name

Description

ipv6_address [constructor]

Constructor.

Construct from an array of bytes.

Construct from an IPv4 address.

Construct from a string.

is_loopback

Return true if the address is a loopback address.

is_unspecified

Return true if the address is unspecified.

is_v4_mapped

Return true if the address is a mapped IPv4 address.

operator=

Copy Assignment.

to_buffer

Write a dotted decimal string representing the address to a buffer.

to_bytes

Return the address as bytes, in network byte order.

to_string

Return the address as a string.

Static Member Functions

Name

Description

loopback

Return an address object that represents the loopback address.

Static Members

Name

Description

max_str_len

The number of characters in the longest possible IPv6 string.

Friends

Name

Description

operator==

Return true if two addresses are equal.

operator!=

Return true if two addresses are not equal.

operator<<

Format the address to an output stream.

Description

Objects of this type are used to construct, parse, and manipulate IP version 6 addresses.

BNF
IPv6address =                            6( h16 ":" ) ls32
            /                       "::" 5( h16 ":" ) ls32
            / [               h16 ] "::" 4( h16 ":" ) ls32
            / [ *1( h16 ":" ) h16 ] "::" 3( h16 ":" ) ls32
            / [ *2( h16 ":" ) h16 ] "::" 2( h16 ":" ) ls32
            / [ *3( h16 ":" ) h16 ] "::"    h16 ":"   ls32
            / [ *4( h16 ":" ) h16 ] "::"              ls32
            / [ *5( h16 ":" ) h16 ] "::"              h16
            / [ *6( h16 ":" ) h16 ] "::"

ls32        = ( h16 ":" h16 ) / IPv4address
            ; least-significant 32 bits of address

h16         = 1*4HEXDIG
            ; 16 bits of address represented in hexadecimal
Specification
See Also

ipv4_address, parse_ipv6_address.

Convenience header <boost/url.hpp>


PrevUpHomeNext