An IP version 6 style address.
| Name | Description | 
|---|---|
| bytes_type | The type used to represent an address as an array of bytes. | 
| Name | Description | 
|---|---|
| ipv6_address[constructor] | Constructors | 
| operator= | Copy Assignment | 
| 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 | 
| 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. | 
| Name | Description | 
|---|---|
| loopback | Return an address object that represents the loopback address | 
| Name | Description | 
|---|---|
| max_str_len | The number of characters in the longest possible IPv6 string. | 
| Name | Description | 
|---|---|
| operator<< | Format the address to an output stream | 
| operator!= | Return true if two addresses are not equal | 
| operator== | Return true if two addresses are equal | 
| Name | Description | 
|---|---|
| parse_ipv6_address | Parse a string containing an IPv6 address. | 
Objects of this type are used to construct, parse, and manipulate IP version 6 addresses.
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