Project
Loading...
Searching...
No Matches
o2::framework::raw_parser Namespace Reference

workspace for raw parser internal utilities More...

Classes

class  ConcreteRawParser
 
struct  RawParserHelper
 
struct  RDHFormatter
 
struct  RDHFormatter< header::RAWDataHeaderV4 >
 
struct  RDHFormatter< header::RAWDataHeaderV5 >
 
struct  RDHFormatter< header::RAWDataHeaderV6 >
 
struct  RDHFormatter< header::RAWDataHeaderV7 >
 

Typedefs

using V7 = header::RAWDataHeaderV7
 
using V6 = header::RAWDataHeaderV6
 
using V5 = header::RAWDataHeaderV5
 
using V4 = header::RAWDataHeaderV4
 
template<size_t N, bool BOUNDS_CHECKS>
using V7Parser = ConcreteRawParser< header::RAWDataHeaderV7, N, BOUNDS_CHECKS >
 
template<size_t N, bool BOUNDS_CHECKS>
using V6Parser = ConcreteRawParser< header::RAWDataHeaderV6, N, BOUNDS_CHECKS >
 
template<size_t N, bool BOUNDS_CHECKS>
using V5Parser = ConcreteRawParser< header::RAWDataHeaderV5, N, BOUNDS_CHECKS >
 
template<size_t N, bool BOUNDS_CHECKS>
using V4Parser = ConcreteRawParser< header::RAWDataHeaderV4, N, BOUNDS_CHECKS >
 
template<size_t N, bool BOUNDS_CHECKS>
using ConcreteParserVariants = std::variant< V7Parser< N, BOUNDS_CHECKS >, V6Parser< N, BOUNDS_CHECKS >, V5Parser< N, BOUNDS_CHECKS >, V4Parser< N, BOUNDS_CHECKS > >
 

Enumerations

enum struct  FormatSpec {
  Info , TableHeader , Entry , FullTable ,
  FullTableInfo
}
 specifier for printout More...
 

Functions

template<size_t PageSize, bool BOUNDS_CHECKS, typename T >
ConcreteParserVariants< PageSize, BOUNDS_CHECKS > create (T const *buffer, size_t size)
 create a raw parser depending on version of RAWDataHeader found at beginning of data
 
template<size_t N, typename T , typename P >
void walk_parse (T &instances, P &&processor, size_t index)
 
template<typename U , typename T , size_t N = std::variant_size_v<T>>
U const * get_if (T &instances)
 

Detailed Description

workspace for raw parser internal utilities

Typedef Documentation

◆ ConcreteParserVariants

template<size_t N, bool BOUNDS_CHECKS>
using o2::framework::raw_parser::ConcreteParserVariants = typedef std::variant<V7Parser<N, BOUNDS_CHECKS>, V6Parser<N, BOUNDS_CHECKS>, V5Parser<N, BOUNDS_CHECKS>, V4Parser<N, BOUNDS_CHECKS> >

Parser instance type for the raw parser main class, all supported versions of RAWDataHeader are handled in a variant

Definition at line 374 of file RawParser.h.

◆ V4

Definition at line 355 of file RawParser.h.

◆ V4Parser

template<size_t N, bool BOUNDS_CHECKS>
using o2::framework::raw_parser::V4Parser = typedef ConcreteRawParser<header::RAWDataHeaderV4, N, BOUNDS_CHECKS>

Definition at line 367 of file RawParser.h.

◆ V5

Definition at line 354 of file RawParser.h.

◆ V5Parser

template<size_t N, bool BOUNDS_CHECKS>
using o2::framework::raw_parser::V5Parser = typedef ConcreteRawParser<header::RAWDataHeaderV5, N, BOUNDS_CHECKS>

Definition at line 365 of file RawParser.h.

◆ V6

Definition at line 353 of file RawParser.h.

◆ V6Parser

template<size_t N, bool BOUNDS_CHECKS>
using o2::framework::raw_parser::V6Parser = typedef ConcreteRawParser<header::RAWDataHeaderV6, N, BOUNDS_CHECKS>

Definition at line 363 of file RawParser.h.

◆ V7

Definition at line 352 of file RawParser.h.

◆ V7Parser

template<size_t N, bool BOUNDS_CHECKS>
using o2::framework::raw_parser::V7Parser = typedef ConcreteRawParser<header::RAWDataHeaderV7, N, BOUNDS_CHECKS>

Definition at line 361 of file RawParser.h.

Enumeration Type Documentation

◆ FormatSpec

specifier for printout

Enumerator
Info 
TableHeader 
Entry 
FullTable 
FullTableInfo 

Definition at line 42 of file RawParser.h.

Function Documentation

◆ create()

template<size_t PageSize, bool BOUNDS_CHECKS, typename T >
ConcreteParserVariants< PageSize, BOUNDS_CHECKS > o2::framework::raw_parser::create ( T const *  buffer,
size_t  size 
)

create a raw parser depending on version of RAWDataHeader found at beginning of data

Definition at line 378 of file RawParser.h.

◆ get_if()

template<typename U , typename T , size_t N = std::variant_size_v<T>>
U const * o2::framework::raw_parser::get_if ( T &  instances)

Definition at line 415 of file RawParser.h.

◆ walk_parse()

template<size_t N, typename T , typename P >
void o2::framework::raw_parser::walk_parse ( T &  instances,
P &&  processor,
size_t  index 
)

iteratively walk through the available instances and parse with instance specified by index

Definition at line 403 of file RawParser.h.