Boost.URL Logo

PrevUpHomeNext
segments::reference

A type which can represent a segment as a reference.

Synopsis
using reference = decode_view;
Types

Name

Description

const_iterator

An iterator of constant, decoded characters.

const_reference

The reference type.

difference_type

The signed integer type.

iterator

An iterator of constant, decoded characters.

reference

The reference type.

size_type

The unsigned integer type.

value_type

The value type.

Member Functions

Name

Description

append_to

Append the range with percent-decoded applied to an existing string.

assign_to

Assign the range with percent-decoded applied to an existing string.

back

Return the last character.

begin

Return an iterator to the beginning.

compare

Return the result of comparing to another string.

copy

Copy a decoded substring to another character string.

decode_view

Constructor.

empty

Return true if the string is empty.

encoded

Return the encoded string.

end

Return an iterator to the end.

front

Return the first character.

operator std::string

Return a std::string with percent-decoding applied.

options

Return the decoding options.

size

Return the number of decoded characters.

to_string

Return a std::string with percent-decoding applied.

Friends

Name

Description

operator==

Return the result of comparing s0 and s1.

operator!=

Return the result of comparing s0 and s1.

operator<

Return the result of comparing s0 and s1.

operator<=

Return the result of comparing s0 and s1.

operator>

Return the result of comparing s0 and s1.

operator>=

Return the result of comparing s0 and s1.

operator<<

Format the string with percent-decoding applied to the output stream.

These views reference strings in parts of URLs or other components that are percent-encoded. The special characters (those not in the allowed character set) are stored as three character escapes that consist of a percent sign ('%') followed by a two-digit hexadecimal number of the corresponding unescaped character code, which may be part of a UTF-8 code point depending on the context. The view refers to the original character buffer and only decodes escaped sequences when needed. In particular these operations perform percent-decoding automatically without the need to allocate memory:

However, in order to access the string as a as a contiguous character buffer with with percent-decoding applied, the caller must explicitly opt-in to an operation that is potentially allocating. These operations are:

These objects can only be constructed from strings that have a valid percent-encoding, otherwise construction fails. The caller is responsible for ensuring that the lifetime of the character buffer from which the view is constructed extends unmodified until the view is no longer accessed.

Description

This type does not make a copy of a segment and ownership is retained by the container.


PrevUpHomeNext