@@ -60,7 +60,7 @@ Author: Daniel Poetzl
60
60
#define SN_TYPE_ARGS keyT, valueT, equalT
61
61
62
62
#define SN_PTR_TYPE_ARGS \
63
- d_internalt <SN_TYPE_ARGS>, d_containert <SN_TYPE_ARGS>, d_leaft <SN_TYPE_ARGS>
63
+ d_containert <SN_TYPE_ARGS>, d_leaft <SN_TYPE_ARGS>, d_internalt <SN_TYPE_ARGS>
64
64
65
65
// Inner nodes (internal nodes or container nodes)
66
66
@@ -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 >
@@ -407,12 +407,12 @@ SN_TYPE_PAR_DEF class sharing_nodet
407
407
408
408
if (data.use_count () > 1 )
409
409
{
410
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(
410
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(
411
411
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,17 +439,17 @@ 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
446
data =
447
- make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_internal ());
447
+ make_shared_3<2 , SN_PTR_TYPE_ARGS>(read_internal ());
448
448
}
449
449
450
450
SN_ASSERT (data.use_count () == 1 );
451
451
452
- return *data.template get_derived <0 >();
452
+ return *data.template get_derived <2 >();
453
453
}
454
454
455
455
d_ct &write_container ()
@@ -458,17 +458,17 @@ SN_TYPE_PAR_DEF class sharing_nodet
458
458
459
459
if (!data)
460
460
{
461
- data = make_shared_3<1 , SN_PTR_TYPE_ARGS>();
461
+ data = make_shared_3<0 , SN_PTR_TYPE_ARGS>();
462
462
}
463
463
else if (data.use_count () > 1 )
464
464
{
465
465
data =
466
- make_shared_3<1 , SN_PTR_TYPE_ARGS>(read_container ());
466
+ make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_container ());
467
467
}
468
468
469
469
SN_ASSERT (data.use_count () == 1 );
470
470
471
- return *data.template get_derived <1 >();
471
+ return *data.template get_derived <0 >();
472
472
}
473
473
474
474
datat data;
0 commit comments