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.