|
Grok 20.3.2
|
Manages a collection of TLM markers, assuming strictly increasing marker ids. More...
#include <TLMMarker.h>
Public Member Functions | |
| TLMMarkerManager () | |
| void | push_back (TilePartLength< uint32_t > tilePartLength) |
| Pushes a TilePartLength. | |
| void | reset () noexcept |
| Resets the iterator state for traversing markers. | |
| TilePartLength< uint32_t > * | next (bool peek=false) noexcept |
| Gets the next tile part length. | |
| bool | empty () const noexcept |
| Checks if the manager contains no markers. | |
| bool | validateMarkerId (uint8_t markerId) noexcept |
| Validates marker id. | |
Private Types | |
| using | TL_VEC = std::vector<TilePartLength<uint32_t>> |
| vector of TilePartLength stored in sequence as they appear in the code stream | |
Private Attributes | |
| std::unique_ptr< TL_VEC > | tilePartLengths_ |
| Single TL_VEC storing all tile part lengths in order. | |
| TL_VEC::iterator | tilePartLengthsIter_ |
| Iterator into the single TLM tile lengths vector. | |
| int32_t | lastMarkerId_ |
| stores last valid marker id. | |
| bool | valid_ |
| Flag indicating if the manager is valid (i.e., marker ids are strictly increasing). | |
Manages a collection of TLM markers, assuming strictly increasing marker ids.
|
private |
vector of TilePartLength stored in sequence as they appear in the code stream
|
inline |
References lastMarkerId_, tilePartLengthsIter_, and valid_.
|
inlinenodiscardnoexcept |
Checks if the manager contains no markers.
References tilePartLengths_.
|
inlinenoexcept |
Gets the next tile part length.
| peek | If true, do not advance to the next entry |
References tilePartLengths_, tilePartLengthsIter_, and valid_.
|
inline |
Pushes a TilePartLength.
| tilePartLength | Tile part information |
References tilePartLengths_, tilePartLengthsIter_, and valid_.
|
inlinenoexcept |
Resets the iterator state for traversing markers.
References tilePartLengths_, and tilePartLengthsIter_.
|
inlinenodiscardnoexcept |
Validates marker id.
| markerId | Marker index to check |
References grk::grklog, lastMarkerId_, and valid_.
|
private |
stores last valid marker id.
Used to ensure stricly increasing ids
Referenced by TLMMarkerManager(), and validateMarkerId().
|
private |
Single TL_VEC storing all tile part lengths in order.
Referenced by empty(), next(), push_back(), and reset().
|
private |
Iterator into the single TLM tile lengths vector.
Referenced by next(), push_back(), reset(), and TLMMarkerManager().
|
private |
Flag indicating if the manager is valid (i.e., marker ids are strictly increasing).
Referenced by next(), push_back(), TLMMarkerManager(), and validateMarkerId().