diff --git a/gtsam/base/ConcurrentMap.h b/gtsam/base/ConcurrentMap.h index b8388057d..2d7cbd6db 100644 --- a/gtsam/base/ConcurrentMap.h +++ b/gtsam/base/ConcurrentMap.h @@ -29,14 +29,22 @@ # undef max # undef ERROR +#include // std::hash() + // Use TBB concurrent_unordered_map for ConcurrentMap -# define CONCURRENT_MAP_BASE tbb::concurrent_unordered_map +template +using ConcurrentMapBase = tbb::concurrent_unordered_map< + KEY, + VALUE, + std::hash + >; #else // If we're not using TBB, use a FastMap for ConcurrentMap -# include -# define CONCURRENT_MAP_BASE gtsam::FastMap +#include +template +using ConcurrentMapBase = gtsam::FastMap; #endif @@ -57,11 +65,11 @@ namespace gtsam { * @addtogroup base */ template -class ConcurrentMap : public CONCURRENT_MAP_BASE { +class ConcurrentMap : public ConcurrentMapBase { public: - typedef CONCURRENT_MAP_BASE Base; + typedef ConcurrentMapBase Base; /** Default constructor */ ConcurrentMap() {}