Vcsn  2.0
Be Rational
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
unordered_map.hh
Go to the documentation of this file.
1 #ifndef VCSN_MISC_UNORDERED_MAP_HH
2 # define VCSN_MISC_UNORDERED_MAP_HH
3 
4 # include <unordered_map>
5 
6 namespace vcsn
7 {
8 
10  template <typename Key, typename T,
11  typename Hash, typename KeyEqual, typename Alloc>
12  inline
13  size_t
14  collision_count(const std::unordered_map<Key, T, Hash, KeyEqual, Alloc>& m)
15  {
16  size_t res = 0;
17  for (size_t i = 0; i < m.bucket_count(); ++i)
18  res += m.bucket_size(i);
19  return res;
20  }
21 
23  template <typename Key, typename T,
24  typename Hash, typename KeyEqual, typename Alloc>
25  inline
26  bool
27  has(const std::unordered_map<Key, T, Hash, KeyEqual, Alloc>& m,
28  const Key& k)
29  {
30  return m.find(k) != std::end(m);
31  }
32 
33 }
34 
35 #endif // !VCSN_MISC_UNORDERED_MAP_HH
size_t collision_count(const std::unordered_map< Key, T, Hash, KeyEqual, Alloc > &m)
Sum of bucket sizes.
bool has(const std::map< Key, Value, Compare, Alloc > &s, const Key &e)
Definition: map.hh:35