This is the TR1 hashtable implementation from gcc4, adapted to build in Atlas. Once the TR1 library is available on all our platforms, we can switch to using the system-supplied version instead. More...
#include <algorithm>#include <utility>#include <iterator>#include <cstddef>#include <cstdlib>#include <cmath>#include <limits>#include <string>#include "boost/type_traits/remove_const.hpp"Go to the source code of this file.
Classes | |
| struct | CxxUtils_Internal::integral_constant< _Tp, __v > |
| struct | SG::hash< T * > |
| struct | SG::Fnv_hash< size_t > |
| struct | SG::Fnv_hash< 4 > |
| struct | SG::Fnv_hash< 8 > |
| struct | SG::hash< std::string > |
| struct | SG::hash< float > |
| struct | SG::hash< double > |
| struct | SG::hash< long double > |
| struct | CxxUtils_Internal::IF< true, IfTrue, IfFalse > |
| struct | CxxUtils_Internal::IF< false, IfTrue, IfFalse > |
| struct | CxxUtils_Internal::hash_node< Value, true > |
| struct | CxxUtils_Internal::hash_node< Value, false > |
| struct | CxxUtils_Internal::node_iterator_base< Value, cache > |
| struct | CxxUtils_Internal::node_iterator< Value, constant_iterators, cache > |
| struct | CxxUtils_Internal::node_const_iterator< Value, constant_iterators, cache > |
| struct | CxxUtils_Internal::hashtable_iterator_base< Value, cache > |
| struct | CxxUtils_Internal::hashtable_iterator< Value, constant_iterators, cache > |
| struct | CxxUtils_Internal::hashtable_const_iterator< Value, constant_iterators, cache > |
| struct | CxxUtils_Internal::identity< T > |
| struct | CxxUtils_Internal::extract1st< Pair > |
| struct | CxxUtils_Internal::mod_range_hashing |
| struct | CxxUtils_Internal::default_ranged_hash |
| struct | CxxUtils_Internal::prime_rehash_policy |
| struct | CxxUtils_Internal::lt |
| struct | CxxUtils_Internal::X |
| struct | CxxUtils_Internal::map_base< K, V, Ex, unique, Hashtable > |
| struct | CxxUtils_Internal::map_base< K, Pair, extract1st< Pair >, false, Hashtable > |
| struct | CxxUtils_Internal::map_base< K, Pair, extract1st< Pair >, true, Hashtable > |
| struct | CxxUtils_Internal::rehash_base< RehashPolicy, Hashtable > |
| struct | CxxUtils_Internal::rehash_base< prime_rehash_policy, Hashtable > |
| struct | CxxUtils_Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, H, false > |
| struct | CxxUtils_Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, false > |
| struct | CxxUtils_Internal::hash_code_base< Key, Value, ExtractKey, Equal, H1, H2, default_ranged_hash, true > |
| class | SG::hashtable< Key, Value, Allocator, ExtractKey, Equal, H1, H2, H, RehashPolicy, cache_hash_code, constant_iterators, unique_keys > |
Namespaces | |
| namespace | SG |
Constructor from a payload object. | |
Defines | |
| #define | CXXUTILS_HASHTABLE_H |
| #define | tr1_hashtable_define_trivial_hash(T) |
| #define | Internal CxxUtils_Internal |
Typedefs | |
|
typedef integral_constant < bool, true > | CxxUtils_Internal::true_type |
|
typedef integral_constant < bool, false > | CxxUtils_Internal::false_type |
Functions | |
| SG::tr1_hashtable_define_trivial_hash (bool) | |
| SG::tr1_hashtable_define_trivial_hash (char) | |
| SG::tr1_hashtable_define_trivial_hash (signed char) | |
| SG::tr1_hashtable_define_trivial_hash (unsigned char) | |
| SG::tr1_hashtable_define_trivial_hash (wchar_t) | |
| SG::tr1_hashtable_define_trivial_hash (short) | |
| SG::tr1_hashtable_define_trivial_hash (int) | |
| SG::tr1_hashtable_define_trivial_hash (long) | |
| template<class Iterator > | |
| std::iterator_traits< Iterator > ::difference_type | CxxUtils_Internal::distance_fw (Iterator, Iterator, std::input_iterator_tag) |
| template<class Iterator > | |
| std::iterator_traits< Iterator > ::difference_type | CxxUtils_Internal::distance_fw (Iterator first, Iterator last, std::forward_iterator_tag) |
| template<class Iterator > | |
| std::iterator_traits< Iterator > ::difference_type | CxxUtils_Internal::distance_fw (Iterator first, Iterator last) |
| template<typename Value , bool cache> | |
| bool | CxxUtils_Internal::operator== (const node_iterator_base< Value, cache > &x, const node_iterator_base< Value, cache > &y) |
| template<typename Value , bool cache> | |
| bool | CxxUtils_Internal::operator!= (const node_iterator_base< Value, cache > &x, const node_iterator_base< Value, cache > &y) |
| template<typename Value , bool cache> | |
| bool | CxxUtils_Internal::operator== (const hashtable_iterator_base< Value, cache > &x, const hashtable_iterator_base< Value, cache > &y) |
| template<typename Value , bool cache> | |
| bool | CxxUtils_Internal::operator!= (const hashtable_iterator_base< Value, cache > &x, const hashtable_iterator_base< Value, cache > &y) |
This is the TR1 hashtable implementation from gcc4, adapted to build in Atlas. Once the TR1 library is available on all our platforms, we can switch to using the system-supplied version instead.
1.6.1