@@ -171,21 +171,23 @@ namespace adm {
171
171
172
172
template <typename A, typename ... Tail>
173
173
struct MakeCombineBase {
174
- using B = typename HasParametersT<Tail...>::type;
174
+ using Base = typename HasParametersT<Tail...>::type;
175
175
176
176
using combine_add_remove =
177
177
std::integral_constant<bool , typename A::has_add_remove () &&
178
- typename B ::has_add_remove()>;
178
+ typename Base ::has_add_remove()>;
179
179
using combine_get_set_has =
180
180
std::integral_constant<bool , typename A::has_get_set_has () &&
181
- typename B ::has_get_set_has()>;
181
+ typename Base ::has_get_set_has()>;
182
182
using combine_isDefault_unset =
183
- std::integral_constant<bool , typename A::has_isDefault_unset () &&
184
- typename B::has_isDefault_unset()>;
183
+ std::integral_constant<bool ,
184
+ typename A::has_isDefault_unset () &&
185
+ typename Base::has_isDefault_unset()>;
185
186
186
187
using IsDefaultUnsetCombined =
187
188
std::conditional_t <combine_isDefault_unset::value,
188
- CombineIsDefaultUnsetB<A, B>, CombineRaw<A, B>>;
189
+ CombineIsDefaultUnsetB<A, Base>,
190
+ CombineRaw<A, Base>>;
189
191
190
192
// - need to combine
191
193
// - last in chain -> use CombineB<A, B>
@@ -195,16 +197,16 @@ namespace adm {
195
197
using GetSetHasCombined = std::conditional_t <
196
198
combine_get_set_has::value,
197
199
std::conditional_t <!combine_isDefault_unset::value,
198
- CombineGetSetHasB<A, B >,
199
- CombineGetSetHas<A, B , IsDefaultUnsetCombined>>,
200
+ CombineGetSetHasB<A, Base >,
201
+ CombineGetSetHas<A, Base , IsDefaultUnsetCombined>>,
200
202
IsDefaultUnsetCombined>;
201
203
202
204
using AddRemoveCombined = std::conditional_t <
203
205
combine_add_remove::value,
204
206
std::conditional_t <!(combine_isDefault_unset::value ||
205
207
combine_get_set_has::value),
206
- CombineAddRemoveB<A, B >,
207
- CombineAddRemove<A, B , GetSetHasCombined>>,
208
+ CombineAddRemoveB<A, Base >,
209
+ CombineAddRemove<A, Base , GetSetHasCombined>>,
208
210
GetSetHasCombined>;
209
211
210
212
using type = AddRemoveCombined;
@@ -213,17 +215,20 @@ namespace adm {
213
215
// / a subclass of A and B, with methods according to their Flags
214
216
template <typename A, typename ... Tail>
215
217
struct Combine : public MakeCombineBase <A, Tail...>::type {
216
- using B = typename HasParametersT<Tail...>::type;
218
+ private:
219
+ using Base = typename HasParametersT<Tail...>::type;
217
220
221
+ public:
218
222
using has_get_set_has =
219
223
std::integral_constant<bool , typename A::has_get_set_has () ||
220
- typename B ::has_get_set_has()>;
224
+ typename Base ::has_get_set_has()>;
221
225
using has_isDefault_unset =
222
- std::integral_constant<bool , typename A::has_isDefault_unset () ||
223
- typename B::has_isDefault_unset()>;
226
+ std::integral_constant<bool ,
227
+ typename A::has_isDefault_unset () ||
228
+ typename Base::has_isDefault_unset()>;
224
229
using has_add_remove =
225
230
std::integral_constant<bool , typename A::has_add_remove () ||
226
- typename B ::has_add_remove()>;
231
+ typename Base ::has_add_remove()>;
227
232
};
228
233
229
234
template <typename ... Bases>
0 commit comments