diff --git a/tree/dataframe/test/RStreamingDS.hxx b/tree/dataframe/test/RStreamingDS.hxx index 154a949989cad3f16ed3482b4de76ffb08203701..6316b425bd9492e87bffb7e1dd34beb654e7e51a 100644 --- a/tree/dataframe/test/RStreamingDS.hxx +++ b/tree/dataframe/test/RStreamingDS.hxx @@ -16,30 +16,29 @@ class RStreamingDS : public ROOT::RDF::RDataSource { const std::vector<std::string> fColumnNames = {"ans"}; public: - void SetNSlots(unsigned int nSlots) { fNSlots = nSlots; } - const std::vector<std::string> &GetColumnNames() const { return fColumnNames; } - bool HasColumn(std::string_view name) const { return std::string(name) == "ans" ? true : false; } - std::string GetTypeName(std::string_view) const { return "int"; } - std::vector<std::pair<ULong64_t, ULong64_t>> GetEntryRanges() + void SetNSlots(unsigned int nSlots) final { fNSlots = nSlots; } + const std::vector<std::string> &GetColumnNames() const final { return fColumnNames; } + bool HasColumn(std::string_view name) const final { return std::string(name) == "ans" ? true : false; } + std::string GetTypeName(std::string_view) const final { return "int"; } + std::vector<std::pair<ULong64_t, ULong64_t>> GetEntryRanges() final { std::this_thread::sleep_for(std::chrono::milliseconds(10)); // simulate some latency if (fCounter == 4) return {}; auto ranges = std::vector<std::pair<ULong64_t, ULong64_t>>(fNSlots); for (auto i = 0u; i < fNSlots; ++i) - ranges[i] = std::make_pair(fCounter*fNSlots + i, fCounter*fNSlots + i + 1); + ranges[i] = std::make_pair(fCounter * fNSlots + i, fCounter * fNSlots + i + 1); ++fCounter; return ranges; } - bool SetEntry(unsigned int, ULong64_t) {return true;} - void Initialise() { fCounter = 0; } + bool SetEntry(unsigned int, ULong64_t) final { return true; } + void Initialise() final { fCounter = 0; } - std::string GetDataSourceType() override { - return "Streaming"; - } + std::string GetDataSourceType() final { return "Streaming"; } protected: - std::vector<void *> GetColumnReadersImpl(std::string_view name, const std::type_info &t) { + std::vector<void *> GetColumnReadersImpl(std::string_view name, const std::type_info &t) final + { if (t != typeid(int) && std::string(name) != "ans") throw; return std::vector<void *>(fNSlots, &fAnsPtr);