![]() |
Project
|
#include <DataHeader.h>
Public Types | |
using | self_type = Descriptor< N > |
using | ItgType = typename internal::TraitsIntType< N >::Type |
using | ImplicitConversion = std::conditional_t<(size<=8), ItgType, std::string_view > |
Public Member Functions | |
constexpr | Descriptor () |
constexpr | Descriptor (ItgType initializer) |
constexpr | Descriptor (const Descriptor &other)=default |
Descriptor & | operator= (const Descriptor &other)=default |
operator ImplicitConversion () const | |
template<std::size_t L> | |
constexpr | Descriptor (const char(&in)[L]) |
constructor from a compile-time string | |
void | runtimeInit (const char *string, short length=-1) |
bool | operator== (const Descriptor &other) const |
bool | operator< (const Descriptor &other) const |
bool | operator!= (const Descriptor &other) const |
template<typename T > | |
bool | operator== (const T *) const =delete |
template<typename T > | |
bool | operator!= (const T *) const =delete |
template<typename T > | |
std::enable_if_t< std::is_same< T, std::string >::value==true, T > | as () const |
get the descriptor as std::string | |
Public Attributes | ||
union { | ||
char str [N] | ||
ItgType itg [arraySize] | ||
}; | ||
Static Public Attributes | |
static int constexpr | size = N |
static int constexpr | bitcount = size * 8 |
static constexpr int | arraySize = internal::ArraySize<uint64_t, size>() |
Friends | |
bool | operator== (const Descriptor &lhs, ImplicitConversion rhs) |
generic descriptor class faturing the union of a char and a uint element of the same size this is currently working only for up to 8 bytes aka uint64_t, the general solution is working also for multiples of 64 bit, but then the itg member needs to be an array for all. This has not been enabled yet, first the implications have to be studied.
Definition at line 207 of file DataHeader.h.
using o2::header::Descriptor< N >::ImplicitConversion = std::conditional_t<(size <= 8), ItgType, std::string_view> |
Definition at line 227 of file DataHeader.h.
using o2::header::Descriptor< N >::ItgType = typename internal::TraitsIntType<N>::Type |
Definition at line 214 of file DataHeader.h.
using o2::header::Descriptor< N >::self_type = Descriptor<N> |
Definition at line 210 of file DataHeader.h.
|
inlineconstexpr |
Definition at line 220 of file DataHeader.h.
|
inlineconstexpr |
Definition at line 221 of file DataHeader.h.
|
constexprdefault |
|
inlineconstexpr |
constructor from a compile-time string
Definition at line 246 of file DataHeader.h.
|
inline |
get the descriptor as std::string
Definition at line 301 of file DataHeader.h.
|
inline |
Definition at line 231 of file DataHeader.h.
|
inline |
Definition at line 287 of file DataHeader.h.
|
delete |
|
inline |
Definition at line 286 of file DataHeader.h.
|
default |
|
inline |
Definition at line 285 of file DataHeader.h.
|
delete |
|
inline |
Init descriptor from string at runtime In contrast to all other functions which are fixed at compile time, this is available at runtime and must be used with care
Note: no assignment operator operator=(const char*) as this potentially runs into trouble with this general pointer type.
Definition at line 261 of file DataHeader.h.
|
friend |
Definition at line 290 of file DataHeader.h.
union { ... } o2::header::Descriptor< N > |
|
staticconstexpr |
Definition at line 213 of file DataHeader.h.
|
staticconstexpr |
Definition at line 212 of file DataHeader.h.
ItgType o2::header::Descriptor< N >::itg[arraySize] |
Definition at line 218 of file DataHeader.h.
|
staticconstexpr |
Definition at line 211 of file DataHeader.h.
char o2::header::Descriptor< N >::str[N] |
Definition at line 217 of file DataHeader.h.