11 #ifndef ROOT_RDATASOURCE 12 #define ROOT_RDATASOURCE 50 const auto typedPtr =
static_cast<T *
>(
fPointer);
104 virtual void SetNSlots(
unsigned int nSlots) = 0;
109 virtual const std::vector<std::string> &GetColumnNames()
const = 0;
129 template <
typename T>
132 auto typeErasedVec = GetColumnReadersImpl(columnName,
typeid(
T));
133 std::vector<T **> typedVec(typeErasedVec.size());
134 std::transform(typeErasedVec.begin(), typeErasedVec.end(), typedVec.begin(),
135 [](
void *p) {
return static_cast<T **
>(p); });
144 virtual std::vector<std::pair<ULong64_t, ULong64_t>> GetEntryRanges() = 0;
154 virtual bool SetEntry(
unsigned int slot,
ULong64_t entry) = 0;
195 #endif // ROOT_TDATASOURCE Namespace for new ROOT classes and functions.
virtual void Initialise()
Convenience method called before starting an event-loop.
TTypedPointerHolder(T *ptr)
virtual ~TPointerHolder()
virtual TPointerHolder * GetDeepCopy()=0
TPointerHolder(void *ptr)
virtual void InitSlot(unsigned int, ULong64_t)
Convenience method called at the start of the data processing associated to a slot.
std::vector< void * > Record_t
unsigned long long ULong64_t
basic_string_view< char > string_view
Class to wrap a pointer and delete the memory associated to it correctly.
typedef void((*Func_t)())
std::vector< T ** > GetColumnReaders(std::string_view columnName)
Called at most once per column by RDF.
virtual void FinaliseSlot(unsigned int)
Convenience method called at the end of the data processing associated to a slot. ...
Mother class of TTypedPointerHolder.
virtual TPointerHolder * GetDeepCopy()
RDataSource defines an API that RDataFrame can use to read arbitrary data formats.
virtual void Finalise()
Convenience method called after concluding an event-loop.