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

template<typename CppT, typename NarrowT>
class ROOT::Experimental::Internal::RColumnElementCastLE< CppT, NarrowT >

Base class for columns storing elements of wider in-memory types, such as 64bit in-memory offsets to Index32 columns.

Definition at line 348 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 = false
 

Protected Member Functions

 RColumnElementCastLE (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::RColumnElementCastLE< CppT, NarrowT >:
[legend]

Constructor & Destructor Documentation

◆ RColumnElementCastLE()

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

Definition at line 350 of file RColumnElement.hxx.

Member Function Documentation

◆ Pack()

template<typename CppT , typename NarrowT >
void ROOT::Experimental::Internal::RColumnElementCastLE< CppT, NarrowT >::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 357 of file RColumnElement.hxx.

◆ Unpack()

template<typename CppT , typename NarrowT >
void ROOT::Experimental::Internal::RColumnElementCastLE< CppT, NarrowT >::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 358 of file RColumnElement.hxx.

Member Data Documentation

◆ kIsMappable

template<typename CppT , typename NarrowT >
constexpr bool ROOT::Experimental::Internal::RColumnElementCastLE< CppT, NarrowT >::kIsMappable = false
staticconstexpr

Definition at line 355 of file RColumnElement.hxx.

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