Definition at line 138 of file RColumnElement.hxx.
Public Member Functions | |
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 |
std::size_t | GetPackedSize (std::size_t nElements) 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... | |
Static Public Member Functions | |
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. More... | |
template<> | |
std::unique_ptr< RColumnElementBase > | Generate (EColumnType type) |
template<> | |
std::unique_ptr< ROOT::Experimental::Detail::RColumnElementBase > | Generate (EColumnType type) |
static std::size_t | GetBitsOnStorage (EColumnType type) |
static std::string | GetTypeName (EColumnType type) |
Protected Attributes | |
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>
|
inline |
Definition at line 146 of file RColumnElement.hxx.
|
inline |
Definition at line 150 of file RColumnElement.hxx.
|
inline |
Definition at line 152 of file RColumnElement.hxx.
|
default |
|
default |
|
virtualdefault |
|
static |
If CppT == void, use the default C++ type for the given column type.
Definition at line 575 of file RColumnElement.hxx.
|
static |
|
static |
Definition at line 1 of file RColumnElement.cxx.
|
inlinevirtual |
Reimplemented in ROOT::Experimental::Detail::RColumnElement< float, EColumnType::kReal32 >, ROOT::Experimental::Detail::RColumnElement< double, EColumnType::kReal64 >, ROOT::Experimental::Detail::RColumnElement< double, EColumnType::kSplitReal64 >, ROOT::Experimental::Detail::RColumnElement< ClusterSize_t, EColumnType::kIndex >, ROOT::Experimental::Detail::RColumnElement< RColumnSwitch, EColumnType::kSwitch >, ROOT::Experimental::Detail::RColumnElement< char, EColumnType::kByte >, ROOT::Experimental::Detail::RColumnElement< char, EColumnType::kChar >, and ROOT::Experimental::Detail::RColumnElement< bool, EColumnType::kBit >.
Definition at line 180 of file RColumnElement.hxx.
|
static |
Definition at line 64 of file RColumnElement.cxx.
|
inline |
Definition at line 196 of file RColumnElement.hxx.
|
inline |
Definition at line 194 of file RColumnElement.hxx.
|
inline |
Definition at line 195 of file RColumnElement.hxx.
|
static |
Definition at line 96 of file RColumnElement.cxx.
|
inlinevirtual |
Derived, typed classes tell whether the on-storage layout is bitwise identical to the memory layout.
Reimplemented in ROOT::Experimental::Detail::RColumnElement< float, EColumnType::kReal32 >, ROOT::Experimental::Detail::RColumnElement< double, EColumnType::kReal64 >, ROOT::Experimental::Detail::RColumnElement< double, EColumnType::kSplitReal64 >, ROOT::Experimental::Detail::RColumnElement< ClusterSize_t, EColumnType::kIndex >, ROOT::Experimental::Detail::RColumnElement< RColumnSwitch, EColumnType::kSwitch >, ROOT::Experimental::Detail::RColumnElement< char, EColumnType::kByte >, ROOT::Experimental::Detail::RColumnElement< char, EColumnType::kChar >, and ROOT::Experimental::Detail::RColumnElement< bool, EColumnType::kBit >.
Definition at line 179 of file RColumnElement.hxx.
|
delete |
|
default |
|
inlinevirtual |
If the on-storage layout and the in-memory layout differ, packing creates an on-disk page from an in-memory page.
Reimplemented in ROOT::Experimental::Detail::RColumnElementLE< CppT >, ROOT::Experimental::Detail::RColumnElementLE< ClusterSize_t::ValueType >, ROOT::Experimental::Detail::RColumnElementLE< double >, ROOT::Experimental::Detail::RColumnElementLE< float >, ROOT::Experimental::Detail::RColumnElementLE< std::int16_t >, ROOT::Experimental::Detail::RColumnElementLE< std::int32_t >, ROOT::Experimental::Detail::RColumnElementLE< std::int64_t >, ROOT::Experimental::Detail::RColumnElementLE< std::uint16_t >, ROOT::Experimental::Detail::RColumnElementLE< std::uint32_t >, ROOT::Experimental::Detail::RColumnElementLE< std::uint64_t >, ROOT::Experimental::Detail::RColumnElementSplitLE< CppT >, ROOT::Experimental::Detail::RColumnElementSplitLE< double >, ROOT::Experimental::Detail::RColumnElement< RColumnSwitch, EColumnType::kSwitch >, and ROOT::Experimental::Detail::RColumnElement< bool, EColumnType::kBit >.
Definition at line 183 of file RColumnElement.hxx.
|
inline |
Set the column element or an array of elements from the memory location source.
Definition at line 174 of file RColumnElement.hxx.
|
inlinevirtual |
If the on-storage layout and the in-memory layout differ, unpacking creates a memory page from an on-storage page.
Reimplemented in ROOT::Experimental::Detail::RColumnElementLE< CppT >, ROOT::Experimental::Detail::RColumnElementLE< ClusterSize_t::ValueType >, ROOT::Experimental::Detail::RColumnElementLE< double >, ROOT::Experimental::Detail::RColumnElementLE< float >, ROOT::Experimental::Detail::RColumnElementLE< std::int16_t >, ROOT::Experimental::Detail::RColumnElementLE< std::int32_t >, ROOT::Experimental::Detail::RColumnElementLE< std::int64_t >, ROOT::Experimental::Detail::RColumnElementLE< std::uint16_t >, ROOT::Experimental::Detail::RColumnElementLE< std::uint32_t >, ROOT::Experimental::Detail::RColumnElementLE< std::uint64_t >, ROOT::Experimental::Detail::RColumnElementSplitLE< CppT >, ROOT::Experimental::Detail::RColumnElementSplitLE< double >, ROOT::Experimental::Detail::RColumnElement< RColumnSwitch, EColumnType::kSwitch >, and ROOT::Experimental::Detail::RColumnElement< bool, EColumnType::kBit >.
Definition at line 189 of file RColumnElement.hxx.
|
inline |
Write one or multiple column elements into destination.
Definition at line 169 of file RColumnElement.hxx.
|
protected |
Points to valid C++ data, either a single value or an array of values.
Definition at line 141 of file RColumnElement.hxx.
|
protected |
Size of the C++ value pointed to by fRawContent (not necessarily equal to the on-disk element size)
Definition at line 143 of file RColumnElement.hxx.