From 942403f0dba0be01c5c30238ddb8f7f75d510f09 Mon Sep 17 00:00:00 2001 From: greg Date: Fri, 3 Jan 2020 14:19:55 -0500 Subject: [PATCH] remove #include from phmap_fwd_decl.h --- parallel_hashmap/btree.h | 14 +++++++++++++- parallel_hashmap/phmap_base.h | 9 +++++++++ parallel_hashmap/phmap_fwd_decl.h | 10 +++++----- 3 files changed, 27 insertions(+), 6 deletions(-) diff --git a/parallel_hashmap/btree.h b/parallel_hashmap/btree.h index b644ec5..2886094 100644 --- a/parallel_hashmap/btree.h +++ b/parallel_hashmap/btree.h @@ -755,6 +755,7 @@ namespace container_internal { StringBtreeDefaultLess(std::less) {} // NOLINT #if PHMAP_HAVE_STD_STRING_VIEW StringBtreeDefaultLess(std::less) {} // NOLINT + StringBtreeDefaultLess(phmap::Less) {} // NOLINT phmap::weak_ordering operator()(std::string_view lhs, std::string_view rhs) const { @@ -810,6 +811,11 @@ namespace container_internal { using type = StringBtreeDefaultLess; }; + template <> + struct key_compare_to_adapter> { + using type = StringBtreeDefaultLess; + }; + template <> struct key_compare_to_adapter> { using type = StringBtreeDefaultGreater; @@ -821,6 +827,11 @@ namespace container_internal { using type = StringBtreeDefaultLess; }; + template <> + struct key_compare_to_adapter> { + using type = StringBtreeDefaultLess; + }; + template <> struct key_compare_to_adapter> { using type = StringBtreeDefaultGreater; @@ -1071,7 +1082,8 @@ namespace container_internal { using use_linear_search = std::integral_constant< bool, std::is_arithmetic::value && - (std::is_same, key_compare>::value || + (std::is_same, key_compare>::value || + std::is_same, key_compare>::value || std::is_same, key_compare>::value)>; diff --git a/parallel_hashmap/phmap_base.h b/parallel_hashmap/phmap_base.h index 415e88d..4cc3e00 100644 --- a/parallel_hashmap/phmap_base.h +++ b/parallel_hashmap/phmap_base.h @@ -80,6 +80,15 @@ struct EqualTo } }; +template +struct Less +{ + inline bool operator()(const T& a, const T& b) const + { + return std::less()(a, b); + } +}; + namespace type_traits_internal { template diff --git a/parallel_hashmap/phmap_fwd_decl.h b/parallel_hashmap/phmap_fwd_decl.h index 0ae3a04..482dbab 100644 --- a/parallel_hashmap/phmap_fwd_decl.h +++ b/parallel_hashmap/phmap_fwd_decl.h @@ -20,7 +20,6 @@ #include #include -#include #if defined(PHMAP_USE_ABSL_HASH) namespace absl { template struct Hash; }; @@ -35,6 +34,7 @@ namespace phmap { #endif template struct EqualTo; + template struct Less; template using Allocator = typename std::allocator; template using Pair = typename std::pair; @@ -128,19 +128,19 @@ namespace phmap { class parallel_node_hash_map; // ------------- forward declarations for btree containers ---------------------------------- - template , + template , typename Alloc = phmap::Allocator> class btree_set; - template , + template , typename Alloc = phmap::Allocator> class btree_multiset; - template , + template , typename Alloc = phmap::Allocator>> class btree_map; - template , + template , typename Alloc = phmap::Allocator>> class btree_multimap;