Pairs of C++ type and column type, like float and EColumnType::kReal32.
A column element points either to the content of an RFieldValue or into a memory mapped page.
The content pointed to by fRawContent can be a single element or the first element of an array. Usually the on-disk element should map bitwise to the in-memory element. Sometimes that's not the case though, for instance on big endian platforms and for exotic physical columns like 8 bit float.
This class does not provide protection around the raw pointer, fRawContent has to be managed correctly by the user of this class.
Definition at line 107 of file RColumnElement.hxx.
Public Member Functions | |
RColumnElement (CppT *value) | |
Public Member Functions inherited from ROOT::Experimental::Detail::RColumnElementBase | |
RColumnElementBase () | |
RColumnElementBase (const RColumnElementBase &elemArray, std::size_t at) | |
RColumnElementBase (const RColumnElementBase &other)=default | |
RColumnElementBase (RColumnElementBase &&other)=default | |
RColumnElementBase (void *rawContent, std::size_t size) | |
virtual | ~RColumnElementBase ()=default |
virtual std::size_t | GetBitsOnStorage () const |
void * | GetRawContent () const |
std::size_t | GetSize () const |
virtual bool | IsMappable () const |
Derived, typed classes tell whether the on-storage layout is bitwise identical to the memory layout. More... | |
RColumnElementBase & | operator= (const RColumnElementBase &other)=delete |
RColumnElementBase & | operator= (RColumnElementBase &&other)=default |
virtual void | Pack (void *destination, void *source, std::size_t count) const |
If the on-storage layout and the in-memory layout differ, packing creates an on-disk page from an in-memory page. More... | |
void | ReadFrom (void *source, std::size_t count) |
Set the column element or an array of elements from the memory location source. More... | |
virtual void | Unpack (void *destination, void *source, std::size_t count) const |
If the on-storage layout and the in-memory layout differ, unpacking creates a memory page from an on-storage page. More... | |
void | WriteTo (void *destination, std::size_t count) const |
Write one or multiple column elements into destination. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ROOT::Experimental::Detail::RColumnElementBase | |
static RColumnElementBase | Generate (EColumnType type) |
Protected Attributes inherited from ROOT::Experimental::Detail::RColumnElementBase | |
void * | fRawContent |
Points to valid C++ data, either a single value or an array of values. More... | |
std::size_t | fSize |
Size of the C++ value pointed to by fRawContent (not necessarily equal to the on-disk element size) More... | |
#include <ROOT/RColumnElement.hxx>
|
inlineexplicit |
Definition at line 109 of file RColumnElement.hxx.