Clingo
|
Generic functions for equality comparison and hash computation. More...
Classes | |
struct | CppClingo::Util::value_hasher |
Compute a hash using std::hash. More... | |
struct | CppClingo::Util::value_equal_to |
Helper class to compare pointers and some STL containers holding pointers by value. More... | |
class | CppClingo::Util::array_hash |
Hasher for arrays of dynamic but fixed size. More... | |
struct | CppClingo::Util::array_equal_to |
Comparison operator for arrays of dynamic but fixed size. More... | |
Functions | |
auto | CppClingo::Util::hash_mix (size_t h) -> size_t |
Perturb the given seed. | |
template<class... T> | |
auto | CppClingo::Util::hash_combine (T... a) -> size_t |
Combine the given hashes. | |
auto | CppClingo::Util::value_hash (std::type_info const &x) -> size_t |
Compute a hash for type_info. | |
template<class T > | |
auto | CppClingo::Util::value_hash (T const &x) -> size_t |
Compute a hash using std::hash. | |
template<class T > | |
auto | CppClingo::Util::value_hash (T *x) -> size_t |
Compute hash for pointers. | |
template<class T > | |
auto | CppClingo::Util::value_hash (std::optional< T > const &x) -> size_t |
Compute hash for optionals. | |
template<class T > | |
auto | CppClingo::Util::value_hash (std::reference_wrapper< T > const &x) -> size_t |
Compute hash for reference_wrapper. | |
template<class T , class D > | |
auto | CppClingo::Util::value_hash (std::unique_ptr< T, D > const &x) -> size_t |
Compute hash for unique_ptr. | |
template<class T > | |
auto | CppClingo::Util::value_hash (immutable_value< T > const &x) -> size_t |
Compute hash for immutable_value. | |
template<class T , class U > | |
auto | CppClingo::Util::value_hash (std::pair< T, U > const &x) -> size_t |
Compute the hash of a pair. | |
template<class... T> | |
auto | CppClingo::Util::value_hash (std::tuple< T... > const &x) -> size_t |
Compute the hash of a tuple. | |
template<class... T> | |
auto | CppClingo::Util::value_hash (std::variant< T... > const &x) -> size_t |
Compute the hash of a variant. | |
template<class T , size_t E> | |
auto | CppClingo::Util::value_hash (std::span< T, E > const &x) -> size_t |
Compute the hash of a span. | |
template<class T , class A > | |
auto | CppClingo::Util::value_hash (std::vector< T, A > const &x) -> size_t |
Compute the hash of a vector. | |
template<class T > | |
auto | CppClingo::Util::value_hash (Util::immutable_array< T > const &x) -> size_t |
Compute the hash of an immutable array. | |
template<class T , size_t N> | |
auto | CppClingo::Util::value_hash (Util::small_vector< T, N > const &x) -> size_t |
Compute the hash of an immutable array. | |
auto | CppClingo::Util::value_hash (char const *x) -> size_t |
Compute the hash of a string. | |
auto | CppClingo::Util::value_hash (std::string_view const &x) -> size_t |
Compute the hash of a string. | |
auto | CppClingo::Util::value_hash (std::string const &x) -> size_t |
Compute the hash of a string. | |
template<class T > | |
auto | CppClingo::Util::value_hash_range (T const &x) -> size_t |
Compute the hash for a given range of elements. | |
template<class T , class... Args> | |
auto | CppClingo::Util::value_hash_record (Args const &...x) -> size_t |
Compute and combine the hashes of the given arguments. | |
Generic functions for equality comparison and hash computation.