Mutable and immutable track-scoped extension maps.
More...
#include <ctrl_message_types.h>
Mutable and immutable track-scoped extension maps.
◆ TrackExtensions() [1/2]
| quicr::messages::TrackExtensions::TrackExtensions |
( |
| ) |
|
|
default |
Creates empty extension maps.
◆ TrackExtensions() [2/2]
| quicr::messages::TrackExtensions::TrackExtensions |
( |
const std::map< std::uint64_t, Bytes > & |
ext | ) |
|
|
inline |
- Parameters
-
| ext | Initial mutable extension values. |
◆ Add()
Encodes and replaces a mutable extension.
- Template Parameters
-
- Parameters
-
| type | Extension key. |
| value | Value to encode. |
- Exceptions
-
| std::invalid_argument | if type is kImmutable. |
- Returns
- This collection.
◆ AddImmutable()
Encodes and replaces an immutable extension.
- Template Parameters
-
- Parameters
-
| type | Nested extension key. |
| value | Value to encode. |
- Returns
- This collection.
◆ AddOptional()
Adds a mutable extension only when present.
- Template Parameters
-
- Parameters
-
| type | Extension key. |
| value | Optional value. |
- Returns
- This collection.
◆ begin()
| auto quicr::messages::TrackExtensions::begin |
( |
| ) |
const |
|
inlinenoexcept |
- Returns
- Const iterator to the first mutable extension.
◆ end()
| auto quicr::messages::TrackExtensions::end |
( |
| ) |
const |
|
inlinenoexcept |
- Returns
- Const iterator past the last mutable extension.
◆ Get()
template<typename T >
| std::optional<T> quicr::messages::TrackExtensions::Get |
( |
ExtensionType |
type | ) |
const |
|
inline |
Decodes a mutable extension, if present.
- Template Parameters
-
- Parameters
-
- Returns
- Decoded value or std::nullopt when absent.
◆ GetImmutable()
template<typename T >
| std::optional<T> quicr::messages::TrackExtensions::GetImmutable |
( |
ExtensionType |
type | ) |
const |
|
inline |
Decodes an immutable extension, if present.
- Template Parameters
-
- Parameters
-
| type | Nested extension key. |
- Returns
- Decoded value or std::nullopt when absent.
◆ extensions
| std::map<std::uint64_t, Bytes> quicr::messages::TrackExtensions::extensions |
Mutable extensions keyed by absolute type.
◆ immutable_extensions
| std::map<std::uint64_t, Bytes> quicr::messages::TrackExtensions::immutable_extensions |
Immutable nested extensions keyed by absolute type.
The documentation for this class was generated from the following file: