Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
ClassSelectionRule.cxx
Go to the documentation of this file.
1 // @(#)root/core/utils:$Id: ClassSelectionRule.cxx 41697 2011-11-01 21:03:41Z pcanal $
2 // Author: Velislava Spasova September 2010
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2011, Rene Brun, Fons Rademakers and al. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 //////////////////////////////////////////////////////////////////////////
13 // //
14 // ClassSelection //
15 // //
16 //////////////////////////////////////////////////////////////////////////
17 
18 #include "ClassSelectionRule.h"
19 #include <iostream>
20 
21 void ClassSelectionRule::AddFieldSelectionRule(const VariableSelectionRule& field)
22 {
23  fFieldSelectionRules.emplace_back(field);
24 }
25 
26 bool ClassSelectionRule::HasFieldSelectionRules() const
27 {
28  return !fFieldSelectionRules.empty();
29 }
30 
31 //const std::list<VariableSelectionRule>& ClassSelectionRule::GetFieldSelectionRules()
32 const std::list<VariableSelectionRule>& ClassSelectionRule::GetFieldSelectionRules() const
33 {
34  return fFieldSelectionRules;
35 }
36 
37 void ClassSelectionRule::AddMethodSelectionRule(const FunctionSelectionRule& method)
38 {
39  fMethodSelectionRules.emplace_back(method);
40 }
41 
42 bool ClassSelectionRule::HasMethodSelectionRules() const
43 {
44  return !fMethodSelectionRules.empty();
45 }
46 
47 void ClassSelectionRule::Print(std::ostream &out) const
48 {
49  out<<"\t\tSelected (line "<< GetLineNumber() <<"): ";
50  switch(GetSelected()){
51  case BaseSelectionRule::kYes: out<<"Yes"<<std::endl;
52  break;
53  case BaseSelectionRule::kNo: out<<"No"<<std::endl;
54  break;
55  case BaseSelectionRule::kDontCare: out<<"Don't Care"<<std::endl;
56  break;
57  default: out<<"Unspecified"<<std::endl;
58  }
59  out<<"\t\tAttributes: "<<std::endl;
60  PrintAttributes(out,2);
61 
62  if (HasFieldSelectionRules()) {
63  //out<<"\t\tHas field entries"<<std::endl;
64  std::list<VariableSelectionRule> fields = GetFieldSelectionRules();
65  std::list<VariableSelectionRule>::iterator fit = fields.begin();
66  int j = 0;
67 
68  for (; fit != fields.end(); ++fit, ++j)
69  {
70  out<<"\t\tField "<<j<<":"<<std::endl;
71  out<<*fit;
72  }
73  }
74  else {
75  out<<"\t\tNo field sel rules"<<std::endl;
76  }
77  if (HasMethodSelectionRules()) {
78  //out<<"\t\tHas method entries"<<std::endl;
79  std::list<FunctionSelectionRule> methods = GetMethodSelectionRules();
80  std::list<FunctionSelectionRule>::iterator mit = methods.begin();
81  int k = 0;
82 
83  for (; mit != methods.end(); ++mit, ++k)
84  {
85  out<<"\t\tMethod "<<k<<":"<<std::endl;
86  out<<*mit;
87  }
88  }
89  else {
90  out<<"\t\tNo method sel rules"<<std::endl;
91  }
92 }
93 
94 //const std::list<FunctionSelectionRule>& ClassSelectionRule::GetMethodSelectionRules()
95 const std::list<FunctionSelectionRule>& ClassSelectionRule::GetMethodSelectionRules() const
96 {
97  return fMethodSelectionRules;
98 }
99 
100 bool ClassSelectionRule::IsInheritable() const
101 {
102  return fIsInheritable;
103 }
104 
105 void ClassSelectionRule::SetInheritable(bool inherit)
106 {
107  fIsInheritable = inherit;
108 }
109 
110 bool ClassSelectionRule::RequestStreamerInfo() const
111 {
112  return fRequestStreamerInfo;
113 }
114 
115 void ClassSelectionRule::SetRequestStreamerInfo(bool pl)
116 {
117  fRequestStreamerInfo = pl;
118 }
119 
120 bool ClassSelectionRule::RequestNoStreamer() const
121 {
122  return fRequestNoStreamer;
123 }
124 
125 void ClassSelectionRule::SetRequestNoStreamer(bool mn)
126 {
127  fRequestNoStreamer = mn;
128 }
129 
130 bool ClassSelectionRule::RequestNoInputOperator() const
131 {
132  return fRequestNoInputOperator;
133 }
134 
135 void ClassSelectionRule::SetRequestNoInputOperator(bool excl)
136 {
137  fRequestNoInputOperator = excl;
138 }
139 
140 void ClassSelectionRule::SetRequestOnlyTClass(bool value)
141 {
142  fRequestOnlyTClass = value;
143 }
144 
145 void ClassSelectionRule::SetRequestProtected(bool value)
146 {
147  fRequestProtected = value;
148 }
149 
150 void ClassSelectionRule::SetRequestPrivate(bool value)
151 {
152  fRequestPrivate = value;
153 }
154 
155 void ClassSelectionRule::SetRequestedVersionNumber(int version)
156 {
157  fRequestedVersionNumber = version;
158 }
159 
160 bool ClassSelectionRule::RequestOnlyTClass() const
161 {
162  return fRequestOnlyTClass;
163 }
164 
165 bool ClassSelectionRule::RequestProtected() const
166 {
167  return fRequestProtected;
168 }
169 
170 bool ClassSelectionRule::RequestPrivate() const
171 {
172  return fRequestPrivate;
173 }
174 
175 int ClassSelectionRule::RequestedVersionNumber() const
176 {
177  return fRequestedVersionNumber;
178 }