Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
RootMetaSelection.h
Go to the documentation of this file.
1 #ifndef ROOT_Meta_Selection
2 #define ROOT_Meta_Selection
3 
4 namespace ROOT {
5  namespace Meta {
6  namespace Selection {
7 
8  ///\brief Used to specify the number of arguments to be kept
9  template <unsigned int I> class KeepFirstTemplateArguments {};
10 
11  ///\brief Used to avoid to select all instances of a template
12  class SelectNoInstance {};
13 
14  ///\brief Describes the attributes of a class
15  enum EClassAttributes {
16  ///\brief Indicates absence of properties
17  kClassNullProperty = 0
18  };
19 
20  ///\brief Used to specify attributes of classes in the "DictSelection" syntax
21  template <unsigned int classAttributes = kClassNullProperty> class ClassAttributes {};
22 
23  ///\brief Describes attributes of a data member
24  enum EClassMemberAttributes {
25  ///\brief Indicates absence of properties
26  kMemberNullProperty = 0,
27  ///\brief The data member is transient
28  kTransient = 2,
29  ///\brief Select the type of the member
30  kAutoSelected = 4,
31  ///\brief Exclude the type of the member
32  kNoAutoSelected = 8,
33  ///\brief The class cannot be split
34  kNonSplittable = 16
35  };
36 
37  ///\brief Used to specify attributes of data members in the "DictSelection" syntax
38  template <unsigned int memberAttributes = kMemberNullProperty > class MemberAttributes {};
39 
40  }
41  }
42 }
43 
44 #endif
45