Base class for columns whose on-storage representation is little-endian.
The implementation of Pack
and Unpack
takes care of byteswap if the memory page is big-endian.
Definition at line 318 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 = ( 0 == 1) |
Protected Member Functions | |
RColumnElementLE (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 320 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 325 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 333 of file RColumnElement.hxx.
|
staticconstexpr |
Definition at line 323 of file RColumnElement.hxx.