Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf Class Reference

A buffered column.

The column is not responsible for RPage memory management (i.e. ReservePage), which is handled by the enclosing RPageSinkBuf.

Definition at line 45 of file RPageSinkBuf.hxx.

Classes

struct  RPageZipItem
 

Public Member Functions

 RColumnBuf ()=default
 
 RColumnBuf (const RColumnBuf &)=delete
 
 RColumnBuf (RColumnBuf &&)=default
 
 ~RColumnBuf ()
 
RPageZipItemBufferPage (RPageStorage::ColumnHandle_t columnHandle)
 Returns a reference to the newly buffered page.
 
void DropBufferedPages ()
 
const RPageStorage::ColumnHandle_tGetHandle () const
 
const RPageStorage::SealedPageSequence_tGetSealedPages () const
 
bool HasSealedPagesOnly () const
 
bool IsEmpty () const
 
RColumnBufoperator= (const RColumnBuf &)=delete
 
RColumnBufoperator= (RColumnBuf &&)=default
 
RSealedPageRegisterSealedPage ()
 

Private Attributes

std::deque< RPageZipItemfBufferedPages
 Using a deque guarantees that element iterators are never invalidated by appends to the end of the iterator by BufferPage.
 
RPageStorage::ColumnHandle_t fCol
 
RPageStorage::SealedPageSequence_t fSealedPages
 Pages that have been already sealed by a concurrent task.
 

Constructor & Destructor Documentation

◆ RColumnBuf() [1/3]

ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::RColumnBuf ( )
default

◆ RColumnBuf() [2/3]

ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::RColumnBuf ( const RColumnBuf )
delete

◆ RColumnBuf() [3/3]

ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::RColumnBuf ( RColumnBuf &&  )
default

◆ ~RColumnBuf()

ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::~RColumnBuf ( )
inline

Definition at line 60 of file RPageSinkBuf.hxx.

Member Function Documentation

◆ BufferPage()

RPageZipItem & ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::BufferPage ( RPageStorage::ColumnHandle_t  columnHandle)
inline

Returns a reference to the newly buffered page.

The reference remains valid until DropBufferedPages().

Definition at line 64 of file RPageSinkBuf.hxx.

◆ DropBufferedPages()

void ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::DropBufferedPages ( )

Definition at line 26 of file RPageSinkBuf.cxx.

◆ GetHandle()

const RPageStorage::ColumnHandle_t & ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::GetHandle ( ) const
inline

Definition at line 73 of file RPageSinkBuf.hxx.

◆ GetSealedPages()

const RPageStorage::SealedPageSequence_t & ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::GetSealedPages ( ) const
inline

Definition at line 76 of file RPageSinkBuf.hxx.

◆ HasSealedPagesOnly()

bool ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::HasSealedPagesOnly ( ) const
inline

Definition at line 75 of file RPageSinkBuf.hxx.

◆ IsEmpty()

bool ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::IsEmpty ( ) const
inline

Definition at line 74 of file RPageSinkBuf.hxx.

◆ operator=() [1/2]

RColumnBuf & ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::operator= ( const RColumnBuf )
delete

◆ operator=() [2/2]

RColumnBuf & ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::operator= ( RColumnBuf &&  )
default

◆ RegisterSealedPage()

RSealedPage & ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::RegisterSealedPage ( )
inline

Definition at line 82 of file RPageSinkBuf.hxx.

Member Data Documentation

◆ fBufferedPages

std::deque<RPageZipItem> ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::fBufferedPages
private

Using a deque guarantees that element iterators are never invalidated by appends to the end of the iterator by BufferPage.

Definition at line 91 of file RPageSinkBuf.hxx.

◆ fCol

RPageStorage::ColumnHandle_t ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::fCol
private

Definition at line 88 of file RPageSinkBuf.hxx.

◆ fSealedPages

RPageStorage::SealedPageSequence_t ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf::fSealedPages
private

Pages that have been already sealed by a concurrent task.

A vector commit can be issued if all buffered pages have been sealed. Note that each RSealedPage refers to the same buffer as fBufferedPages[i].fBuf for some value of i, and thus owned by RPageZipItem

Definition at line 96 of file RPageSinkBuf.hxx.

Libraries for ROOT::Experimental::Internal::RPageSinkBuf::RColumnBuf:

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