@@ -59,7 +59,7 @@ Author: Daniel Poetzl
59
59
#define SN_TYPE_ARGS keyT, valueT, equalT
60
60
61
61
#define SN_PTR_TYPE_ARGS \
62
- d_internalt <SN_TYPE_ARGS>, d_containert <SN_TYPE_ARGS>, d_leaft <SN_TYPE_ARGS>
62
+ d_containert <SN_TYPE_ARGS>, d_leaft <SN_TYPE_ARGS>, d_internalt <SN_TYPE_ARGS>
63
63
// clang-format on
64
64
65
65
typedef small_shared_n_way_pointee_baset<3 , unsigned > d_baset;
@@ -132,10 +132,10 @@ SN_TYPE_PAR_DEF class sharing_nodet
132
132
133
133
#if SN_SHARE_KEYS == 1
134
134
SN_ASSERT (d.k == nullptr );
135
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(
135
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(
136
136
std::make_shared<keyT>(k), std::forward<valueU>(v));
137
137
#else
138
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
138
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
139
139
#endif
140
140
}
141
141
@@ -174,17 +174,17 @@ SN_TYPE_PAR_DEF class sharing_nodet
174
174
175
175
bool is_internal () const
176
176
{
177
- return data.template is_derived <0 >();
177
+ return data.template is_derived <2 >();
178
178
}
179
179
180
180
bool is_container () const
181
181
{
182
- return data.template is_derived <1 >();
182
+ return data.template is_derived <0 >();
183
183
}
184
184
185
185
bool is_leaf () const
186
186
{
187
- return data.template is_derived <2 >();
187
+ return data.template is_derived <1 >();
188
188
}
189
189
190
190
bool is_defined_internal () const
@@ -206,21 +206,21 @@ SN_TYPE_PAR_DEF class sharing_nodet
206
206
{
207
207
SN_ASSERT (!empty ());
208
208
209
- return *data.template get_derived <0 >();
209
+ return *data.template get_derived <2 >();
210
210
}
211
211
212
212
const d_ct &read_container () const
213
213
{
214
214
SN_ASSERT (!empty ());
215
215
216
- return *data.template get_derived <1 >();
216
+ return *data.template get_derived <0 >();
217
217
}
218
218
219
219
const d_lt &read_leaf () const
220
220
{
221
221
SN_ASSERT (!empty ());
222
222
223
- return *data.template get_derived <2 >();
223
+ return *data.template get_derived <1 >();
224
224
}
225
225
226
226
// Accessors
@@ -395,7 +395,7 @@ SN_TYPE_PAR_DEF class sharing_nodet
395
395
{
396
396
SN_ASSERT (!data);
397
397
398
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
398
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
399
399
}
400
400
401
401
template <class valueU >
@@ -406,11 +406,11 @@ SN_TYPE_PAR_DEF class sharing_nodet
406
406
if (data.use_count () > 1 )
407
407
{
408
408
data =
409
- make_shared_3<2 , SN_PTR_TYPE_ARGS>(get_key (), std::forward<valueU>(v));
409
+ make_shared_3<1 , SN_PTR_TYPE_ARGS>(get_key (), std::forward<valueU>(v));
410
410
}
411
411
else
412
412
{
413
- data.template get_derived <2 >()->v = std::forward<valueU>(v);
413
+ data.template get_derived <1 >()->v = std::forward<valueU>(v);
414
414
}
415
415
416
416
SN_ASSERT (data.use_count () == 1 );
@@ -422,10 +422,10 @@ SN_TYPE_PAR_DEF class sharing_nodet
422
422
423
423
if (data.use_count () > 1 )
424
424
{
425
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(read_leaf ());
425
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(read_leaf ());
426
426
}
427
427
428
- mutator (data.template get_derived <2 >()->v );
428
+ mutator (data.template get_derived <1 >()->v );
429
429
430
430
SN_ASSERT (data.use_count () == 1 );
431
431
}
@@ -437,16 +437,16 @@ SN_TYPE_PAR_DEF class sharing_nodet
437
437
438
438
if (!data)
439
439
{
440
- data = make_shared_3<0 , SN_PTR_TYPE_ARGS>();
440
+ data = make_shared_3<2 , SN_PTR_TYPE_ARGS>();
441
441
}
442
442
else if (data.use_count () > 1 )
443
443
{
444
- data = make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_internal ());
444
+ data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(read_internal ());
445
445
}
446
446
447
447
SN_ASSERT (data.use_count () == 1 );
448
448
449
- return *data.template get_derived <0 >();
449
+ return *data.template get_derived <2 >();
450
450
}
451
451
452
452
d_ct &write_container ()
@@ -455,16 +455,16 @@ SN_TYPE_PAR_DEF class sharing_nodet
455
455
456
456
if (!data)
457
457
{
458
- data = make_shared_3<1 , SN_PTR_TYPE_ARGS>();
458
+ data = make_shared_3<0 , SN_PTR_TYPE_ARGS>();
459
459
}
460
460
else if (data.use_count () > 1 )
461
461
{
462
- data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(read_container ());
462
+ data = make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_container ());
463
463
}
464
464
465
465
SN_ASSERT (data.use_count () == 1 );
466
466
467
- return *data.template get_derived <1 >();
467
+ return *data.template get_derived <0 >();
468
468
}
469
469
470
470
datat data;
0 commit comments