Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Detail::RDF::RJittedDefine Class Reference

A wrapper around a concrete RDefine, which forwards all calls to it RJittedDefine is a placeholder that is put in the collection of custom columns in place of a RDefine that will be just-in-time compiled.

Jitted code will assign the concrete RDefine to this RJittedDefine before the event-loop starts.

Definition at line 31 of file RJittedDefine.hxx.

Public Member Functions

 RJittedDefine (std::string_view name, std::string_view type, unsigned int nSlots, const std::map< std::string, std::vector< void * > > &DSValuePtrs)
 
void FinaliseSlot (unsigned int slot) final
 Clean-up operations to be performed at the end of a task.
 
const std::type_info & GetTypeId () const final
 
voidGetValuePtr (unsigned int slot) final
 Return the (type-erased) address of the Define'd value for the given processing slot.
 
void InitSlot (TTreeReader *r, unsigned int slot) final
 
void SetDefine (std::unique_ptr< RDefineBase > c)
 
void Update (unsigned int slot, Long64_t entry) final
 Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.
 
- Public Member Functions inherited from ROOT::Detail::RDF::RDefineBase
 RDefineBase (std::string_view name, std::string_view type, unsigned int nSlots, const RDFInternal::RBookedDefines &defines, const std::map< std::string, std::vector< void * > > &DSValuePtrs, ROOT::RDF::RDataSource *ds)
 
virtual ~RDefineBase ()
 
unsigned int GetID () const
 Return the unique identifier of this RDefineBase.
 
std::string GetName () const
 
std::string GetTypeName () const
 
RDefineBaseoperator= (const RDefineBase &)=delete
 
RDefineBaseoperator= (RDefineBase &&)=delete
 

Private Attributes

std::unique_ptr< RDefineBasefConcreteDefine = nullptr
 

Additional Inherited Members

- Static Protected Member Functions inherited from ROOT::Detail::RDF::RDefineBase
static unsigned int GetNextID ()
 
- Protected Attributes inherited from ROOT::Detail::RDF::RDefineBase
ROOT::RDF::RDataSourcefDataSource
 non-owning ptr to the RDataSource, if any. Used to retrieve column readers.
 
RDFInternal::RBookedDefines fDefines
 
const std::map< std::string, std::vector< void * > > & fDSValuePtrs
 
const unsigned int fID = GetNextID()
 A unique ID that identifies this custom column.
 
std::deque< boolfIsInitialized
 
std::vector< Long64_tfLastCheckedEntry
 
const std::string fName
 The name of the custom column.
 
unsigned int fNChildren {0}
 number of nodes of the functional graph hanging from this object
 
const unsigned int fNSlots
 number of thread slots used by this node, inherited from parent node.
 
unsigned int fNStopsReceived {0}
 number of times that a children node signaled to stop processing entries.
 
const std::string fType
 The type of the custom column as a text string.
 

#include <ROOT/RDF/RJittedDefine.hxx>

Inheritance diagram for ROOT::Detail::RDF::RJittedDefine:
[legend]

Constructor & Destructor Documentation

◆ RJittedDefine()

ROOT::Detail::RDF::RJittedDefine::RJittedDefine ( std::string_view  name,
std::string_view  type,
unsigned int  nSlots,
const std::map< std::string, std::vector< void * > > &  DSValuePtrs 
)
inline

Definition at line 35 of file RJittedDefine.hxx.

Member Function Documentation

◆ FinaliseSlot()

void RJittedDefine::FinaliseSlot ( unsigned int  slot)
finalvirtual

Clean-up operations to be performed at the end of a task.

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 40 of file RJittedDefine.cxx.

◆ GetTypeId()

const std::type_info & RJittedDefine::GetTypeId ( ) const
finalvirtual

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 28 of file RJittedDefine.cxx.

◆ GetValuePtr()

void * RJittedDefine::GetValuePtr ( unsigned int  slot)
finalvirtual

Return the (type-erased) address of the Define'd value for the given processing slot.

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 22 of file RJittedDefine.cxx.

◆ InitSlot()

void RJittedDefine::InitSlot ( TTreeReader r,
unsigned int  slot 
)
finalvirtual

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 16 of file RJittedDefine.cxx.

◆ SetDefine()

void ROOT::Detail::RDF::RJittedDefine::SetDefine ( std::unique_ptr< RDefineBase c)
inline

Definition at line 41 of file RJittedDefine.hxx.

◆ Update()

void RJittedDefine::Update ( unsigned int  slot,
Long64_t  entry 
)
finalvirtual

Update the value at the address returned by GetValuePtr with the content corresponding to the given entry.

Implements ROOT::Detail::RDF::RDefineBase.

Definition at line 34 of file RJittedDefine.cxx.

Member Data Documentation

◆ fConcreteDefine

std::unique_ptr<RDefineBase> ROOT::Detail::RDF::RJittedDefine::fConcreteDefine = nullptr
private

Definition at line 32 of file RJittedDefine.hxx.

Libraries for ROOT::Detail::RDF::RJittedDefine:

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