15 #ifndef __UT_CONCURRENTHASHMAP_H_INCLUDED__
16 #define __UT_CONCURRENTHASHMAP_H_INCLUDED__
21 #include <hboost/container_hash/hash.hpp>
22 #include <tbb/concurrent_hash_map.h>
28 template <
typename Key>
32 std::size_t
hash(
const Key &
a)
const
36 bool equal(
const Key &
a,
const Key &
b)
const
41 hboost::hash<Key> myHasher;
42 std::equal_to<Key> myEqual;
51 typename A = tbb::tbb_allocator<std::pair<const K, T>>
55 template<
typename K,
typename V,
typename H,
typename A>
64 mem += map.bucket_count()*(
sizeof(intptr_t) +
sizeof(
void *));
67 mem += map.size()*(
sizeof(intptr_t) +
sizeof(
void *) +
sizeof(std::pair<K,V>));
72 #endif // __UT_CONCURRENTHASHMAP_H_INCLUDED__
GLboolean GLboolean GLboolean GLboolean a
std::size_t hash(const Key &a) const
STATIC_INLINE uint64_t H(uint64_t x, uint64_t y, uint64_t mul, int r)
tbb::concurrent_hash_map< K, T, H, A > UT_ConcurrentHashMap
int64 UTgetMemoryUsage(const UT_ConcurrentHashMap< K, V, H, A > &map, const bool inclusive)
GLboolean GLboolean GLboolean b
bool equal(const Key &a, const Key &b) const