GRSISort "v4.0.0.5"
An extension of the ROOT analysis Framework
Loading...
Searching...
No Matches
TDataFrameLibrary.h
Go to the documentation of this file.
1#ifndef TDATAFRAMELIBRARY_H
2#define TDATAFRAMELIBRARY_H
3#include "RVersion.h"
4#if ROOT_VERSION_CODE >= ROOT_VERSION(6, 14, 0)
5
6#include <string>
7
8#include "TList.h"
9
10#include "TSingleton.h"
11#include "TGRSIHelper.h"
12
13class TDataFrameLibrary : public TSingleton<TDataFrameLibrary> {
14public:
15 friend class TSingleton<TDataFrameLibrary>;
16
18
19 void Load(); ///< if necessary loads shared object library and sets/initializes all other functions
20
22 {
23 /// function to open library specific data parser
24 Load();
25 return fCreateHelper(list);
26 }
28 {
29 /// function to destroy library specific data parser
30 Load();
31 fDestroyHelper(parser);
32 }
33
34private:
35 TDataFrameLibrary() = default;
40
41 static void Compile(std::string& path, const size_t& dot, const size_t& slash);
42
43 void* fHandle{nullptr}; ///< handle for shared object library
44
45 TGRSIHelper* (*fCreateHelper)(TList*);
47
48 /// \cond CLASSIMP
49 ClassDefOverride(TDataFrameLibrary, 1) // NOLINT(readability-else-after-return)
50 /// \endcond
51};
52
53#endif
54#endif
TDataFrameLibrary(const TDataFrameLibrary &)=default
TDataFrameLibrary & operator=(TDataFrameLibrary &&)=default
TGRSIHelper * CreateHelper(TList *list)
void DestroyHelper(TGRSIHelper *parser)
static void Compile(std::string &path, const size_t &dot, const size_t &slash)
TDataFrameLibrary()=default
TDataFrameLibrary(TDataFrameLibrary &&)=default
void * fHandle
handle for shared object library
TGRSIHelper *(* fCreateHelper)(TList *)
void Load()
if necessary loads shared object library and sets/initializes all other functions
void(* fDestroyHelper)(TGRSIHelper *)
TDataFrameLibrary & operator=(const TDataFrameLibrary &)=default