![]() |
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 (std::string_view string) |
| void | runtimeInit (const char *string) |
| compatibility version for null-terminated strings | |
| void | runtimeInit (const char *buffer, size_t length) |
| compatibility version for explicit length | |
| 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 > requires (std::same_as<T, std::string>) | |
| 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 206 of file DataHeader.h.
| using o2::header::Descriptor< N >::ImplicitConversion = std::conditional_t<(size <= 8), ItgType, std::string_view> |
Definition at line 226 of file DataHeader.h.
| using o2::header::Descriptor< N >::ItgType = typename internal::TraitsIntType<N>::Type |
Definition at line 213 of file DataHeader.h.
| using o2::header::Descriptor< N >::self_type = Descriptor<N> |
Definition at line 209 of file DataHeader.h.
|
inlineconstexpr |
Definition at line 219 of file DataHeader.h.
|
inlineconstexpr |
Definition at line 220 of file DataHeader.h.
|
constexprdefault |
|
inlineconstexpr |
constructor from a compile-time string
Definition at line 245 of file DataHeader.h.
|
inline |
get the descriptor as std::string
Definition at line 304 of file DataHeader.h.
|
inline |
Definition at line 230 of file DataHeader.h.
|
inline |
Definition at line 289 of file DataHeader.h.
|
delete |
|
inline |
Definition at line 288 of file DataHeader.h.
|
default |
|
inline |
Definition at line 287 of file DataHeader.h.
|
delete |
|
inline |
compatibility version for explicit length
Definition at line 282 of file DataHeader.h.
|
inline |
compatibility version for null-terminated strings
Definition at line 276 of file DataHeader.h.
|
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 260 of file DataHeader.h.
|
friend |
Definition at line 292 of file DataHeader.h.
| union { ... } o2::header::Descriptor< N > |
|
staticconstexpr |
Definition at line 212 of file DataHeader.h.
|
staticconstexpr |
Definition at line 211 of file DataHeader.h.
| ItgType o2::header::Descriptor< N >::itg[arraySize] |
Definition at line 217 of file DataHeader.h.
|
staticconstexpr |
Definition at line 210 of file DataHeader.h.
| char o2::header::Descriptor< N >::str[N] |
Definition at line 216 of file DataHeader.h.