hash.h File Reference
#include <cstddef>
#include <cstdint>
#include "ttg/util/void.h"
#include "ttg/util/hash/std/pair.h"
Classes | |
class | ttg::detail::FNVhasher |
byte-wise hasher More... | |
struct | ttg::detail::hash_combine_impl |
combines 2 hash values; implementation based on boost::hash_combine_impl<64> from Boost v1.79.0 More... | |
struct | ttg::meta::has_member_function_hash< T, Enabler > |
struct | ttg::meta::has_member_function_hash< T, std::void_t< decltype(std::declval< const T & >().hash())> > |
struct | ttg::overload::hash< T, std::enable_if_t< meta::has_member_function_hash_v< T > > > |
instantiation of hash for types which have member function hash() that returns More... | |
struct | ttg::overload::hash< void, void > |
instantiation of hash for void More... | |
struct | ttg::overload::hash< Void, void > |
instantiation of hash for Void More... | |
struct | ttg::meta::has_ttg_hash_specialization< T, Enabler > |
struct | ttg::meta::has_ttg_hash_specialization< T, ttg::meta::void_t< decltype(std::declval< ttg::hash< T >>()(std::declval< const T & >()))> > |
Namespaces | |
ttg | |
top-level TTG namespace contains runtime-neutral functionality | |
ttg::detail | |
ttg::meta | |
ttg::overload | |
place for overloading/instantiating hash and other functionality | |
Functions | |
template<class T > | |
void | ttg::hash_combine (std::size_t &seed, T const &v) |
Variables | |
template<typename T > | |
constexpr bool | ttg::meta::has_member_function_hash_v = has_member_function_hash<T>::value |
template<typename T > | |
constexpr bool | ttg::meta::has_ttg_hash_specialization_v = has_ttg_hash_specialization<T>::value |