Jpp 19.3.0-rc.3
the software that should make you happy
Loading...
Searching...
No Matches
JROOT::JActionAtFileOpen< T > Class Template Reference

Auxiliary class to handle version management of given class at opening of a ROOT file. More...

#include <JRootSupportkit.hh>

Inheritance diagram for JROOT::JActionAtFileOpen< T >:
JLANG::JTest

Static Public Member Functions

static void execute (TFile *file)
 Execute action.
 

Static Public Attributes

static const bool has_method = JTEST(test<T>(NULL))
 true if class has policy method actionAtFileOpen; else false
 

Static Private Member Functions

template<class U >
static JTrue test (JTypecheck< void(*)(int), &U::actionAtFileOpen > *)
 
static void execute (TFile *file, JBool< true > option)
 Execute action.
 
static void execute (TFile *file, JBool< false > option)
 Execute action.
 
static JFalse test (...)
 default false
 

Detailed Description

template<class T>
class JROOT::JActionAtFileOpen< T >

Auxiliary class to handle version management of given class at opening of a ROOT file.

Definition at line 31 of file JRootSupportkit.hh.

Member Function Documentation

◆ test() [1/2]

template<class T >
template<class U >
static JTrue JROOT::JActionAtFileOpen< T >::test ( JTypecheck< void(*  )(int), &U::actionAtFileOpen > *)
staticprivate

◆ execute() [1/3]

template<class T >
static void JROOT::JActionAtFileOpen< T >::execute ( TFile * file,
JBool< true > option )
inlinestaticprivate

Execute action.

This implementation transfers the action to the given class.

Parameters
filepointer to file
optiontrue

Definition at line 47 of file JRootSupportkit.hh.

48 {
49 T::actionAtFileOpen(getStreamerVersion(file, T::Class_Name()));
50 }
int getStreamerVersion(TFile *file, const char *const name)
Get ROOT streamer version of class with given name.

◆ execute() [2/3]

template<class T >
static void JROOT::JActionAtFileOpen< T >::execute ( TFile * file,
JBool< false > option )
inlinestaticprivate

Execute action.

This implementation does nothing.

Parameters
filepointer to file
optionfalse

Definition at line 61 of file JRootSupportkit.hh.

62 {}

◆ execute() [3/3]

template<class T >
static void JROOT::JActionAtFileOpen< T >::execute ( TFile * file)
inlinestatic

Execute action.

Parameters
filepointer to file

Definition at line 74 of file JRootSupportkit.hh.

75 {
76 execute(file, JBool<has_method>());
77 }
static void execute(TFile *file, JBool< true > option)
Execute action.

◆ test() [2/2]

template<class T >
static JFalse JLANG::JTest::test ( ...)
staticprivate

default false

Member Data Documentation

◆ has_method

template<class T >
const bool JROOT::JActionAtFileOpen< T >::has_method = JTEST(test<T>(NULL))
static

true if class has policy method actionAtFileOpen; else false

Definition at line 66 of file JRootSupportkit.hh.


The documentation for this class was generated from the following file: