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