Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/boost/unordered/detail/map.hpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 
0002 // Copyright (C) 2005-2016 Daniel James
0003 // Copyright (C) 2022 Christian Mazakas
0004 // Copyright (C) 2024 Braden Ganetsky
0005 // Distributed under the Boost Software License, Version 1.0. (See accompanying
0006 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0007 
0008 #include <boost/unordered/detail/implementation.hpp>
0009 #include <boost/unordered/unordered_map_fwd.hpp>
0010 
0011 namespace boost {
0012   namespace unordered {
0013     namespace detail {
0014       template <typename A, typename K, typename M, typename H, typename P>
0015       struct map
0016       {
0017         typedef boost::unordered::detail::map<A, K, M, H, P> types;
0018 
0019         typedef std::pair<K const, M> value_type;
0020         typedef H hasher;
0021         typedef P key_equal;
0022         typedef K key_type;
0023         typedef K const const_key_type;
0024 
0025         typedef
0026           typename ::boost::unordered::detail::rebind_wrap<A, value_type>::type
0027             value_allocator;
0028         typedef boost::unordered::detail::allocator_traits<value_allocator>
0029           value_allocator_traits;
0030 
0031         typedef boost::unordered::detail::table<types> table;
0032         typedef boost::unordered::detail::map_extractor<value_type> extractor;
0033 
0034         typedef typename boost::allocator_void_pointer<value_allocator>::type
0035           void_pointer;
0036 
0037         typedef boost::unordered::node_handle_map<
0038           node<value_type, void_pointer>, K, M, A>
0039           node_type;
0040 
0041         typedef typename table::iterator iterator;
0042         typedef boost::unordered::insert_return_type_map<iterator, node_type> insert_return_type;
0043       };
0044     }
0045   }
0046 }