26 #ifndef FUTURE_UNORDERED_SET_HPP_
27 #define FUTURE_UNORDERED_SET_HPP_ 1
32 #if HAVE_STD_TR1_UNORDERED_SET
34 #include <tr1/unordered_set>
38 namespace _future = std::tr1;
43 #elif HAVE_BOOST_UNORDERED_SET
45 #include <boost/unordered_set.hpp>
49 namespace _future = boost;
55 #error "No implementation of unordered_set available"
67 class KeyEqual = std::equal_to<Key>,
68 class Allocator = std::allocator<Key>
69 >
using unordered_set =
public _future::unordered_set<Key,Hash,KeyEqual,Allocator>;
75 class KeyEqual = std::equal_to<Key>,
76 class Allocator = std::allocator<Key>
78 class unordered_set :
public _future::unordered_set<Key,Hash,KeyEqual,Allocator> {
79 typedef _future::unordered_set<Key,Hash,KeyEqual,Allocator>
_Base;
85 typedef typename _Base::hasher
hasher;
99 const Hash&
hash = Hash(),
100 const KeyEqual& equal = KeyEqual(),
101 const Allocator& alloc = Allocator())
102 :
_Base(bucket_count,
hash, equal, alloc) {}
105 const Allocator& alloc)
108 template<
class InputIt>
113 const Hash&
hash = Hash(),
114 const KeyEqual& equal = KeyEqual(),
115 const Allocator& alloc = Allocator())
116 :
_Base(first, last, bucket_count,
hash, equal, alloc) {}
127 class KeyEqual = std::equal_to<Key>,
128 class Allocator = std::allocator<Key>
131 typedef _future::unordered_multiset<Key,Hash,KeyEqual,Allocator>
_Base;
151 const Hash&
hash = Hash(),
152 const KeyEqual& equal = KeyEqual(),
153 const Allocator& alloc = Allocator())
154 :
_Base(bucket_count,
hash, equal, alloc) {}
157 const Allocator& alloc)
160 template<
class InputIt>
165 const Hash&
hash = Hash(),
166 const KeyEqual& equal = KeyEqual(),
167 const Allocator& alloc = Allocator())
168 :
_Base(first, last, bucket_count,
hash, equal, alloc) {}
const std::size_t unordered_set_default_bucket_count
_Base::difference_type difference_type
unordered_multiset(const Allocator &alloc)
unordered_set(size_type bucket_count=unordered_set_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
_Base::const_iterator const_iterator
_Base::const_reference const_reference
_Base::const_iterator const_iterator
_Base::local_iterator local_iterator
unordered_set(InputIt first, InputIt last, size_type bucket_count=unordered_set_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
unordered_multiset(const unordered_multiset &other)
_Base::size_type size_type
_Base::allocator_type allocator_type
unordered_multiset(const unordered_multiset &other, const Allocator &alloc)
_Base::allocator_type allocator_type
_Base::const_pointer const_pointer
_Base::reference reference
_Base::value_type value_type
_future::unordered_set< Key, Hash, KeyEqual, Allocator > _Base
_Base::value_type value_type
unordered_multiset(InputIt first, InputIt last, size_type bucket_count=unordered_set_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
_Base::const_reference const_reference
unordered_set(const Allocator &alloc)
_Base::reference reference
unordered_set(const unordered_set &other, const Allocator &alloc)
_Base::const_local_iterator const_local_iterator
_Base::difference_type difference_type
_future::unordered_multiset< Key, Hash, KeyEqual, Allocator > _Base
_Base::size_type size_type
unordered_set(const unordered_set &other)
_Base::key_equal key_equal
_Base::key_equal key_equal
_Base::const_pointer const_pointer
unordered_multiset(size_type bucket_count=unordered_set_default_bucket_count, const Hash &hash=Hash(), const KeyEqual &equal=KeyEqual(), const Allocator &alloc=Allocator())
_Base::const_local_iterator const_local_iterator
_Base::local_iterator local_iterator