forked from boostorg/unordered
Map/set details types in individual headers.
This commit is contained in:
@ -130,55 +130,6 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
typedef typename pick::link_pointer link_pointer;
|
typedef typename pick::link_pointer link_pointer;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename A, typename T, typename H, typename P>
|
|
||||||
struct multiset
|
|
||||||
{
|
|
||||||
typedef boost::unordered::detail::multiset<A, T, H, P> types;
|
|
||||||
|
|
||||||
typedef A allocator;
|
|
||||||
typedef T value_type;
|
|
||||||
typedef H hasher;
|
|
||||||
typedef P key_equal;
|
|
||||||
typedef T key_type;
|
|
||||||
|
|
||||||
typedef boost::unordered::detail::allocator_traits<allocator> traits;
|
|
||||||
typedef boost::unordered::detail::pick_grouped_node<allocator,
|
|
||||||
value_type> pick;
|
|
||||||
typedef typename pick::node node;
|
|
||||||
typedef typename pick::bucket bucket;
|
|
||||||
typedef typename pick::link_pointer link_pointer;
|
|
||||||
|
|
||||||
typedef boost::unordered::detail::grouped_table_impl<types> table;
|
|
||||||
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
|
||||||
};
|
|
||||||
|
|
||||||
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 A allocator;
|
|
||||||
typedef std::pair<K const, M> value_type;
|
|
||||||
typedef H hasher;
|
|
||||||
typedef P key_equal;
|
|
||||||
typedef K key_type;
|
|
||||||
|
|
||||||
typedef boost::unordered::detail::allocator_traits<allocator> traits;
|
|
||||||
typedef boost::unordered::detail::pick_grouped_node<allocator,
|
|
||||||
value_type> pick;
|
|
||||||
typedef typename pick::node node;
|
|
||||||
typedef typename pick::bucket bucket;
|
|
||||||
typedef typename pick::link_pointer link_pointer;
|
|
||||||
|
|
||||||
typedef boost::unordered::detail::grouped_table_impl<types> table;
|
|
||||||
typedef boost::unordered::detail::map_extractor<key_type, value_type>
|
|
||||||
extractor;
|
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename Types>
|
template <typename Types>
|
||||||
struct grouped_table_impl : boost::unordered::detail::table<Types>
|
struct grouped_table_impl : boost::unordered::detail::table<Types>
|
||||||
{
|
{
|
||||||
|
62
include/boost/unordered/detail/map.hpp
Normal file
62
include/boost/unordered/detail/map.hpp
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
|
||||||
|
// Copyright (C) 2005-2016 Daniel James
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#include <boost/unordered/unordered_map_fwd.hpp>
|
||||||
|
#include <boost/unordered/detail/equivalent.hpp>
|
||||||
|
#include <boost/unordered/detail/unique.hpp>
|
||||||
|
#include <boost/unordered/detail/util.hpp>
|
||||||
|
|
||||||
|
namespace boost { namespace unordered { namespace detail {
|
||||||
|
template <typename A, typename K, typename M, typename H, typename P>
|
||||||
|
struct map
|
||||||
|
{
|
||||||
|
typedef boost::unordered::detail::map<A, K, M, H, P> types;
|
||||||
|
|
||||||
|
typedef A allocator;
|
||||||
|
typedef std::pair<K const, M> value_type;
|
||||||
|
typedef H hasher;
|
||||||
|
typedef P key_equal;
|
||||||
|
typedef K key_type;
|
||||||
|
|
||||||
|
typedef boost::unordered::detail::allocator_traits<allocator>
|
||||||
|
traits;
|
||||||
|
typedef boost::unordered::detail::pick_node<allocator, 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_impl<types> table;
|
||||||
|
typedef boost::unordered::detail::map_extractor<key_type, value_type>
|
||||||
|
extractor;
|
||||||
|
|
||||||
|
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
||||||
|
};
|
||||||
|
|
||||||
|
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 A allocator;
|
||||||
|
typedef std::pair<K const, M> value_type;
|
||||||
|
typedef H hasher;
|
||||||
|
typedef P key_equal;
|
||||||
|
typedef K key_type;
|
||||||
|
|
||||||
|
typedef boost::unordered::detail::allocator_traits<allocator> traits;
|
||||||
|
typedef boost::unordered::detail::pick_grouped_node<allocator,
|
||||||
|
value_type> pick;
|
||||||
|
typedef typename pick::node node;
|
||||||
|
typedef typename pick::bucket bucket;
|
||||||
|
typedef typename pick::link_pointer link_pointer;
|
||||||
|
|
||||||
|
typedef boost::unordered::detail::grouped_table_impl<types> table;
|
||||||
|
typedef boost::unordered::detail::map_extractor<key_type, value_type>
|
||||||
|
extractor;
|
||||||
|
|
||||||
|
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
||||||
|
};
|
||||||
|
|
||||||
|
}}}
|
58
include/boost/unordered/detail/set.hpp
Normal file
58
include/boost/unordered/detail/set.hpp
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
|
||||||
|
// Copyright (C) 2005-2016 Daniel James
|
||||||
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||||||
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
|
||||||
|
#include <boost/unordered/unordered_set_fwd.hpp>
|
||||||
|
#include <boost/unordered/detail/equivalent.hpp>
|
||||||
|
#include <boost/unordered/detail/unique.hpp>
|
||||||
|
#include <boost/unordered/detail/util.hpp>
|
||||||
|
|
||||||
|
namespace boost { namespace unordered { namespace detail {
|
||||||
|
template <typename A, typename T, typename H, typename P>
|
||||||
|
struct set
|
||||||
|
{
|
||||||
|
typedef boost::unordered::detail::set<A, T, H, P> types;
|
||||||
|
|
||||||
|
typedef A allocator;
|
||||||
|
typedef T value_type;
|
||||||
|
typedef H hasher;
|
||||||
|
typedef P key_equal;
|
||||||
|
typedef T key_type;
|
||||||
|
|
||||||
|
typedef boost::unordered::detail::allocator_traits<allocator> traits;
|
||||||
|
typedef boost::unordered::detail::pick_node<allocator, 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_impl<types> table;
|
||||||
|
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
||||||
|
|
||||||
|
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
||||||
|
};
|
||||||
|
|
||||||
|
template <typename A, typename T, typename H, typename P>
|
||||||
|
struct multiset
|
||||||
|
{
|
||||||
|
typedef boost::unordered::detail::multiset<A, T, H, P> types;
|
||||||
|
|
||||||
|
typedef A allocator;
|
||||||
|
typedef T value_type;
|
||||||
|
typedef H hasher;
|
||||||
|
typedef P key_equal;
|
||||||
|
typedef T key_type;
|
||||||
|
|
||||||
|
typedef boost::unordered::detail::allocator_traits<allocator> traits;
|
||||||
|
typedef boost::unordered::detail::pick_grouped_node<allocator,
|
||||||
|
value_type> pick;
|
||||||
|
typedef typename pick::node node;
|
||||||
|
typedef typename pick::bucket bucket;
|
||||||
|
typedef typename pick::link_pointer link_pointer;
|
||||||
|
|
||||||
|
typedef boost::unordered::detail::grouped_table_impl<types> table;
|
||||||
|
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
||||||
|
|
||||||
|
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
||||||
|
};
|
||||||
|
}}}
|
@ -126,54 +126,6 @@ namespace boost { namespace unordered { namespace detail {
|
|||||||
typedef typename pick::link_pointer link_pointer;
|
typedef typename pick::link_pointer link_pointer;
|
||||||
};
|
};
|
||||||
|
|
||||||
template <typename A, typename T, typename H, typename P>
|
|
||||||
struct set
|
|
||||||
{
|
|
||||||
typedef boost::unordered::detail::set<A, T, H, P> types;
|
|
||||||
|
|
||||||
typedef A allocator;
|
|
||||||
typedef T value_type;
|
|
||||||
typedef H hasher;
|
|
||||||
typedef P key_equal;
|
|
||||||
typedef T key_type;
|
|
||||||
|
|
||||||
typedef boost::unordered::detail::allocator_traits<allocator> traits;
|
|
||||||
typedef boost::unordered::detail::pick_node<allocator, 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_impl<types> table;
|
|
||||||
typedef boost::unordered::detail::set_extractor<value_type> extractor;
|
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<T>::type policy;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename A, typename K, typename M, typename H, typename P>
|
|
||||||
struct map
|
|
||||||
{
|
|
||||||
typedef boost::unordered::detail::map<A, K, M, H, P> types;
|
|
||||||
|
|
||||||
typedef A allocator;
|
|
||||||
typedef std::pair<K const, M> value_type;
|
|
||||||
typedef H hasher;
|
|
||||||
typedef P key_equal;
|
|
||||||
typedef K key_type;
|
|
||||||
|
|
||||||
typedef boost::unordered::detail::allocator_traits<allocator>
|
|
||||||
traits;
|
|
||||||
typedef boost::unordered::detail::pick_node<allocator, 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_impl<types> table;
|
|
||||||
typedef boost::unordered::detail::map_extractor<key_type, value_type>
|
|
||||||
extractor;
|
|
||||||
|
|
||||||
typedef typename boost::unordered::detail::pick_policy<K>::type policy;
|
|
||||||
};
|
|
||||||
|
|
||||||
template <typename Types>
|
template <typename Types>
|
||||||
struct table_impl : boost::unordered::detail::table<Types>
|
struct table_impl : boost::unordered::detail::table<Types>
|
||||||
{
|
{
|
||||||
|
@ -15,9 +15,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <boost/unordered/unordered_map_fwd.hpp>
|
#include <boost/unordered/unordered_map_fwd.hpp>
|
||||||
#include <boost/unordered/detail/equivalent.hpp>
|
#include <boost/unordered/detail/map.hpp>
|
||||||
#include <boost/unordered/detail/unique.hpp>
|
|
||||||
#include <boost/unordered/detail/util.hpp>
|
|
||||||
#include <boost/functional/hash.hpp>
|
#include <boost/functional/hash.hpp>
|
||||||
#include <boost/move/move.hpp>
|
#include <boost/move/move.hpp>
|
||||||
|
|
||||||
|
@ -14,10 +14,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <boost/unordered/unordered_set_fwd.hpp>
|
#include <boost/unordered/detail/set.hpp>
|
||||||
#include <boost/unordered/detail/equivalent.hpp>
|
|
||||||
#include <boost/unordered/detail/unique.hpp>
|
|
||||||
#include <boost/unordered/detail/util.hpp>
|
|
||||||
#include <boost/functional/hash.hpp>
|
#include <boost/functional/hash.hpp>
|
||||||
#include <boost/move/move.hpp>
|
#include <boost/move/move.hpp>
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user