ATLAS Offline Software
|
Collection of helper functions for raw pointer operations on the bytestream payload. More...
Typedefs | |
using | TDA = TriggerEDMDeserialiserAlg |
Functions | |
CLID | collectionCLID (TDA::PayloadIterator start) |
CLID of the collection stored in the next fragment. More... | |
size_t | nameLength (TDA::PayloadIterator start) |
Length of the serialised name payload. More... | |
size_t | dataSize (TDA::PayloadIterator start) |
Size in bytes of the buffer that is needed to decode next fragment data content. More... | |
TDA::PayloadIterator | toNextFragment (TDA::PayloadIterator start) |
Returns starting point of the next fragment, can be == end() More... | |
std::vector< std::string > | collectionDescription (TDA::PayloadIterator start) |
String description of the collection stored in the next fragment, returns persistent type name and the SG key. More... | |
void | toBuffer (TDA::PayloadIterator start, char *buffer) |
Copies fragment to the buffer, no size checking, use dataSize to do so. More... | |
Collection of helper functions for raw pointer operations on the bytestream payload.
Most functions can be constexpr if the compiler implements ConstexprIterator (P0858R0) Tested it works in clang9 (and 10 and 11?) regardless of –std flag and in gcc10+ only with –std=c++20 But clang12 requires –std=c++20. TODO: Remove the C++ version checks when the release is built with –std=c++20 or newer
using PayloadHelpers::TDA = typedef TriggerEDMDeserialiserAlg |
Definition at line 166 of file TriggerEDMDeserialiserAlg.cxx.
CLID PayloadHelpers::collectionCLID | ( | TDA::PayloadIterator | start | ) |
CLID of the collection stored in the next fragment.
Definition at line 172 of file TriggerEDMDeserialiserAlg.cxx.
std::vector<std::string> PayloadHelpers::collectionDescription | ( | TDA::PayloadIterator | start | ) |
String description of the collection stored in the next fragment, returns persistent type name and the SG key.
Definition at line 205 of file TriggerEDMDeserialiserAlg.cxx.
size_t PayloadHelpers::dataSize | ( | TDA::PayloadIterator | start | ) |
Size in bytes of the buffer that is needed to decode next fragment data content.
Definition at line 188 of file TriggerEDMDeserialiserAlg.cxx.
size_t PayloadHelpers::nameLength | ( | TDA::PayloadIterator | start | ) |
Length of the serialised name payload.
Definition at line 180 of file TriggerEDMDeserialiserAlg.cxx.
void PayloadHelpers::toBuffer | ( | TDA::PayloadIterator | start, |
char * | buffer | ||
) |
Copies fragment to the buffer, no size checking, use dataSize
to do so.
Definition at line 213 of file TriggerEDMDeserialiserAlg.cxx.
TDA::PayloadIterator PayloadHelpers::toNextFragment | ( | TDA::PayloadIterator | start | ) |
Returns starting point of the next fragment, can be == end()
Intended to be used like this: start = advance(start); if ( start != data.end() )... decode else ... done
Definition at line 200 of file TriggerEDMDeserialiserAlg.cxx.