Skip to content

Commit d76cd52

Browse files
committed
Make small map and share keys options changeable independent of default value
1 parent 3f9d06f commit d76cd52

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/util/sharing_node.h

+11-7
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,15 @@ Author: Daniel Poetzl
2121
#include <forward_list>
2222
#include <type_traits>
2323

24-
//#define _SN_SHARE_KEYS
24+
#ifndef _SN_SMALL_MAP
25+
#define _SN_SMALL_MAP 1
26+
#endif
2527

26-
//#define _SN_SMALL_MAP
28+
#ifndef _SN_SHARE_KEYS
29+
#define _SN_SHARE_KEYS 0
30+
#endif
2731

28-
#ifdef _SN_SMALL_MAP
32+
#if _SN_SMALL_MAP == 1
2933
#include "small_map.h"
3034
#else
3135
#include <map>
@@ -77,7 +81,7 @@ _sn_type_par_decl class d_internalt : public d_baset
7781
{
7882
public:
7983
typedef sharing_node_innert<_sn_type_args> innert;
80-
#ifdef _SN_SMALL_MAP
84+
#if _SN_SMALL_MAP == 1
8185
typedef small_mapt<innert> to_mapt;
8286
#else
8387
typedef std::map<std::size_t, innert> to_mapt;
@@ -412,7 +416,7 @@ small_shared_ptrt<dataT>
412416
_sn_type_par_decl class d_leaft : public small_shared_pointeet<unsigned>
413417
{
414418
public:
415-
#ifdef _SN_SHARE_KEYS
419+
#if _SN_SHARE_KEYS == 1
416420
std::shared_ptr<keyT> k;
417421
#else
418422
keyT k;
@@ -437,7 +441,7 @@ _sn_type_par_def class sharing_node_leaft
437441
auto &d = write();
438442

439443
// Copy key
440-
#ifdef _SN_SHARE_KEYS
444+
#if _SN_SHARE_KEYS == 1
441445
_sn_assert(d.k == nullptr);
442446
d.k = std::make_shared<keyT>(k);
443447
#else
@@ -452,7 +456,7 @@ _sn_type_par_def class sharing_node_leaft
452456
{
453457
_sn_assert(!empty());
454458

455-
#ifdef _SN_SHARE_KEYS
459+
#if _SN_SHARE_KEYS == 1
456460
return *read().k;
457461
#else
458462
return read().k;

0 commit comments

Comments
 (0)