Logo ROOT  
Reference Guide
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. More...
 
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. More...
 
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. More...
 
- 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. More...
 
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. More...
 
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. More...
 
std::deque< boolfIsInitialized
 
std::vector< Long64_tfLastCheckedEntry
 
const std::string fName
 The name of the custom column. More...
 
unsigned int fNChildren {0}
 number of nodes of the functional graph hanging from this object More...
 
const unsigned int fNSlots
 number of thread slots used by this node, inherited from parent node. More...
 
unsigned int fNStopsReceived {0}
 number of times that a children node signaled to stop processing entries. More...
 
const std::string fType
 The type of the custom column as a text string. More...
 

#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:
[legend]

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