26 #ifndef FUTURE_UNORDERED_MAP_HPP_
27 #define FUTURE_UNORDERED_MAP_HPP_ 1
32 #if HAVE_STD_TR1_UNORDERED_MAP
34 #include <tr1/unordered_map>
38 namespace _future = std::tr1;
43 #elif HAVE_BOOST_UNORDERED_MAP
45 #include <boost/unordered_map.hpp>
49 namespace _future = boost;
55 #error "No implementation of unordered_map available"
67 class KeyEqual = std::equal_to<Key>,
68 class Allocator = std::allocator<std::pair<const Key, T> >
69 >
using unordered_map =
public _future::unordered_map<Key,Hash,KeyEqual,Allocator>;
76 class KeyEqual = std::equal_to<Key>,
77 class Allocator = std::allocator<std::pair<const Key, T> >
79 class unordered_map :
public _future::unordered_map<Key,T,Hash,KeyEqual,Allocator> {
80 typedef _future::unordered_map<Key,T,Hash,KeyEqual,Allocator>
_Base;
87 typedef typename _Base::hasher
hasher;
101 const Hash&
hash = Hash(),
102 const KeyEqual& equal = KeyEqual(),
103 const Allocator& alloc = Allocator())
104 :
_Base(bucket_count,
hash, equal, alloc) {}
107 const Allocator& alloc)
110 template<
class InputIt>
115 const Hash&
hash = Hash(),
116 const KeyEqual& equal = KeyEqual(),
117 const Allocator& alloc = Allocator())
118 :
_Base(first, last, bucket_count,
hash, equal, alloc) {}
130 class KeyEqual = std::equal_to<Key>,
131 class Allocator = std::allocator<std::pair<const Key, T> >
134 typedef _future::unordered_multimap<Key,T,Hash,KeyEqual,Allocator>
_Base;
155 const Hash&
hash = Hash(),
156 const KeyEqual& equal = KeyEqual(),
157 const Allocator& alloc = Allocator())
158 :
_Base(bucket_count,
hash, equal, alloc) {}
161 const Allocator& alloc)
164 template<
class InputIt>
169 const Hash&
hash = Hash(),
170 const KeyEqual& equal = KeyEqual(),
171 const Allocator& alloc = Allocator())
172 :
_Base(first, last, bucket_count,
hash, equal, alloc) {}
_Base::key_equal key_equal
unordered_map(const unordered_map &other, const Allocator &alloc)
unordered_multimap(const unordered_multimap &other, const Allocator &alloc)
_Base::mapped_type mapped_type
_Base::key_equal key_equal
unordered_map(const Allocator &alloc)
_Base::const_iterator const_iterator
_Base::allocator_type allocator_type
unordered_multimap(const unordered_multimap &other)
_Base::size_type size_type
_Base::const_reference const_reference
_Base::local_iterator local_iterator
_Base::allocator_type allocator_type
unordered_multimap(const Allocator &alloc)
_Base::const_iterator const_iterator
const std::size_t unordered_map_default_bucket_count
_Base::value_type value_type
_Base::mapped_type mapped_type
_future::unordered_multimap< Key, T, Hash, KeyEqual, Allocator > _Base
_Base::value_type value_type
_future::unordered_map< Key, T, Hash, KeyEqual, Allocator > _Base
_Base::size_type size_type
_Base::const_reference const_reference
unordered_multimap(InputIt first, InputIt last, size_type bucket_count=unordered_map_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
_Base::reference reference
unordered_map(size_type bucket_count=unordered_map_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
_Base::difference_type difference_type
_Base::local_iterator local_iterator
unordered_map(InputIt first, InputIt last, size_type bucket_count=unordered_map_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
_Base::reference reference
_Base::const_local_iterator const_local_iterator
_Base::const_pointer const_pointer
_Base::const_local_iterator const_local_iterator
unordered_multimap(size_type bucket_count=unordered_map_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
_Base::const_pointer const_pointer
unordered_map(const unordered_map &other)
_Base::difference_type difference_type