Base class for delta + split columns (index columns) whose on-storage representation is little-endian.
The implementation of Pack
and Unpack
takes care of splitting and, if necessary, byteswap. As part of the encoding, can also narrow down the type to NarrowT.
Definition at line 386 of file RColumnElement.hxx.
Public Member Functions | |
void | Pack (void *dst, void *src, std::size_t count) const final |
If the on-storage layout and the in-memory layout differ, packing creates an on-disk page from an in-memory page. | |
void | Unpack (void *dst, void *src, std::size_t count) const final |
If the on-storage layout and the in-memory layout differ, unpacking creates a memory page from an on-storage page. | |
Public Member Functions inherited from ROOT::Experimental::Internal::RColumnElementBase | |
RColumnElementBase (const RColumnElementBase &other)=default | |
RColumnElementBase (RColumnElementBase &&other)=default | |
virtual | ~RColumnElementBase ()=default |
std::size_t | GetBitsOnStorage () const |
std::size_t | GetPackedSize (std::size_t nElements=1U) 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. | |
RColumnElementBase & | operator= (const RColumnElementBase &other)=delete |
RColumnElementBase & | operator= (RColumnElementBase &&other)=default |
Static Public Attributes | |
static constexpr bool | kIsMappable = false |
Protected Member Functions | |
RColumnElementDeltaSplitLE (std::size_t size, std::size_t bitsOnStorage) | |
Protected Member Functions inherited from ROOT::Experimental::Internal::RColumnElementBase | |
RColumnElementBase (std::size_t size, std::size_t bitsOnStorage=0) | |
Additional Inherited Members | |
Static Public Member Functions inherited from ROOT::Experimental::Internal::RColumnElementBase | |
template<typename CppT = void> | |
static std::unique_ptr< RColumnElementBase > | Generate (EColumnType type) |
If CppT == void, use the default C++ type for the given column type. | |
template<> | |
std::unique_ptr< RColumnElementBase > | Generate (EColumnType type) |
template<> | |
std::unique_ptr< ROOT::Experimental::Internal::RColumnElementBase > | Generate (EColumnType type) |
static std::size_t | GetBitsOnStorage (EColumnType type) |
static std::string | GetTypeName (EColumnType type) |
Protected Attributes inherited from ROOT::Experimental::Internal::RColumnElementBase | |
std::size_t | fBitsOnStorage |
std::size_t | fSize |
Size of the C++ value that corresponds to the on-disk element. | |
#include <ROOT/RColumnElement.hxx>
|
inlineexplicitprotected |
Definition at line 388 of file RColumnElement.hxx.
|
inlinefinalvirtual |
If the on-storage layout and the in-memory layout differ, packing creates an on-disk page from an in-memory page.
Reimplemented from ROOT::Experimental::Internal::RColumnElementBase.
Definition at line 396 of file RColumnElement.hxx.
|
inlinefinalvirtual |
If the on-storage layout and the in-memory layout differ, unpacking creates a memory page from an on-storage page.
Reimplemented from ROOT::Experimental::Internal::RColumnElementBase.
Definition at line 400 of file RColumnElement.hxx.
|
staticconstexpr |
Definition at line 394 of file RColumnElement.hxx.