TSDuck v3.40-4033
MPEG Transport Stream Toolkit
|
Template map of subclasses of EntryBase, indexed by size_t. More...
#include <tsAbstractTable.h>
Public Types | |
using | SuperClass = EntryWithDescriptorsMap< size_t, ENTRY > |
Explicit reference to the super class. | |
Public Member Functions | |
EntryWithDescriptorsList (const AbstractTable *table) | |
Basic constructor. | |
EntryWithDescriptorsList (const AbstractTable *table, const SuperClass &other) | |
Basic copy-like constructor. | |
void | getOrder (std::vector< size_t > &order) const |
Get the insertion order of entries in the table. | |
ENTRY & | newEntry () |
Create a new entry in the map. | |
size_t | nextIndex () const |
Get a new unused index, greater than the greatest entry. | |
size_t | nextOrder () const |
Get the next ordering hint to be used in an entry to make sure it is considered the last one. | |
ENTRY & | operator[] (const size_t &key) |
Access or create an entry. | |
const ENTRY & | operator[] (const size_t &key) const |
Access an existing entry in a read-only map. | |
void | setOrder (const std::vector< size_t > &order) |
Define the insertion order of entries in the table. | |
void | swap (EntryWithDescriptorsMap &other) |
Swap two instances (override of std::list). | |
Template map of subclasses of EntryBase, indexed by size_t.
This is replacement for vectors and lists, which cannot be used by entries containing a descriptor list since it is not CopyAssignable or CopyConstructible.
ENTRY | A subclass of EntryBase (enforced at compile-time). |
|
inlineexplicit |
Basic constructor.
[in] | table | Parent table. A descriptor list is always attached to a table. |
|
inline |
Basic copy-like constructor.
[in] | table | Parent table. A descriptor list is always attached to a table. |
[in] | other | Another instance to copy. |
|
inline |
Get a new unused index, greater than the greatest entry.
|
inline |
Create a new entry in the map.
|
inherited |
Swap two instances (override of std::list).
[in,out] | other | Another instance to swap with the current object. |
|
inherited |
Access or create an entry.
[in] | key | The key of the entry to access. |
|
inherited |
Access an existing entry in a read-only map.
[in] | key | The key of the entry to access. |
std::out_of_range | When the entry does not exist. |
|
inherited |
Get the insertion order of entries in the table.
The result is based on the order_hint fields in the EntryBase structures.
[out] | order | Order of entries by key in the table. |
|
inherited |
Define the insertion order of entries in the table.
This can be precisely set using the order_hint fields in the EntryBase structures. This method is a helper which sets these fields.
[in] | order | Order of entries by key in the table. |
|
inherited |
Get the next ordering hint to be used in an entry to make sure it is considered the last one.