Logo ROOT  
Reference Guide
ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > > Class Template Reference

template<typename Helper, typename PrevDataFrame, typename ColumnTypes_t>
class ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >

A common template base class for all RActions.

Avoids code repetition for specializations of RActions for different helpers, implementing all of the common logic.

Definition at line 102 of file RAction.hxx.

Public Types

using TypeInd_t = std::make_index_sequence< ColumnTypes_t::list_size >
 

Public Member Functions

 RActionCRTP (const RActionCRTP &)=delete
 
 RActionCRTP (Helper &&h, const ColumnNames_t &columns, std::shared_ptr< PrevDataFrame > pd, RBookedCustomColumns &&customColumns)
 
 ~RActionCRTP ()
 
void ClearValueReaders (unsigned int slot)
 
void Finalize () final
 
void FinalizeSlot (unsigned int slot) final
 
std::shared_ptr< RDFGraphDrawing::GraphNodeGetGraph ()
 
Helper & GetHelper ()
 
void Initialize () final
 
void InitSlot (TTreeReader *r, unsigned int slot) final
 
RActionCRTPoperator= (const RActionCRTP &)=delete
 
voidPartialUpdate (unsigned int slot) final
 This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback. More...
 
void Run (unsigned int slot, Long64_t entry) final
 
void TriggerChildrenCount () final
 
- Public Member Functions inherited from ROOT::Internal::RDF::RActionBase
 RActionBase (const RActionBase &)=delete
 
 RActionBase (RLoopManager *lm, const ColumnNames_t &colNames, RBookedCustomColumns &&customColumns)
 
virtual ~RActionBase ()
 
virtual void ClearValueReaders (unsigned int slot)=0
 
virtual void Finalize ()=0
 
virtual void FinalizeSlot (unsigned int)=0
 
const ColumnNames_tGetColumnNames () const
 
RBookedCustomColumnsGetCustomColumns ()
 
virtual std::shared_ptr< ROOT::Internal::RDF::GraphDrawing::GraphNodeGetGraph ()=0
 
RLoopManagerGetLoopManager ()
 
unsigned int GetNSlots () const
 
virtual bool HasRun () const
 
virtual void Initialize ()=0
 
virtual void InitSlot (TTreeReader *r, unsigned int slot)=0
 
RActionBaseoperator= (const RActionBase &)=delete
 
virtual voidPartialUpdate (unsigned int slot)=0
 This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback. More...
 
virtual void Run (unsigned int slot, Long64_t entry)=0
 
virtual void SetHasRun ()
 
virtual void TriggerChildrenCount ()=0
 

Protected Attributes

std::array< bool, ColumnTypes_t::list_size > fIsCustomColumn
 The nth flag signals whether the nth input column is a custom column or not. More...
 
- Protected Attributes inherited from ROOT::Internal::RDF::RActionBase
RLoopManagerfLoopManager
 A raw pointer to the RLoopManager at the root of this functional graph. More...
 

Private Types

using Action_t = RAction< Helper, PrevDataFrame, ColumnTypes_t >
 

Private Member Functions

voidPartialUpdateImpl (...)
 
template<typename H = Helper>
auto PartialUpdateImpl (unsigned int slot) -> decltype(std::declval< H >().PartialUpdate(slot),(void *)(nullptr))
 

Private Attributes

Helper fHelper
 
PrevDataFrame & fPrevData
 
const std::shared_ptr< PrevDataFrame > fPrevDataPtr
 

#include <ROOT/RDF/RAction.hxx>

Inheritance diagram for ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >:
[legend]

Member Typedef Documentation

◆ Action_t

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
using ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::Action_t = RAction<Helper, PrevDataFrame, ColumnTypes_t>
private

Definition at line 103 of file RAction.hxx.

◆ TypeInd_t

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
using ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::TypeInd_t = std::make_index_sequence<ColumnTypes_t::list_size>

Definition at line 114 of file RAction.hxx.

Constructor & Destructor Documentation

◆ RActionCRTP() [1/2]

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::RActionCRTP ( Helper &&  h,
const ColumnNames_t columns,
std::shared_ptr< PrevDataFrame >  pd,
RBookedCustomColumns &&  customColumns 
)
inline

Definition at line 116 of file RAction.hxx.

◆ RActionCRTP() [2/2]

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::RActionCRTP ( const RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > > &  )
delete

◆ ~RActionCRTP()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::~RActionCRTP ( )
inline

Definition at line 131 of file RAction.hxx.

Member Function Documentation

◆ ClearValueReaders()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::ClearValueReaders ( unsigned int  slot)
inlinevirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 163 of file RAction.hxx.

◆ Finalize()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::Finalize ( )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 165 of file RAction.hxx.

◆ FinalizeSlot()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::FinalizeSlot ( unsigned int  slot)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 154 of file RAction.hxx.

◆ GetGraph()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
std::shared_ptr< RDFGraphDrawing::GraphNode > ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::GetGraph ( )
inlinevirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 171 of file RAction.hxx.

◆ GetHelper()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
Helper & ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::GetHelper ( )
inline

Definition at line 133 of file RAction.hxx.

◆ Initialize()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::Initialize ( )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 135 of file RAction.hxx.

◆ InitSlot()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::InitSlot ( TTreeReader r,
unsigned int  slot 
)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 137 of file RAction.hxx.

◆ operator=()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
RActionCRTP & ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::operator= ( const RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > > &  )
delete

◆ PartialUpdate()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void * ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::PartialUpdate ( unsigned int  slot)
inlinefinalvirtual

This method is invoked to update a partial result during the event loop, right before passing the result to a user-defined callback registered via RResultPtr::RegisterCallback.

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 200 of file RAction.hxx.

◆ PartialUpdateImpl() [1/2]

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void * ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::PartialUpdateImpl (   ...)
inlineprivate

Definition at line 212 of file RAction.hxx.

◆ PartialUpdateImpl() [2/2]

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
template<typename H = Helper>
auto ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::PartialUpdateImpl ( unsigned int  slot) -> decltype(std::declval<H>().PartialUpdate(slot), (void *)(nullptr))
inlineprivate

Definition at line 206 of file RAction.hxx.

◆ Run()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::Run ( unsigned int  slot,
Long64_t  entry 
)
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 145 of file RAction.hxx.

◆ TriggerChildrenCount()

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
void ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::TriggerChildrenCount ( )
inlinefinalvirtual

Implements ROOT::Internal::RDF::RActionBase.

Definition at line 152 of file RAction.hxx.

Member Data Documentation

◆ fHelper

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
Helper ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::fHelper
private

Definition at line 105 of file RAction.hxx.

◆ fIsCustomColumn

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
std::array<bool, ColumnTypes_t::list_size> ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::fIsCustomColumn
protected

The nth flag signals whether the nth input column is a custom column or not.

Definition at line 111 of file RAction.hxx.

◆ fPrevData

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
PrevDataFrame& ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::fPrevData
private

Definition at line 107 of file RAction.hxx.

◆ fPrevDataPtr

template<typename Helper , typename PrevDataFrame , typename ColumnTypes_t >
const std::shared_ptr<PrevDataFrame> ROOT::Internal::RDF::RActionCRTP< RAction< Helper, PrevDataFrame, ColumnTypes_t > >::fPrevDataPtr
private

Definition at line 106 of file RAction.hxx.

[legend]

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