mirror of
https://github.com/greg7mdp/parallel-hashmap.git
synced 2026-08-30 00:50:38 +08:00
Allow forward declaration for btree containers
This commit is contained in:
Vendored
+13
-8
@@ -54,6 +54,7 @@
|
||||
#include <initializer_list>
|
||||
#include <iterator>
|
||||
|
||||
#include "phmap_fwd_decl.h"
|
||||
#include "phmap_base.h"
|
||||
|
||||
#if PHMAP_HAVE_STD_STRING_VIEW
|
||||
@@ -3808,8 +3809,9 @@ namespace container_internal {
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Compare = std::less<Key>,
|
||||
typename Alloc = std::allocator<Key>>
|
||||
// btree_set - default values in phmap_fwd_decl.h
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Compare, typename Alloc>
|
||||
class btree_set : public container_internal::btree_set_container<
|
||||
container_internal::btree<container_internal::set_params<
|
||||
Key, Compare, Alloc, /*TargetNodeSize=*/ 256, /*Multi=*/ false>>>
|
||||
@@ -3864,8 +3866,9 @@ namespace container_internal {
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Compare = std::less<Key>,
|
||||
typename Alloc = std::allocator<Key>>
|
||||
// btree_multiset - default values in phmap_fwd_decl.h
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Compare, typename Alloc>
|
||||
class btree_multiset : public container_internal::btree_multiset_container<
|
||||
container_internal::btree<container_internal::set_params<
|
||||
Key, Compare, Alloc, /*TargetNodeSize=*/ 256, /*Multi=*/ true>>>
|
||||
@@ -3921,8 +3924,9 @@ namespace container_internal {
|
||||
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Value, typename Compare = std::less<Key>,
|
||||
typename Alloc = std::allocator<std::pair<const Key, Value>>>
|
||||
// btree_map - default values in phmap_fwd_decl.h
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Value, typename Compare, typename Alloc>
|
||||
class btree_map : public container_internal::btree_map_container<
|
||||
container_internal::btree<container_internal::map_params<
|
||||
Key, Value, Compare, Alloc, /*TargetNodeSize=*/ 256, /*Multi=*/ false>>>
|
||||
@@ -3979,8 +3983,9 @@ namespace container_internal {
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Value, typename Compare = std::less<Key>,
|
||||
typename Alloc = std::allocator<std::pair<const Key, Value>>>
|
||||
// btree_multimap - default values in phmap_fwd_decl.h
|
||||
// ----------------------------------------------------------------------
|
||||
template <typename Key, typename Value, typename Compare, typename Alloc>
|
||||
class btree_multimap : public container_internal::btree_multimap_container<
|
||||
container_internal::btree<container_internal::map_params<
|
||||
Key, Value, Compare, Alloc, /*TargetNodeSize=*/ 256, /*Multi=*/ true>>>
|
||||
|
||||
Vendored
+17
@@ -13,6 +13,7 @@
|
||||
|
||||
#include <memory>
|
||||
#include <utility>
|
||||
#include <functional>
|
||||
|
||||
#if defined(PHMAP_USE_ABSL_HASH)
|
||||
namespace absl { template <class T> struct Hash; };
|
||||
@@ -58,6 +59,7 @@ namespace phmap {
|
||||
|
||||
} // namespace container_internal
|
||||
|
||||
// ------------- forward declarations for hash containers ----------------------------------
|
||||
template <class T,
|
||||
class Hash = phmap::container_internal::hash_default_hash<T>,
|
||||
class Eq = phmap::container_internal::hash_default_eq<T>,
|
||||
@@ -118,7 +120,22 @@ namespace phmap {
|
||||
class Mutex = phmap::NullMutex> // use std::mutex to enable internal locks
|
||||
class parallel_node_hash_map;
|
||||
|
||||
// ------------- forward declarations for btree containers ----------------------------------
|
||||
template <typename Key, typename Compare = std::less<Key>,
|
||||
typename Alloc = phmap::Allocator<Key>>
|
||||
class btree_set;
|
||||
|
||||
template <typename Key, typename Compare = std::less<Key>,
|
||||
typename Alloc = phmap::Allocator<Key>>
|
||||
class btree_multiset;
|
||||
|
||||
template <typename Key, typename Value, typename Compare = std::less<Key>,
|
||||
typename Alloc = phmap::Allocator<phmap::container_internal::Pair<const Key, Value>>>
|
||||
class btree_map;
|
||||
|
||||
template <typename Key, typename Value, typename Compare = std::less<Key>,
|
||||
typename Alloc = phmap::Allocator<phmap::container_internal::Pair<const Key, Value>>>
|
||||
class btree_multimap;
|
||||
|
||||
} // namespace phmap
|
||||
|
||||
|
||||
Reference in New Issue
Block a user