Project
Loading...
Searching...
No Matches
o2::algorithm Namespace Reference

Namespaces

namespace  flatten
 

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)
 

Function Documentation

◆ dispatchHeaderStackCallback() [1/3]

template<typename PtrType , typename SizeType >
void o2::algorithm::dispatchHeaderStackCallback ( PtrType  ptr,
SizeType  size 
)

Definition at line 79 of file HeaderStack.h.

◆ dispatchHeaderStackCallback() [2/3]

template<typename PtrType , typename SizeType , typename HeaderType , typename HeaderCallbackType , typename... MoreTypes>
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.

◆ dispatchHeaderStackCallback() [3/3]

template<typename PtrType , typename SizeType , typename HeaderType , typename HeaderCallbackType >
void o2::algorithm::dispatchHeaderStackCallback ( PtrType  ptr,
SizeType  size,
HeaderType  ,
HeaderCallbackType  onHeader 
)

Definition at line 66 of file HeaderStack.h.

◆ parseHeaderStack() [1/3]

template<typename PtrType , typename SizeType >
void o2::algorithm::parseHeaderStack ( PtrType  ptr,
SizeType  size 
)

Definition at line 145 of file HeaderStack.h.

◆ parseHeaderStack() [2/3]

template<typename PtrType , typename SizeType , typename HeaderType >
void o2::algorithm::parseHeaderStack ( PtrType  ptr,
SizeType  size,
HeaderType &  header 
)

Definition at line 133 of file HeaderStack.h.

◆ parseHeaderStack() [3/3]

template<typename PtrType , typename SizeType , typename HeaderType , typename... MoreTypes>
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.