![]() |
Project
|
Namespaces | |
namespace | flatten |
namespace | pageparser |
Classes | |
class | BitstreamReader |
struct | Composite |
class | ForwardParser |
class | PageParser |
class | ReverseParser |
struct | StaticSequenceAllocator |
class | TableView |
struct | typesize |
struct | typesize< void > |
Functions | |
template<typename PtrType , typename SizeType , typename HeaderType , typename HeaderCallbackType , typename... MoreTypes> | |
void | dispatchHeaderStackCallback (PtrType ptr, SizeType size, HeaderType header, HeaderCallbackType onHeader, MoreTypes &&... types) |
template<typename PtrType , typename SizeType , typename HeaderType , typename HeaderCallbackType > | |
void | dispatchHeaderStackCallback (PtrType ptr, SizeType size, HeaderType, HeaderCallbackType onHeader) |
template<typename PtrType , typename SizeType > | |
void | dispatchHeaderStackCallback (PtrType ptr, SizeType size) |
template<typename PtrType , typename SizeType , typename HeaderType , typename... MoreTypes> | |
void | parseHeaderStack (PtrType ptr, SizeType size, HeaderType &header, MoreTypes &&... types) |
template<typename PtrType , typename SizeType , typename HeaderType > | |
void | parseHeaderStack (PtrType ptr, SizeType size, HeaderType &header) |
template<typename PtrType , typename SizeType > | |
void | parseHeaderStack (PtrType ptr, SizeType size) |
template<typename InputListT , typename GetPointerFctT , typename GetSizeFctT , typename InsertFctT , typename... HeaderStackTypes> | |
int | parseO2Format (const InputListT &list, GetPointerFctT getPointer, GetSizeFctT getSize, InsertFctT insert, HeaderStackTypes &&... stackArgs) |
template<typename T , typename... TArgs> | |
constexpr size_t | sequenceLength (const T &first, const TArgs... args) noexcept |
template<typename T > | |
constexpr size_t | sequenceLength (const T &first) noexcept |
template<typename BufferT , typename T , typename... TArgs> | |
constexpr size_t | sequenceInsert (BufferT *buffer, const T &first, const TArgs... args) noexcept |
recursive insert of variable number of objects | |
template<typename BufferT , typename T > | |
constexpr size_t | sequenceInsert (BufferT *buffer, const T &element) noexcept |
terminating template specialization, i.e. for the last element | |
BOOST_AUTO_TEST_CASE (test_BitstreamReader_basic) | |
BOOST_AUTO_TEST_CASE (test_BitstreamReader_operator) | |
BOOST_AUTO_TEST_CASE (test_BitstreamReader_bitset) | |
o2::algorithm::BOOST_AUTO_TEST_CASE | ( | test_BitstreamReader_basic | ) |
Definition at line 33 of file test_BitstreamReader.cxx.
o2::algorithm::BOOST_AUTO_TEST_CASE | ( | test_BitstreamReader_bitset | ) |
Definition at line 89 of file test_BitstreamReader.cxx.
o2::algorithm::BOOST_AUTO_TEST_CASE | ( | test_BitstreamReader_operator | ) |
Definition at line 60 of file test_BitstreamReader.cxx.
void o2::algorithm::dispatchHeaderStackCallback | ( | PtrType | ptr, |
SizeType | size | ||
) |
Definition at line 79 of file HeaderStack.h.
void o2::algorithm::dispatchHeaderStackCallback | ( | PtrType | ptr, |
SizeType | size, | ||
HeaderType | header, | ||
HeaderCallbackType | onHeader, | ||
MoreTypes &&... | types | ||
) |
Generic utility for the O2 header stack, redirect to header specific callbacks
The O2 header stack consists of one or more headers. The DataHeader is the first one and mandatory. Other optional headers can be recursively extracted from a buffer with one call to this utility function. For each header a pair of type and callback has to be provided. The header type can be provided as a dummy parameter, the callback with a lambda or any callable object.
Usage: dispatchHeaderStackCallback(ptr, size, MyHeader(), [] (const auto & h) { // do something with h }
Definition at line 90 of file HeaderStack.h.
void o2::algorithm::dispatchHeaderStackCallback | ( | PtrType | ptr, |
SizeType | size, | ||
HeaderType | , | ||
HeaderCallbackType | onHeader | ||
) |
Definition at line 66 of file HeaderStack.h.
void o2::algorithm::parseHeaderStack | ( | PtrType | ptr, |
SizeType | size | ||
) |
Definition at line 145 of file HeaderStack.h.
void o2::algorithm::parseHeaderStack | ( | PtrType | ptr, |
SizeType | size, | ||
HeaderType & | header | ||
) |
Definition at line 133 of file HeaderStack.h.
void o2::algorithm::parseHeaderStack | ( | PtrType | ptr, |
SizeType | size, | ||
HeaderType & | header, | ||
MoreTypes &&... | types | ||
) |
Generic utility for the O2 header stack, extract headers
The O2 header stack consists of one or more headers. The DataHeader is the first one and mandatory. Other optional headers can be recursively extracted from a buffer with one call to this utility function. For each header to be extracted, a variable can be passed be reference. If a header of corresponding type is in the stack, its content will be assigned to the variable.
Usage: DataHeader dataheader; TriggerHeader triggerheader parseHeaderStack(ptr, size, dataheader, triggerheader
Definition at line 155 of file HeaderStack.h.
int o2::algorithm::parseO2Format | ( | const InputListT & | list, |
GetPointerFctT | getPointer, | ||
GetSizeFctT | getSize, | ||
InsertFctT | insert, | ||
HeaderStackTypes &&... | stackArgs | ||
) |
parse an input list and try to interpret in O2 data format O2 format consist of header-payload message pairs. The header message always starts with the DataHeader, optionally there can be more headers in the header stack.
The following callbacks are mandadory to be provided, e.g. through lambdas
Optionally, also the header stack can be parsed by specifying further arguments. For every header supposed to be parsed, a pair of a dummy object and callback has to be specified, e.g. // handler callback for MyHeaderStruct auto onMyHeaderStruct = [&] (const auto & mystruct) { // do something with mystruct }; // end handler callback
parseO2Format(list, insertFct, MyHeaderStruct(), onMyHeaderStruct);
Definition at line 61 of file O2FormatParser.h.
|
constexprnoexcept |
terminating template specialization, i.e. for the last element
Definition at line 119 of file StaticSequenceAllocator.h.
|
constexprnoexcept |
recursive insert of variable number of objects
Definition at line 109 of file StaticSequenceAllocator.h.
|
constexprnoexcept |
template secialization of sequence length calculation for one argument, this is also the terminating instance for the last argument of the recursive invocation of the function template.
Definition at line 102 of file StaticSequenceAllocator.h.
|
constexprnoexcept |
recursively calculate the length of the sequence object types are fixed at compile time and so is the total length of the sequence. The function is recursively invoked for all arguments of the
Definition at line 93 of file StaticSequenceAllocator.h.