13 #ifndef R__CLASSSELECTIONRULE_H
14 #define R__CLASSSELECTIONRULE_H
32 class ClassSelectionRule final :
public BaseSelectionRule
35 std::list<VariableSelectionRule> fFieldSelectionRules;
36 std::list<FunctionSelectionRule> fMethodSelectionRules;
39 bool fRequestStreamerInfo;
40 bool fRequestNoStreamer;
41 bool fRequestNoInputOperator;
42 bool fRequestOnlyTClass;
43 bool fRequestProtected;
45 int fRequestedVersionNumber;
49 ClassSelectionRule(ESelect sel=kYes):
50 BaseSelectionRule(sel), fIsInheritable(false), fRequestStreamerInfo(false), fRequestNoStreamer(false), fRequestNoInputOperator(false), fRequestOnlyTClass(false), fRequestProtected(false), fRequestPrivate(false), fRequestedVersionNumber(-1) {}
52 ClassSelectionRule(
long index, cling::Interpreter &interp,
const char* selFileName =
"",
long lineno = -1):
53 BaseSelectionRule(index, interp, selFileName, lineno), fIsInheritable(false), fRequestStreamerInfo(false), fRequestNoStreamer(false), fRequestNoInputOperator(false), fRequestOnlyTClass(false), fRequestProtected(false), fRequestPrivate(false), fRequestedVersionNumber(-1) {}
55 ClassSelectionRule(
long index,
bool inherit, ESelect sel, std::string attributeName, std::string attributeValue, cling::Interpreter &interp,
const char* selFileName =
"",
long lineno = -1):
56 BaseSelectionRule(index, sel, attributeName, attributeValue, interp, selFileName, lineno), fIsInheritable(inherit), fRequestStreamerInfo(false), fRequestNoStreamer(false), fRequestNoInputOperator(false), fRequestOnlyTClass(false), fRequestProtected(false), fRequestPrivate(false), fRequestedVersionNumber(-1) {}
58 void Print(std::ostream &out)
const;
60 void AddFieldSelectionRule(
const VariableSelectionRule& field);
61 bool HasFieldSelectionRules()
const;
63 const std::list<VariableSelectionRule>& GetFieldSelectionRules()
const;
65 void AddMethodSelectionRule(
const FunctionSelectionRule& method);
66 bool HasMethodSelectionRules()
const;
68 const std::list<FunctionSelectionRule>& GetMethodSelectionRules()
const;
70 bool IsInheritable()
const;
71 void SetInheritable(
bool inherit);
73 void SetRequestStreamerInfo(
bool needStreamerInfo);
74 void SetRequestNoStreamer(
bool noStreamer);
75 void SetRequestNoInputOperator(
bool excl);
76 void SetRequestOnlyTClass(
bool val);
77 void SetRequestProtected(
bool val);
78 void SetRequestPrivate(
bool val);
79 void SetRequestedVersionNumber(
int version);
81 bool RequestOnlyTClass()
const;
82 bool RequestNoStreamer()
const;
83 bool RequestNoInputOperator()
const;
84 bool RequestStreamerInfo()
const;
85 bool RequestProtected()
const;
86 bool RequestPrivate()
const;
87 int RequestedVersionNumber()
const;