@@ -32,33 +32,33 @@ void Filter::print(int _indent) const {
32
32
33
33
switch (data.which ()) {
34
34
35
- case Data::type <OperatorAny>::value : {
35
+ case Data::which <OperatorAny>() : {
36
36
logMsg (" %*s any\n " , _indent, " " );
37
37
for (const auto & filt : data.get <OperatorAny>().operands ) {
38
38
filt.print (_indent + 2 );
39
39
}
40
40
break ;
41
41
}
42
- case Data::type <OperatorAll>::value : {
42
+ case Data::which <OperatorAll>() : {
43
43
logMsg (" %*s all\n " , _indent, " " );
44
44
for (const auto & filt : data.get <OperatorAll>().operands ) {
45
45
filt.print (_indent + 2 );
46
46
}
47
47
break ;
48
48
}
49
- case Data::type <OperatorNone>::value : {
49
+ case Data::which <OperatorNone>() : {
50
50
logMsg (" %*s none\n " , _indent, " " );
51
51
for (const auto & filt : data.get <OperatorNone>().operands ) {
52
52
filt.print (_indent + 2 );
53
53
}
54
54
break ;
55
55
}
56
- case Data::type <Existence>::value : {
56
+ case Data::which <Existence>() : {
57
57
auto & f = data.get <Existence>();
58
58
logMsg (" %*s existence - key:%s\n " , _indent, " " , f.key .c_str ());
59
59
break ;
60
60
}
61
- case Data::type <EqualitySet>::value : {
61
+ case Data::which <EqualitySet>() : {
62
62
auto & f = data.get <EqualitySet>();
63
63
if (f.values [0 ].is <std::string>()) {
64
64
logMsg (" %*s equality set - keyword:%d key:%s val:%s\n " , _indent, " " ,
@@ -74,7 +74,7 @@ void Filter::print(int _indent) const {
74
74
}
75
75
break ;
76
76
}
77
- case Data::type <Equality>::value : {
77
+ case Data::which <Equality>() : {
78
78
auto & f = data.get <Equality>();
79
79
if (f.value .is <std::string>()) {
80
80
logMsg (" %*s equality - keyword:%d key:%s val:%s\n " , _indent, " " ,
@@ -90,14 +90,14 @@ void Filter::print(int _indent) const {
90
90
}
91
91
break ;
92
92
}
93
- case Data::type <Range>::value : {
93
+ case Data::which <Range>() : {
94
94
auto & f = data.get <Range>();
95
95
logMsg (" %*s range - keyword:%d key:%s min:%f max:%f\n " , _indent, " " ,
96
96
f.keyword != FilterKeyword::undefined,
97
97
f.key .c_str (), f.min , f.max );
98
98
return ;
99
99
}
100
- case Data::type <Function>::value : {
100
+ case Data::which <Function>() : {
101
101
logMsg (" %*s function\n " , _indent, " " );
102
102
break ;
103
103
}
@@ -113,33 +113,33 @@ int Filter::filterCost() const {
113
113
int sum = 100 ;
114
114
115
115
switch (data.which ()) {
116
- case Data::type <OperatorAny>::value :
116
+ case Data::which <OperatorAny>() :
117
117
for (auto & f : operands ()) { sum += f.filterCost (); }
118
118
return sum;
119
119
120
- case Data::type <OperatorAll>::value :
120
+ case Data::which <OperatorAll>() :
121
121
for (auto & f : operands ()) { sum += f.filterCost (); }
122
122
return sum;
123
123
124
- case Data::type <OperatorNone>::value :
124
+ case Data::which <OperatorNone>() :
125
125
for (auto & f : operands ()) { sum += f.filterCost (); }
126
126
return sum;
127
127
128
- case Data::type <Existence>::value :
128
+ case Data::which <Existence>() :
129
129
// Equality and Range are more specific for increasing
130
130
// the chance to fail early check them before Existence
131
131
return 20 ;
132
132
133
- case Data::type <EqualitySet>::value :
133
+ case Data::which <EqualitySet>() :
134
134
return data.get <EqualitySet>().keyword == FilterKeyword::undefined ? 10 : 1 ;
135
135
136
- case Data::type <Equality>::value :
136
+ case Data::which <Equality>() :
137
137
return data.get <Equality>().keyword == FilterKeyword::undefined ? 10 : 1 ;
138
138
139
- case Data::type <Filter::Range>::value :
139
+ case Data::which <Filter::Range>() :
140
140
return data.get <Range>().keyword == FilterKeyword::undefined ? 10 : 1 ;
141
141
142
- case Data::type <Function>::value :
142
+ case Data::which <Function>() :
143
143
// Most expensive filter should be checked last
144
144
return 1000 ;
145
145
}
@@ -151,16 +151,16 @@ const std::string& Filter::key() const {
151
151
152
152
switch (data.which ()) {
153
153
154
- case Data::type <Existence>::value :
154
+ case Data::which <Existence>() :
155
155
return data.get <Existence>().key ;
156
156
157
- case Data::type <EqualitySet>::value :
157
+ case Data::which <EqualitySet>() :
158
158
return data.get <EqualitySet>().key ;
159
159
160
- case Data::type <Equality>::value :
160
+ case Data::which <Equality>() :
161
161
return data.get <Equality>().key ;
162
162
163
- case Data::type <Filter::Range>::value :
163
+ case Data::which <Filter::Range>() :
164
164
return data.get <Range>().key ;
165
165
166
166
default :
@@ -173,13 +173,13 @@ const std::vector<Filter>& Filter::operands() const {
173
173
static const std::vector<Filter> empty;
174
174
175
175
switch (data.which ()) {
176
- case Data::type <OperatorAny>::value :
176
+ case Data::which <OperatorAny>() :
177
177
return data.get <OperatorAny>().operands ;
178
178
179
- case Data::type <OperatorAll>::value :
179
+ case Data::which <OperatorAll>() :
180
180
return data.get <OperatorAll>().operands ;
181
181
182
- case Data::type <OperatorNone>::value :
182
+ case Data::which <OperatorNone>() :
183
183
return data.get <OperatorNone>().operands ;
184
184
185
185
default :
@@ -191,13 +191,13 @@ const std::vector<Filter>& Filter::operands() const {
191
191
bool Filter::isOperator () const {
192
192
193
193
switch (data.which ()) {
194
- case Data::type <OperatorAny>::value :
194
+ case Data::which <OperatorAny>() :
195
195
return true ;
196
196
197
- case Data::type <OperatorAll>::value :
197
+ case Data::which <OperatorAll>() :
198
198
return true ;
199
199
200
- case Data::type <OperatorNone>::value :
200
+ case Data::which <OperatorNone>() :
201
201
return true ;
202
202
203
203
default :
0 commit comments