19 std::shared_ptr<ROOT::Internal::RDF::RVariationBase> variation,
unsigned int nSlots)
20 : fVariation(std::move(variation)), fReadersPerVariation(nSlots)
29 const std::string &variationName)
34 auto &varReaders = fReadersPerVariation[slot];
36 auto it = varReaders.find(variationName);
37 if (it != varReaders.end())
40#if !defined(__clang__) && __GNUC__ >= 7 && __GNUC_MINOR__ >= 3
41 const auto insertion = varReaders.insert({variationName, std::make_unique<ROOT::Internal::RDF::RVariationReader>(
42 slot, colName, variationName, *fVariation)});
43 return *insertion.first->second;
46 auto reader = std::make_unique<ROOT::Internal::RDF::RVariationReader>(slot, colName, variationName, *fVariation);
48 varReaders[variationName] = std::move(reader);
Column reader that reads the value for a specific column, variation and slot.
RVariationReader & GetReader(unsigned int slot, const std::string &colName, const std::string &variationName)
Return a column reader for the given slot, column and variation.
RVariationsWithReaders(std::shared_ptr< RVariationBase > variation, unsigned int nSlots)
std::shared_ptr< RVariationBase > fVariation
bool IsStrInVec(const std::string &str, const std::vector< std::string > &vec)