In file included from /usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/unordered_map:45:0,
from prog.cpp:1:
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h: In instantiation of 'std::_Hashtable<Foo, std::pair<const Foo, Bar>, TestAllocator<void>, std::_Select1st<std::pair<const Foo, Bar> >, TrivialEqual, TrivialHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, false, false, true>':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unordered_map.h:49:5: instantiated from 'std::__unordered_map<Foo, Bar, TrivialHash, TrivialEqual, TestAllocator<void>, false>'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unordered_map.h:222:5: instantiated from 'std::unordered_map<Foo, Bar, TrivialHash, TrivialEqual, TestAllocator<void> >'
prog.cpp:87:19: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h:140:59: error: no type named 'reference' in 'class TestAllocator<void>'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h:141:59: error: no type named 'const_reference' in 'class TestAllocator<void>'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h: In member function 'void std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_M_deallocate_buckets(std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_Node**, std::_Hashtable::size_type) [with _Key = Foo, _Value = std::pair<const Foo, Bar>, _Allocator = TestAllocator<void>, _ExtractKey = std::_Select1st<std::pair<const Foo, Bar> >, _Equal = TrivialEqual, _H1 = TrivialHash, _H2 = std::__detail::_Mod_range_hashing, _Hash = std::__detail::_Default_ranged_hash, _RehashPolicy = std::__detail::_Prime_rehash_policy, bool __cache_hash_code = false, bool __constant_iterators = false, bool __unique_keys = true, std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_Node = std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>, std::_Hashtable::size_type = unsigned int]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h:690:7: instantiated from 'std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::~_Hashtable() [with _Key = Foo, _Value = std::pair<const Foo, Bar>, _Allocator = TestAllocator<void>, _ExtractKey = std::_Select1st<std::pair<const Foo, Bar> >, _Equal = TrivialEqual, _H1 = TrivialHash, _H2 = std::__detail::_Mod_range_hashing, _Hash = std::__detail::_Default_ranged_hash, _RehashPolicy = std::__detail::_Prime_rehash_policy, bool __cache_hash_code = false, bool __constant_iterators = false, bool __unique_keys = true]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unordered_map.h:49:5: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h:533:55: error: no matching function for call to 'TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>::TestAllocator(std::_Hashtable<Foo, std::pair<const Foo, Bar>, TestAllocator<void>, std::_Select1st<std::pair<const Foo, Bar> >, TrivialEqual, TrivialHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, false, false, true>::_Node_allocator_type&)'
prog.cpp:28:1: note: candidates are: TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>::TestAllocator()
prog.cpp:28:1: note: TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>::TestAllocator(const TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>&)
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h: In constructor 'std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_Hashtable(std::_Hashtable::size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&) [with _Key = Foo, _Value = std::pair<const Foo, Bar>, _Allocator = TestAllocator<void>, _ExtractKey = std::_Select1st<std::pair<const Foo, Bar> >, _Equal = TrivialEqual, _H1 = TrivialHash, _H2 = std::__detail::_Mod_range_hashing, _Hash = std::__detail::_Default_ranged_hash, _RehashPolicy = std::__detail::_Prime_rehash_policy, bool __cache_hash_code = false, bool __constant_iterators = false, bool __unique_keys = true, std::_Hashtable::size_type = unsigned int, allocator_type = TestAllocator<void>]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unordered_map.h:71:66: instantiated from 'std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::__unordered_map(std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::size_type, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::hasher&, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::key_equal&, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::allocator_type&) [with _Key = Foo, _Tp = Bar, _Hash = TrivialHash, _Pred = TrivialEqual, _Alloc = TestAllocator<void>, bool __cache_hash_code = false, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::size_type = unsigned int, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::hasher = TrivialHash, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::key_equal = TrivialEqual, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::allocator_type = TestAllocator<void>]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unordered_map.h:237:36: instantiated from 'std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hasher&, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_equal&, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::allocator_type&) [with _Key = Foo, _Tp = Bar, _Hash = TrivialHash, _Pred = TrivialEqual, _Alloc = TestAllocator<void>, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type = unsigned int, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hasher = TrivialHash, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_equal = TrivialEqual, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::allocator_type = TestAllocator<void>]'
prog.cpp:87:19: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h:555:24: error: no matching function for call to 'TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false> >::TestAllocator(const std::_Hashtable<Foo, std::pair<const Foo, Bar>, TestAllocator<void>, std::_Select1st<std::pair<const Foo, Bar> >, TrivialEqual, TrivialHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, false, false, true>::allocator_type&)'
prog.cpp:28:1: note: candidates are: TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false> >::TestAllocator()
prog.cpp:28:1: note: TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false> >::TestAllocator(const TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false> >&)
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h: In member function 'std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_Node** std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_M_allocate_buckets(std::_Hashtable::size_type) [with _Key = Foo, _Value = std::pair<const Foo, Bar>, _Allocator = TestAllocator<void>, _ExtractKey = std::_Select1st<std::pair<const Foo, Bar> >, _Equal = TrivialEqual, _H1 = TrivialHash, _H2 = std::__detail::_Mod_range_hashing, _Hash = std::__detail::_Default_ranged_hash, _RehashPolicy = std::__detail::_Prime_rehash_policy, bool __cache_hash_code = false, bool __constant_iterators = false, bool __unique_keys = true, std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_Node = std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>, std::_Hashtable::size_type = unsigned int]':
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h:558:7: instantiated from 'std::_Hashtable<_Key, _Value, _Allocator, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, __cache_hash_code, __constant_iterators, __unique_keys>::_Hashtable(std::_Hashtable::size_type, const _H1&, const _H2&, const _Hash&, const _Equal&, const _ExtractKey&, const allocator_type&) [with _Key = Foo, _Value = std::pair<const Foo, Bar>, _Allocator = TestAllocator<void>, _ExtractKey = std::_Select1st<std::pair<const Foo, Bar> >, _Equal = TrivialEqual, _H1 = TrivialHash, _H2 = std::__detail::_Mod_range_hashing, _Hash = std::__detail::_Default_ranged_hash, _RehashPolicy = std::__detail::_Prime_rehash_policy, bool __cache_hash_code = false, bool __constant_iterators = false, bool __unique_keys = true, std::_Hashtable::size_type = unsigned int, allocator_type = TestAllocator<void>]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unordered_map.h:71:66: instantiated from 'std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::__unordered_map(std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::size_type, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::hasher&, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::key_equal&, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::allocator_type&) [with _Key = Foo, _Tp = Bar, _Hash = TrivialHash, _Pred = TrivialEqual, _Alloc = TestAllocator<void>, bool __cache_hash_code = false, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::size_type = unsigned int, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::hasher = TrivialHash, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::key_equal = TrivialEqual, std::__unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc, __cache_hash_code>::allocator_type = TestAllocator<void>]'
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/unordered_map.h:237:36: instantiated from 'std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map(std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hasher&, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_equal&, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::allocator_type&) [with _Key = Foo, _Tp = Bar, _Hash = TrivialHash, _Pred = TrivialEqual, _Alloc = TestAllocator<void>, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::size_type = unsigned int, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::hasher = TrivialHash, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::key_equal = TrivialEqual, std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::allocator_type = TestAllocator<void>]'
prog.cpp:87:19: instantiated from here
/usr/lib/gcc/i686-pc-linux-gnu/4.5.1/../../../../include/c++/4.5.1/bits/hashtable.h:514:55: error: no matching function for call to 'TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>::TestAllocator(std::_Hashtable<Foo, std::pair<const Foo, Bar>, TestAllocator<void>, std::_Select1st<std::pair<const Foo, Bar> >, TrivialEqual, TrivialHash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, false, false, true>::_Node_allocator_type&)'
prog.cpp:28:1: note: candidates are: TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>::TestAllocator()
prog.cpp:28:1: note: TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>::TestAllocator(const TestAllocator<std::__detail::_Hash_node<std::pair<const Foo, Bar>, false>*>&)