File indexing completed on 2025-09-17 09:14:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROOT_RNTupleImtTaskScheduler
0017 #define ROOT_RNTupleImtTaskScheduler
0018
0019 #ifdef R__USE_IMT
0020
0021 #include <ROOT/RPageStorage.hxx>
0022 #include <ROOT/TTaskGroup.hxx>
0023
0024 #include <functional>
0025 #include <utility>
0026
0027 namespace ROOT {
0028 namespace Experimental {
0029
0030 namespace Internal {
0031
0032 class RNTupleImtTaskScheduler : public ROOT::Internal::RPageStorage::RTaskScheduler {
0033 private:
0034 TTaskGroup fTaskGroup;
0035
0036 public:
0037 RNTupleImtTaskScheduler() = default;
0038 ~RNTupleImtTaskScheduler() override = default;
0039 void AddTask(const std::function<void(void)> &taskFunc) final { fTaskGroup.Run(taskFunc); }
0040 void Wait() final { fTaskGroup.Wait(); }
0041 };
0042
0043 }
0044 }
0045 }
0046
0047 #endif
0048 #endif