An IP version 6 style address.

Synopsis

Declared in header </boost/url/ipv6_address.hpp#L64[boost/url/ipv6_address.hpp,window=blank_]>

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

Construct from a string.

Construct from an IPv4 address.

Construct from an array of bytes.

Constructor.

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 Data 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 not equal

operator<<

operator==

Return true if two addresses are equal

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