Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Detail::RColumnElementBase Class Reference

Definition at line 49 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
 
voidGetRawContent () 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.
 
RColumnElementBaseoperator= (const RColumnElementBase &other)=delete
 
RColumnElementBaseoperator= (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.
 
void ReadFrom (void *source, std::size_t count)
 Set the column element or an array of elements from the memory location source.
 
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.
 
void WriteTo (void *destination, std::size_t count) const
 Write one or multiple column elements into destination.
 

Static Public Member Functions

static std::unique_ptr< RColumnElementBaseGenerate (EColumnType type)
 
static std::size_t GetBitsOnStorage (EColumnType type)
 
static std::string GetTypeName (EColumnType type)
 

Protected Attributes

voidfRawContent
 Points to valid C++ data, either a single value or an array of values.
 
std::size_t fSize
 Size of the C++ value pointed to by fRawContent (not necessarily equal to the on-disk element size)
 

#include <ROOT/RColumnElement.hxx>

Inheritance diagram for ROOT::Experimental::Detail::RColumnElementBase:
[legend]

Constructor & Destructor Documentation

◆ RColumnElementBase() [1/5]

ROOT::Experimental::Detail::RColumnElementBase::RColumnElementBase ( )
inline

Definition at line 57 of file RColumnElement.hxx.

◆ RColumnElementBase() [2/5]

ROOT::Experimental::Detail::RColumnElementBase::RColumnElementBase ( void rawContent,
std::size_t  size 
)
inline

Definition at line 61 of file RColumnElement.hxx.

◆ RColumnElementBase() [3/5]

ROOT::Experimental::Detail::RColumnElementBase::RColumnElementBase ( const RColumnElementBase elemArray,
std::size_t  at 
)
inline

Definition at line 63 of file RColumnElement.hxx.

◆ RColumnElementBase() [4/5]

ROOT::Experimental::Detail::RColumnElementBase::RColumnElementBase ( const RColumnElementBase other)
default

◆ RColumnElementBase() [5/5]

ROOT::Experimental::Detail::RColumnElementBase::RColumnElementBase ( RColumnElementBase &&  other)
default

◆ ~RColumnElementBase()

virtual ROOT::Experimental::Detail::RColumnElementBase::~RColumnElementBase ( )
virtualdefault

Member Function Documentation

◆ Generate()

std::unique_ptr< ROOT::Experimental::Detail::RColumnElementBase > ROOT::Experimental::Detail::RColumnElementBase::Generate ( EColumnType  type)
static

Definition at line 27 of file RColumnElement.cxx.

◆ GetBitsOnStorage() [1/2]

◆ GetBitsOnStorage() [2/2]

std::size_t ROOT::Experimental::Detail::RColumnElementBase::GetBitsOnStorage ( EColumnType  type)
static

Definition at line 58 of file RColumnElement.cxx.

◆ GetPackedSize()

std::size_t ROOT::Experimental::Detail::RColumnElementBase::GetPackedSize ( std::size_t  nElements) const
inline

Definition at line 105 of file RColumnElement.hxx.

◆ GetRawContent()

void * ROOT::Experimental::Detail::RColumnElementBase::GetRawContent ( ) const
inline

Definition at line 103 of file RColumnElement.hxx.

◆ GetSize()

std::size_t ROOT::Experimental::Detail::RColumnElementBase::GetSize ( ) const
inline

Definition at line 104 of file RColumnElement.hxx.

◆ GetTypeName()

std::string ROOT::Experimental::Detail::RColumnElementBase::GetTypeName ( EColumnType  type)
static

Definition at line 89 of file RColumnElement.cxx.

◆ IsMappable()

◆ operator=() [1/2]

RColumnElementBase & ROOT::Experimental::Detail::RColumnElementBase::operator= ( const RColumnElementBase other)
delete

◆ operator=() [2/2]

RColumnElementBase & ROOT::Experimental::Detail::RColumnElementBase::operator= ( RColumnElementBase &&  other)
default

◆ Pack()

virtual void ROOT::Experimental::Detail::RColumnElementBase::Pack ( void destination,
void source,
std::size_t  count 
) const
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::RColumnElement< bool, EColumnType::kBit >.

Definition at line 92 of file RColumnElement.hxx.

◆ ReadFrom()

void ROOT::Experimental::Detail::RColumnElementBase::ReadFrom ( void source,
std::size_t  count 
)
inline

Set the column element or an array of elements from the memory location source.

Definition at line 83 of file RColumnElement.hxx.

◆ Unpack()

virtual void ROOT::Experimental::Detail::RColumnElementBase::Unpack ( void destination,
void source,
std::size_t  count 
) const
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::RColumnElement< bool, EColumnType::kBit >.

Definition at line 98 of file RColumnElement.hxx.

◆ WriteTo()

void ROOT::Experimental::Detail::RColumnElementBase::WriteTo ( void destination,
std::size_t  count 
) const
inline

Write one or multiple column elements into destination.

Definition at line 78 of file RColumnElement.hxx.

Member Data Documentation

◆ fRawContent

void* ROOT::Experimental::Detail::RColumnElementBase::fRawContent
protected

Points to valid C++ data, either a single value or an array of values.

Definition at line 52 of file RColumnElement.hxx.

◆ fSize

std::size_t ROOT::Experimental::Detail::RColumnElementBase::fSize
protected

Size of the C++ value pointed to by fRawContent (not necessarily equal to the on-disk element size)

Definition at line 54 of file RColumnElement.hxx.

Libraries for ROOT::Experimental::Detail::RColumnElementBase:

The documentation for this class was generated from the following files: