@@ -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
// Inner nodes (internal nodes or container nodes)
@@ -134,10 +134,10 @@ SN_TYPE_PAR_DEF class sharing_nodet
134
134
135
135
#if SN_SHARE_KEYS == 1
136
136
SN_ASSERT (d.k == nullptr );
137
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(
137
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(
138
138
std::make_shared<keyT>(k), std::forward<valueU>(v));
139
139
#else
140
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
140
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
141
141
#endif
142
142
}
143
143
@@ -176,17 +176,17 @@ SN_TYPE_PAR_DEF class sharing_nodet
176
176
177
177
bool is_internal () const
178
178
{
179
- return data.template is_derived <0 >();
179
+ return data.template is_derived <2 >();
180
180
}
181
181
182
182
bool is_container () const
183
183
{
184
- return data.template is_derived <1 >();
184
+ return data.template is_derived <0 >();
185
185
}
186
186
187
187
bool is_leaf () const
188
188
{
189
- return data.template is_derived <2 >();
189
+ return data.template is_derived <1 >();
190
190
}
191
191
192
192
bool is_defined_internal () const
@@ -208,21 +208,21 @@ SN_TYPE_PAR_DEF class sharing_nodet
208
208
{
209
209
SN_ASSERT (!empty ());
210
210
211
- return *data.template get_derived <0 >();
211
+ return *data.template get_derived <2 >();
212
212
}
213
213
214
214
const d_ct &read_container () const
215
215
{
216
216
SN_ASSERT (!empty ());
217
217
218
- return *data.template get_derived <1 >();
218
+ return *data.template get_derived <0 >();
219
219
}
220
220
221
221
const d_lt &read_leaf () const
222
222
{
223
223
SN_ASSERT (!empty ());
224
224
225
- return *data.template get_derived <2 >();
225
+ return *data.template get_derived <1 >();
226
226
}
227
227
228
228
// Accessors
@@ -397,7 +397,7 @@ SN_TYPE_PAR_DEF class sharing_nodet
397
397
{
398
398
SN_ASSERT (!data);
399
399
400
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
400
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
401
401
}
402
402
403
403
template <class valueU >
@@ -408,11 +408,11 @@ SN_TYPE_PAR_DEF class sharing_nodet
408
408
if (data.use_count () > 1 )
409
409
{
410
410
data =
411
- make_shared_3<2 , SN_PTR_TYPE_ARGS>(get_key (), std::forward<valueU>(v));
411
+ make_shared_3<1 , SN_PTR_TYPE_ARGS>(get_key (), std::forward<valueU>(v));
412
412
}
413
413
else
414
414
{
415
- data.template get_derived <2 >()->v = std::forward<valueU>(v);
415
+ data.template get_derived <1 >()->v = std::forward<valueU>(v);
416
416
}
417
417
418
418
SN_ASSERT (data.use_count () == 1 );
@@ -424,10 +424,10 @@ SN_TYPE_PAR_DEF class sharing_nodet
424
424
425
425
if (data.use_count () > 1 )
426
426
{
427
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(read_leaf ());
427
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(read_leaf ());
428
428
}
429
429
430
- mutator (data.template get_derived <2 >()->v );
430
+ mutator (data.template get_derived <1 >()->v );
431
431
432
432
SN_ASSERT (data.use_count () == 1 );
433
433
}
@@ -439,16 +439,16 @@ SN_TYPE_PAR_DEF class sharing_nodet
439
439
440
440
if (!data)
441
441
{
442
- data = make_shared_3<0 , SN_PTR_TYPE_ARGS>();
442
+ data = make_shared_3<2 , SN_PTR_TYPE_ARGS>();
443
443
}
444
444
else if (data.use_count () > 1 )
445
445
{
446
- data = make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_internal ());
446
+ data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(read_internal ());
447
447
}
448
448
449
449
SN_ASSERT (data.use_count () == 1 );
450
450
451
- return *data.template get_derived <0 >();
451
+ return *data.template get_derived <2 >();
452
452
}
453
453
454
454
d_ct &write_container ()
@@ -457,16 +457,16 @@ SN_TYPE_PAR_DEF class sharing_nodet
457
457
458
458
if (!data)
459
459
{
460
- data = make_shared_3<1 , SN_PTR_TYPE_ARGS>();
460
+ data = make_shared_3<0 , SN_PTR_TYPE_ARGS>();
461
461
}
462
462
else if (data.use_count () > 1 )
463
463
{
464
- data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(read_container ());
464
+ data = make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_container ());
465
465
}
466
466
467
467
SN_ASSERT (data.use_count () == 1 );
468
468
469
- return *data.template get_derived <1 >();
469
+ return *data.template get_derived <0 >();
470
470
}
471
471
472
472
datat data;
0 commit comments