Jpp test-rotations-new
the software that should make you happy
Loading...
Searching...
No Matches
JClassDef.hh
Go to the documentation of this file.
1#ifndef __JROOT__JCLASSDEF__
2#define __JROOT__JCLASSDEF__
3
4#include <type_traits>
5
6#include "TObject.h"
7
8/**
9 * \author mdejong
10 */
11
12namespace JROOT {}
13namespace JPP { using namespace JROOT; }
14
15namespace JROOT {
16
17 /**
18 * Test ROOT ClassDef.
19 */
20 template <class T>
22 {
23 template<class U> static auto exists(U*) -> decltype(&U::Class_Name);
24 template<class U> static auto exists(...) -> std::false_type;
25
26 public:
27 static const bool value = !std::is_same<std::false_type, decltype(exists<T>(0))>::value; //!< true if ROOT compatible class; else false
28 };
29}
30
31#endif
Test ROOT ClassDef.
Definition JClassDef.hh:22
static auto exists(U *) -> decltype(&U::Class_Name)
static const bool value
true if ROOT compatible class; else false
Definition JClassDef.hh:27
static auto exists(...) -> std::false_type
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
Auxiliary classes and methods for ROOT I/O.