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 160 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 169 of file RNTupleReader.hxx.

◆ ~RActiveEntryToken()

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

Definition at line 175 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 181 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.

Friends And Related Symbol Documentation

◆ RNTupleReader

friend class RNTupleReader
friend

Definition at line 161 of file RNTupleReader.hxx.

Member Data Documentation

◆ fEntryNumber

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

Definition at line 164 of file RNTupleReader.hxx.

◆ fPtrControlBlock

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

Definition at line 163 of file RNTupleReader.hxx.

Libraries for ROOT::RNTupleReader::RActiveEntryToken:

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