Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::RNTupleReader::RActiveEntryToken Class Reference

An active entry token is a pledge for the data of a certain entry number not to be evicted from the page cache or cluster cache.

An active entry token is linked to a specific reader through a control block shared by the reader and all tokens of that reader. Active entry tokens can be destructed before or after their reader is destructed. Once the corresponding reader is destructed, changing the entry number has no effect. Only the RNTuple reader can create an active entry token.

Definition at line 159 of file RNTupleReader.hxx.

Public Member Functions

 RActiveEntryToken (const RActiveEntryToken &other)
 RActiveEntryToken (RActiveEntryToken &&other)
 ~RActiveEntryToken ()
NTupleSize_t GetEntryNumber () const
RActiveEntryTokenoperator= (const RActiveEntryToken &other)
RActiveEntryTokenoperator= (RActiveEntryToken &&other)
void Reset ()
 Release the entry number, i.e.
void SetEntryNumber (NTupleSize_t entryNumber)
 Set or replace the entry number.

Private Member Functions

 RActiveEntryToken (std::shared_ptr< RActiveEntriesControlBlock > ptrControlBlock)
void ActivateEntry (NTupleSize_t entryNumber)
void DeactivateEntry (NTupleSize_t entryNumber)

Private Attributes

NTupleSize_t fEntryNumber = kInvalidNTupleIndex
std::shared_ptr< RActiveEntriesControlBlockfPtrControlBlock

Friends

class RNTupleReader

#include <ROOT/RNTupleReader.hxx>

Constructor & Destructor Documentation

◆ RActiveEntryToken() [1/3]

ROOT::RNTupleReader::RActiveEntryToken::RActiveEntryToken ( std::shared_ptr< RActiveEntriesControlBlock > ptrControlBlock)
inlineexplicitprivate

Definition at line 168 of file RNTupleReader.hxx.

◆ ~RActiveEntryToken()

ROOT::RNTupleReader::RActiveEntryToken::~RActiveEntryToken ( )
inline

Definition at line 174 of file RNTupleReader.hxx.

◆ RActiveEntryToken() [2/3]

ROOT::RNTupleReader::RActiveEntryToken::RActiveEntryToken ( const RActiveEntryToken & other)

Definition at line 82 of file RNTupleReader.cxx.

◆ RActiveEntryToken() [3/3]

ROOT::RNTupleReader::RActiveEntryToken::RActiveEntryToken ( RActiveEntryToken && other)

Definition at line 88 of file RNTupleReader.cxx.

Member Function Documentation

◆ ActivateEntry()

void ROOT::RNTupleReader::RActiveEntryToken::ActivateEntry ( NTupleSize_t entryNumber)
private

Definition at line 27 of file RNTupleReader.cxx.

◆ DeactivateEntry()

void ROOT::RNTupleReader::RActiveEntryToken::DeactivateEntry ( NTupleSize_t entryNumber)
private

Definition at line 39 of file RNTupleReader.cxx.

◆ GetEntryNumber()

NTupleSize_t ROOT::RNTupleReader::RActiveEntryToken::GetEntryNumber ( ) const
inline

Definition at line 180 of file RNTupleReader.hxx.

◆ operator=() [1/2]

ROOT::RNTupleReader::RActiveEntryToken & ROOT::RNTupleReader::RActiveEntryToken::operator= ( const RActiveEntryToken & other)

Definition at line 97 of file RNTupleReader.cxx.

◆ operator=() [2/2]

ROOT::RNTupleReader::RActiveEntryToken & ROOT::RNTupleReader::RActiveEntryToken::operator= ( RActiveEntryToken && other)

Definition at line 109 of file RNTupleReader.cxx.

◆ Reset()

void ROOT::RNTupleReader::RActiveEntryToken::Reset ( )

Release the entry number, i.e.

allow the corresponding data to be evicted from caches. Called implicitly on destruction.

Definition at line 70 of file RNTupleReader.cxx.

◆ SetEntryNumber()

void ROOT::RNTupleReader::RActiveEntryToken::SetEntryNumber ( NTupleSize_t entryNumber)

Set or replace the entry number.

If the entry number is replaced, the cluster corresponding to the new entry is pinned before the cluster of the old entry number is unpinned. SetEntryNumber() should be called before the corresponding entry is used (through LoadEntry() or views).

Definition at line 56 of file RNTupleReader.cxx.

◆ RNTupleReader

friend class RNTupleReader
friend

Definition at line 160 of file RNTupleReader.hxx.

Member Data Documentation

◆ fEntryNumber

NTupleSize_t ROOT::RNTupleReader::RActiveEntryToken::fEntryNumber = kInvalidNTupleIndex
private

Definition at line 163 of file RNTupleReader.hxx.

◆ fPtrControlBlock

std::shared_ptr<RActiveEntriesControlBlock> ROOT::RNTupleReader::RActiveEntryToken::fPtrControlBlock
private

Definition at line 162 of file RNTupleReader.hxx.


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