Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RColumnElementLE< CppT > Class Template Reference

template<typename CppT>
class ROOT::Experimental::Internal::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 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.
 
RColumnElementBaseoperator= (const RColumnElementBase &other)=delete
 
RColumnElementBaseoperator= (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< RColumnElementBaseGenerate (EColumnType type)
 If CppT == void, use the default C++ type for the given column type.
 
template<>
std::unique_ptr< RColumnElementBaseGenerate (EColumnType type)
 
template<>
std::unique_ptr< ROOT::Experimental::Internal::RColumnElementBaseGenerate (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>

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

Constructor & Destructor Documentation

◆ RColumnElementLE()

template<typename CppT >
ROOT::Experimental::Internal::RColumnElementLE< CppT >::RColumnElementLE ( std::size_t  size,
std::size_t  bitsOnStorage 
)
inlineexplicitprotected

Definition at line 320 of file RColumnElement.hxx.

Member Function Documentation

◆ Pack()

template<typename CppT >
void ROOT::Experimental::Internal::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::Internal::RColumnElementBase.

Definition at line 325 of file RColumnElement.hxx.

◆ Unpack()

template<typename CppT >
void ROOT::Experimental::Internal::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::Internal::RColumnElementBase.

Definition at line 333 of file RColumnElement.hxx.

Member Data Documentation

◆ kIsMappable

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

Definition at line 323 of file RColumnElement.hxx.

  • tree/ntuple/v7/inc/ROOT/RColumnElement.hxx