@@ -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
SN_TYPE_PAR_DECL class sharing_nodet ;
@@ -130,10 +130,10 @@ SN_TYPE_PAR_DEF class sharing_nodet
130
130
131
131
#if SN_SHARE_KEYS == 1
132
132
SN_ASSERT (d.k == nullptr );
133
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(
133
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(
134
134
std::make_shared<keyT>(k), std::forward<valueU>(v));
135
135
#else
136
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
136
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
137
137
#endif
138
138
}
139
139
@@ -172,17 +172,17 @@ SN_TYPE_PAR_DEF class sharing_nodet
172
172
173
173
bool is_internal () const
174
174
{
175
- return data.template is_derived <0 >();
175
+ return data.template is_derived <2 >();
176
176
}
177
177
178
178
bool is_container () const
179
179
{
180
- return data.template is_derived <1 >();
180
+ return data.template is_derived <0 >();
181
181
}
182
182
183
183
bool is_leaf () const
184
184
{
185
- return data.template is_derived <2 >();
185
+ return data.template is_derived <1 >();
186
186
}
187
187
188
188
bool is_defined_internal () const
@@ -204,21 +204,21 @@ SN_TYPE_PAR_DEF class sharing_nodet
204
204
{
205
205
SN_ASSERT (!empty ());
206
206
207
- return *data.template get_derived <0 >();
207
+ return *data.template get_derived <2 >();
208
208
}
209
209
210
210
const d_ct &read_container () const
211
211
{
212
212
SN_ASSERT (!empty ());
213
213
214
- return *data.template get_derived <1 >();
214
+ return *data.template get_derived <0 >();
215
215
}
216
216
217
217
const d_lt &read_leaf () const
218
218
{
219
219
SN_ASSERT (!empty ());
220
220
221
- return *data.template get_derived <2 >();
221
+ return *data.template get_derived <1 >();
222
222
}
223
223
224
224
// Accessors
@@ -393,7 +393,7 @@ SN_TYPE_PAR_DEF class sharing_nodet
393
393
{
394
394
SN_ASSERT (!data);
395
395
396
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
396
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(k, std::forward<valueU>(v));
397
397
}
398
398
399
399
template <class valueU >
@@ -404,11 +404,11 @@ SN_TYPE_PAR_DEF class sharing_nodet
404
404
if (data.use_count () > 1 )
405
405
{
406
406
data =
407
- make_shared_3<2 , SN_PTR_TYPE_ARGS>(get_key (), std::forward<valueU>(v));
407
+ make_shared_3<1 , SN_PTR_TYPE_ARGS>(get_key (), std::forward<valueU>(v));
408
408
}
409
409
else
410
410
{
411
- data.template get_derived <2 >()->v = std::forward<valueU>(v);
411
+ data.template get_derived <1 >()->v = std::forward<valueU>(v);
412
412
}
413
413
414
414
SN_ASSERT (data.use_count () == 1 );
@@ -420,10 +420,10 @@ SN_TYPE_PAR_DEF class sharing_nodet
420
420
421
421
if (data.use_count () > 1 )
422
422
{
423
- data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(read_leaf ());
423
+ data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(read_leaf ());
424
424
}
425
425
426
- mutator (data.template get_derived <2 >()->v );
426
+ mutator (data.template get_derived <1 >()->v );
427
427
428
428
SN_ASSERT (data.use_count () == 1 );
429
429
}
@@ -435,16 +435,16 @@ SN_TYPE_PAR_DEF class sharing_nodet
435
435
436
436
if (!data)
437
437
{
438
- data = make_shared_3<0 , SN_PTR_TYPE_ARGS>();
438
+ data = make_shared_3<2 , SN_PTR_TYPE_ARGS>();
439
439
}
440
440
else if (data.use_count () > 1 )
441
441
{
442
- data = make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_internal ());
442
+ data = make_shared_3<2 , SN_PTR_TYPE_ARGS>(read_internal ());
443
443
}
444
444
445
445
SN_ASSERT (data.use_count () == 1 );
446
446
447
- return *data.template get_derived <0 >();
447
+ return *data.template get_derived <2 >();
448
448
}
449
449
450
450
d_ct &write_container ()
@@ -453,16 +453,16 @@ SN_TYPE_PAR_DEF class sharing_nodet
453
453
454
454
if (!data)
455
455
{
456
- data = make_shared_3<1 , SN_PTR_TYPE_ARGS>();
456
+ data = make_shared_3<0 , SN_PTR_TYPE_ARGS>();
457
457
}
458
458
else if (data.use_count () > 1 )
459
459
{
460
- data = make_shared_3<1 , SN_PTR_TYPE_ARGS>(read_container ());
460
+ data = make_shared_3<0 , SN_PTR_TYPE_ARGS>(read_container ());
461
461
}
462
462
463
463
SN_ASSERT (data.use_count () == 1 );
464
464
465
- return *data.template get_derived <1 >();
465
+ return *data.template get_derived <0 >();
466
466
}
467
467
468
468
datat data;
0 commit comments