Logo ROOT  
Reference Guide
ROOT::Experimental::Detail::RColumnElementLE< CppT > Class Template Reference

template<typename CppT>
class ROOT::Experimental::Detail::RColumnElementLE< CppT >

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 140 of file RColumnElement.hxx.

Public Member Functions

 RColumnElementLE (void *rawContent, std::size_t size)
 
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. More...
 
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. More...
 
- 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
 
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...
 
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. 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 Attributes

static constexpr bool kIsMappable = ( 0 == 1)
 

Additional Inherited Members

- Static Public Member Functions inherited from ROOT::Experimental::Detail::RColumnElementBase
static std::unique_ptr< RColumnElementBaseGenerate (EColumnType type)
 
static std::size_t GetBitsOnStorage (EColumnType type)
 
static std::string GetTypeName (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>

Inheritance diagram for ROOT::Experimental::Detail::RColumnElementLE< CppT >:
[legend]

Constructor & Destructor Documentation

◆ RColumnElementLE()

template<typename CppT >
ROOT::Experimental::Detail::RColumnElementLE< CppT >::RColumnElementLE ( void *  rawContent,
std::size_t  size 
)
inline

Definition at line 143 of file RColumnElement.hxx.

Member Function Documentation

◆ Pack()

template<typename CppT >
void ROOT::Experimental::Detail::RColumnElementLE< CppT >::Pack ( void *  destination,
void *  source,
std::size_t  count 
) const
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::Detail::RColumnElementBase.

Definition at line 145 of file RColumnElement.hxx.

◆ Unpack()

template<typename CppT >
void ROOT::Experimental::Detail::RColumnElementLE< CppT >::Unpack ( void *  destination,
void *  source,
std::size_t  count 
) const
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::Detail::RColumnElementBase.

Definition at line 153 of file RColumnElement.hxx.

Member Data Documentation

◆ kIsMappable

template<typename CppT >
constexpr bool ROOT::Experimental::Detail::RColumnElementLE< CppT >::kIsMappable = ( 0 == 1)
staticconstexpr

Definition at line 142 of file RColumnElement.hxx.


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