Project
Loading...
Searching...
No Matches
o2::algorithm::Composite< HeaderT, TrailerT > Struct Template Reference

#include <StaticSequenceAllocator.h>

Public Types

using HeaderType = HeaderT
 
using TrailerType = TrailerT
 

Public Member Functions

template<size_t N, typename U = TrailerType>
constexpr Composite (const HeaderType h, const char(&d)[N], typename std::conditional<!std::is_void< U >::value, const TrailerType, int >::type t, typename std::enable_if<!std::is_void< U >::value >::type *=nullptr)
 
template<size_t N, typename U = TrailerType>
constexpr Composite (const HeaderType &h, const char(&d)[N], typename std::enable_if< std::is_void< U >::value >::type *=nullptr)
 
constexpr size_t getLength () const noexcept
 
constexpr size_t getDataLength () const noexcept
 
template<typename BufferT >
constexpr size_t insert (BufferT *buffer) const noexcept
 

Public Attributes

size_t compositeLength = 0
 
size_t trailerLength = 0
 
size_t dataLength = 0
 
const HeaderType header
 
const chardata = nullptr
 
std::conditional<!std::is_void< TrailerType >::value, constTrailerType, int >::type trailer
 

Detailed Description

template<typename HeaderT, typename TrailerT = void>
struct o2::algorithm::Composite< HeaderT, TrailerT >

Helper struct to define a composite element from a header, some payload and a trailer

Definition at line 27 of file StaticSequenceAllocator.h.

Member Typedef Documentation

◆ HeaderType

template<typename HeaderT , typename TrailerT = void>
using o2::algorithm::Composite< HeaderT, TrailerT >::HeaderType = HeaderT

Definition at line 28 of file StaticSequenceAllocator.h.

◆ TrailerType

template<typename HeaderT , typename TrailerT = void>
using o2::algorithm::Composite< HeaderT, TrailerT >::TrailerType = TrailerT

Definition at line 29 of file StaticSequenceAllocator.h.

Constructor & Destructor Documentation

◆ Composite() [1/2]

template<typename HeaderT , typename TrailerT = void>
template<size_t N, typename U = TrailerType>
constexpr o2::algorithm::Composite< HeaderT, TrailerT >::Composite ( const HeaderType  h,
const char(&)  d[N],
typename std::conditional<!std::is_void< U >::value, const TrailerType, int >::type  t,
typename std::enable_if<!std::is_void< U >::value >::type = nullptr 
)
inlineconstexpr

Definition at line 36 of file StaticSequenceAllocator.h.

◆ Composite() [2/2]

template<typename HeaderT , typename TrailerT = void>
template<size_t N, typename U = TrailerType>
constexpr o2::algorithm::Composite< HeaderT, TrailerT >::Composite ( const HeaderType h,
const char(&)  d[N],
typename std::enable_if< std::is_void< U >::value >::type = nullptr 
)
inlineconstexpr

Definition at line 48 of file StaticSequenceAllocator.h.

Member Function Documentation

◆ getDataLength()

template<typename HeaderT , typename TrailerT = void>
constexpr size_t o2::algorithm::Composite< HeaderT, TrailerT >::getDataLength ( ) const
inlineconstexprnoexcept

Definition at line 62 of file StaticSequenceAllocator.h.

◆ getLength()

template<typename HeaderT , typename TrailerT = void>
constexpr size_t o2::algorithm::Composite< HeaderT, TrailerT >::getLength ( ) const
inlineconstexprnoexcept

Definition at line 57 of file StaticSequenceAllocator.h.

◆ insert()

template<typename HeaderT , typename TrailerT = void>
template<typename BufferT >
constexpr size_t o2::algorithm::Composite< HeaderT, TrailerT >::insert ( BufferT *  buffer) const
inlineconstexprnoexcept

Definition at line 68 of file StaticSequenceAllocator.h.

Member Data Documentation

◆ compositeLength

template<typename HeaderT , typename TrailerT = void>
size_t o2::algorithm::Composite< HeaderT, TrailerT >::compositeLength = 0

Definition at line 30 of file StaticSequenceAllocator.h.

◆ data

template<typename HeaderT , typename TrailerT = void>
const char* o2::algorithm::Composite< HeaderT, TrailerT >::data = nullptr

Definition at line 84 of file StaticSequenceAllocator.h.

◆ dataLength

template<typename HeaderT , typename TrailerT = void>
size_t o2::algorithm::Composite< HeaderT, TrailerT >::dataLength = 0

Definition at line 32 of file StaticSequenceAllocator.h.

◆ header

template<typename HeaderT , typename TrailerT = void>
const HeaderType o2::algorithm::Composite< HeaderT, TrailerT >::header

Definition at line 83 of file StaticSequenceAllocator.h.

◆ trailer

template<typename HeaderT , typename TrailerT = void>
std::conditional<!std::is_void<TrailerType>::value,constTrailerType,int>::type o2::algorithm::Composite< HeaderT, TrailerT >::trailer

Definition at line 85 of file StaticSequenceAllocator.h.

◆ trailerLength

template<typename HeaderT , typename TrailerT = void>
size_t o2::algorithm::Composite< HeaderT, TrailerT >::trailerLength = 0

Definition at line 31 of file StaticSequenceAllocator.h.


The documentation for this struct was generated from the following file: