decode_view

A reference to a valid, percent-encoded string

Synopsis

class decode_view ;

Declared in file <boost/url/decode_view.hpp> at line 87

Types

Name Description
iterator

Types

Name Description
value_type

The value type

reference

The reference type

const_reference

The reference type

size_type

The unsigned integer type

difference_type

The signed integer type

const_iterator

iterator

Member Functions

Name Description
decode_view

Constructor

decode_view

Constructor

empty

Return true if the string is empty

size

Return the number of decoded characters

begin

Return an iterator to the beginning

end

Return an iterator to the end

front

Return the first character

back

Return the last character

starts_with

Checks if the string begins with the given prefix

ends_with

Checks if the string ends with the given prefix

starts_with

Checks if the string begins with the given prefix

ends_with

Checks if the string ends with the given prefix

find

Finds the first occurrence of character in this view

rfind

Finds the first occurrence of character in this view

remove_prefix

Remove the first characters

remove_suffix

Remove the last characters

options

Return the decoding options

compare

Return the result of comparing to another string

compare

Return the result of comparing to another string

Description

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:

  • Iteration of the string
  • Accessing the encoded character buffer
  • Comparison to encoded or plain strings
  • 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.

    Operators

    The following operators are supported between decode_view and any object that is convertible to `core::string_view`

    bool operator==( decode_view, decode_view ) noexcept; bool operator!=( decode_view, decode_view ) noexcept; bool operator<=( decode_view, decode_view ) noexcept; bool operator< ( decode_view, decode_view ) noexcept; bool operator> ( decode_view, decode_view ) noexcept; bool operator>=( decode_view, decode_view ) noexcept;