| Home | Libraries | People | FAQ | More

##### ipv6_address::to_string

Return the address as a string.

###### Synopsis

    template<
        class StringToken = string_token::return_string>
    StringToken::result_type
    to_string(
        StringToken&& token = {}) const;

###### Description

The returned string does not contain surrounding square brackets. When called with no arguments, the return type is `std::string`. Otherwise, the return type and style of output is determined by which string token is passed.

###### Example

    ipv6_address::bytes_type b = {{
            0, 1, 0, 2, 0, 3, 0, 4,
            0, 5, 0, 6, 0, 7, 0, 8 }};
    ipv6_address a(b);
    assert(a.to_string() == "1:2:3:4:5:6:7:8" );
    assert( ipv4_address(0x01020304).to_string() == "1.2.3.4" );

###### Complexity

Constant.

###### Exception Safety

Strong guarantee. Calls to allocate may throw. String tokens may throw exceptions.

###### Return Value

The return type of the string token. If the token parameter is omitted, then a new `std::string` is returned. Otherwise, the function return type is the result type of the token.

###### Parameters

Name | Description
--- | ---
`token` | An optional string token.

###### Specification

- 2.2. Text Representation of Addresses (rfc4291)