11#ifndef ROOT_RDF_RRESULTHANDLE
12#define ROOT_RDF_RRESULTHANDLE
31 std::shared_ptr<ROOT::Internal::RDF::RActionBase>
fActionPtr;
56 throw std::runtime_error(ss.str());
74 return static_cast<T*
>(
Get());
84 return *
static_cast<T*
>(
Get());
The head node of a RDF computation graph.
void Run()
Start the event loop with a different mechanism depending on IMT/no IMT, data source/no data source.
bool operator!=(const RResultHandle &rhs) const
T * GetPtr()
Get the pointer to the encapsulated object.
std::shared_ptr< void > fObjPtr
Type erased shared pointer encapsulating the wrapped result.
ROOT::Detail::RDF::RLoopManager * fLoopManager
void * Get()
Get the pointer to the encapsulated result.
bool IsReady() const
Check whether the result has already been computed.
std::shared_ptr< ROOT::Internal::RDF::RActionBase > fActionPtr
Owning pointer to the action that will produce this result.
void CheckType(const std::type_info &type)
Compare given type to the type of the wrapped result and throw if the types don't match.
friend void RunGraphs(std::vector< RResultHandle >)
Trigger the event loop of multiple RDataFrames concurrently.
RResultHandle(const RResultPtr< T > &resultPtr)
RResultHandle(const RResultHandle &)=default
const T & GetValue()
Get a const reference to the encapsulated object.
const std::type_info & fType
Type of the wrapped result.
RResultHandle(RResultHandle &&)=default
bool operator==(const RResultHandle &rhs) const
Smart pointer for the return type of actions.
std::string TypeID2TypeName(const std::type_info &id)
Returns the name of a type starting from its type_info An empty string is returned in case of failure...
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...