11#ifndef ROOT_RLAZYDSIMPL
12#define ROOT_RLAZYDSIMPL
44 std::tuple<RResultPtr<std::vector<ColumnTypes>>...>
fColumns;
63 std::string err =
"The specified column name, \"" +
colNameStr +
"\" is not known to the data source.";
64 throw std::runtime_error(err);
70 " while the id specified is associated to type " +
idName;
71 throw std::runtime_error(err);
87 template <std::size_t... S>
95 template <std::size_t... S>
107 "\" have different lengths: " + std::to_string(
expectedLen) +
" and " +
112 throw std::runtime_error(err);
147 const auto key = std::string(
colName);
153 const auto key = std::string(
colName);
unsigned long long ULong64_t
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
Class to wrap a pointer and delete the memory associated to it correctly.
RDataSource defines an API that RDataFrame can use to read arbitrary data formats.
std::vector< void * > Record_t
A RDataSource implementation which is built on top of result proxies.
const std::vector< std::string > fColNames
std::vector< PointerHolderPtrs_t > fPointerHolders
void SetNSlots(unsigned int nSlots) final
Inform RDataSource of the number of processing slots (i.e.
std::string GetLabel() final
Return a string representation of the datasource type.
std::vector< ROOT::Internal::TDS::TPointerHolder * > PointerHolderPtrs_t
const std::vector< std::string > & GetColumnNames() const final
Returns a reference to the collection of the dataset's column names.
std::string GetTypeName(std::string_view colName) const final
Type of a column as a string, e.g.
void SetEntryHelper(unsigned int slot, ULong64_t entry, std::index_sequence< S... >)
const PointerHolderPtrs_t fPointerHoldersModels
const std::map< std::string, std::string > fColTypesMap
void ColLengthChecker(std::index_sequence< S... >)
bool HasColumn(std::string_view colName) const final
Checks if the dataset has a certain column.
std::string AsString() final
void Initialize() final
Convenience method called before starting an event-loop.
std::vector< std::pair< ULong64_t, ULong64_t > > GetEntryRanges() final
Return ranges of entries to distribute to tasks.
size_t GetEntriesNumber()
RLazyDS(std::pair< std::string, RResultPtr< std::vector< ColumnTypes > > >... colsNameVals)
Record_t GetColumnReadersImpl(std::string_view colName, const std::type_info &id) final
type-erased vector of pointers to pointers to column values - one per slot
bool SetEntry(unsigned int slot, ULong64_t entry) final
Advance the "cursors" returned by GetColumnReaders to the selected entry for a particular slot.
std::tuple< RResultPtr< std::vector< ColumnTypes > >... > fColumns
std::vector< std::pair< ULong64_t, ULong64_t > > fEntryRanges
Smart pointer for the return type of actions.
const_iterator begin() const
const_iterator end() const
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...
TSeq< unsigned int > TSeqU