|
LibQuicR
|
#include <parameters.h>
Public Member Functions | |
| ParameterList ()=default | |
| Creates an empty list. More... | |
| ParameterList (const ParameterList &other)=default | |
| ParameterList (ParameterList &&other)=default | |
| ParameterList & | operator= (const ParameterList &other)=default |
| ParameterList & | operator= (ParameterList &&other)=default |
| template<typename T > | |
| requires HasByteStreamOperators< T > std::is_convertible_v< T, std::uint8_t > std::is_same_v< T, Location > | requires (T v) |
| ParameterList & | Add (Type type, const T &value) |
| template<ParameterValueType T> | |
| ParameterList & | AddOptional (Type type, const std::optional< T > &value) |
| auto | begin () const noexcept |
| auto | end () const noexcept |
| bool | Contains (Type type) const |
| std::optional< BytesSpan > | Find (Type type) const |
| void | Remove (Type type) |
| template<ParameterValueType T> | |
| std::optional< T > | Get (Type type) const |
| Filter | GetFilter (FilterType type) const |
| auto | operator<=> (const ParameterList &other) const =default |
Public Attributes | |
| std::map< std::uint64_t, Bytes > | parameters |
| Encoded values keyed by absolute numeric parameter type. More... | |
Sorted parameter collection with type-directed wire encoding.
The map representation permits only one stored value per numeric key; adding the same type appends to that value rather than creating a second map entry. Consequently, duplicate authorization-token parameters are not represented independently by this class.
| Type | uint64-compatible parameter-key enum or integer type. |
|
default |
Creates an empty list.
|
default |
Copies a list.
| other | List to copy. |
|
default |
Moves a list.
| other | List to move. |
|
inline |
|
inline |
Adds an optional value when present.
| T | Parameter value type. |
| type | Parameter key. |
| value | Optional value. |
|
inlinenoexcept |
|
inline |
| type | Parameter key to find. |
type has a stored map entry.
|
inlinenoexcept |
|
inline |
Finds encoded value bytes without copying.
| type | Parameter key. |
|
inline |
Decodes a typed value.
| T | Requested value type. |
| type | Parameter key controlling decoding. |
| ProtocolViolationException | for empty values, unknown keys, or incompatible requested types. |
| UintVarInvalidArgException | for malformed varints. |
|
inline |
Decodes a filter parameter.
| type | Filter discriminator. |
|
default |
Lexicographically compares the underlying sorted maps.
| other | List to compare. |
|
default |
Copy-assigns a list.
| other | List to copy. |
|
default |
Move-assigns a list.
| other | List to move. |
|
inline |
| type | Parameter key to remove if present. |
|
inline |
Encodes and appends a value under a parameter key.
| T | Value type accepted by the selected encoding. |
| type | Parameter key that determines the wire encoding. |
| value | Value to append to the key's stored bytes. |
| ProtocolViolationException | if the key is unknown or the value type is incompatible. |
| std::map<std::uint64_t, Bytes> quicr::messages::ParameterList< Type >::parameters |
Encoded values keyed by absolute numeric parameter type.