Make table the same for unique and equivalent keys

This commit is contained in:
Daniel James
2017-04-27 18:22:44 +01:00
parent 03baef8b28
commit 6466ce0b51
4 changed files with 2 additions and 71 deletions

View File

@ -45,41 +45,6 @@ template <typename A, typename K, typename M, typename H, typename P> struct map
insert_return_type; insert_return_type;
}; };
template <typename A, typename K, typename M, typename H, typename P>
struct multimap
{
typedef boost::unordered::detail::multimap<A, K, M, H, P> types;
typedef std::pair<K const, M> value_type;
typedef H hasher;
typedef P key_equal;
typedef K const const_key_type;
typedef typename ::boost::unordered::detail::rebind_wrap<A,
value_type>::type value_allocator;
typedef boost::unordered::detail::allocator_traits<value_allocator>
value_allocator_traits;
typedef boost::unordered::detail::pick_node<A, value_type> pick;
typedef typename pick::node node;
typedef typename pick::bucket bucket;
typedef typename pick::link_pointer link_pointer;
typedef boost::unordered::detail::table<types> table;
typedef boost::unordered::detail::map_extractor<value_type> extractor;
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
typedef boost::unordered::iterator_detail::iterator<node> iterator;
typedef boost::unordered::iterator_detail::c_iterator<node> c_iterator;
typedef boost::unordered::iterator_detail::l_iterator<node, policy>
l_iterator;
typedef boost::unordered::iterator_detail::cl_iterator<node, policy>
cl_iterator;
typedef boost::unordered::node_handle_map<node, K, M, A> node_type;
};
template <typename K, typename M, typename H, typename P, typename A> template <typename K, typename M, typename H, typename P, typename A>
class instantiate_map class instantiate_map
{ {

View File

@ -45,40 +45,6 @@ template <typename A, typename T, typename H, typename P> struct set
insert_return_type; insert_return_type;
}; };
template <typename A, typename T, typename H, typename P> struct multiset
{
typedef boost::unordered::detail::multiset<A, T, H, P> types;
typedef T value_type;
typedef H hasher;
typedef P key_equal;
typedef T const const_key_type;
typedef typename ::boost::unordered::detail::rebind_wrap<A,
value_type>::type value_allocator;
typedef boost::unordered::detail::allocator_traits<value_allocator>
value_allocator_traits;
typedef boost::unordered::detail::pick_node<A, value_type> pick;
typedef typename pick::node node;
typedef typename pick::bucket bucket;
typedef typename pick::link_pointer link_pointer;
typedef boost::unordered::detail::table<types> table;
typedef boost::unordered::detail::set_extractor<value_type> extractor;
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
typedef boost::unordered::iterator_detail::c_iterator<node> iterator;
typedef boost::unordered::iterator_detail::c_iterator<node> c_iterator;
typedef boost::unordered::iterator_detail::cl_iterator<node, policy>
l_iterator;
typedef boost::unordered::iterator_detail::cl_iterator<node, policy>
cl_iterator;
typedef boost::unordered::node_handle_set<node, T, A> node_type;
};
template <typename T, typename H, typename P, typename A> class instantiate_set template <typename T, typename H, typename P, typename A> class instantiate_set
{ {
typedef boost::unordered_set<T, H, P, A> container; typedef boost::unordered_set<T, H, P, A> container;

View File

@ -856,7 +856,7 @@ template <class K, class T, class H, class P, class A> class unordered_multimap
typedef A allocator_type; typedef A allocator_type;
private: private:
typedef boost::unordered::detail::multimap<A, K, T, H, P> types; typedef boost::unordered::detail::map<A, K, T, H, P> types;
typedef typename types::value_allocator_traits value_allocator_traits; typedef typename types::value_allocator_traits value_allocator_traits;
typedef typename types::table table; typedef typename types::table table;
typedef typename table::node_pointer node_pointer; typedef typename table::node_pointer node_pointer;

View File

@ -560,7 +560,7 @@ template <class T, class H, class P, class A> class unordered_multiset
typedef A allocator_type; typedef A allocator_type;
private: private:
typedef boost::unordered::detail::multiset<A, T, H, P> types; typedef boost::unordered::detail::set<A, T, H, P> types;
typedef typename types::value_allocator_traits value_allocator_traits; typedef typename types::value_allocator_traits value_allocator_traits;
typedef typename types::table table; typedef typename types::table table;
typedef typename table::node_pointer node_pointer; typedef typename table::node_pointer node_pointer;