smats  0.0.1
Satisfability Modulo Arithmetic Theories Symbols
Loading...
Searching...
No Matches
smats::Hashable Concept Reference

#include <concepts.h>

Concept definition

template<class T, class U>
concept smats::Hashable = requires(T t, U& hasher) {
{ t.hash(hasher) } noexcept -> std::same_as<void>;
} && InvocableHashAlgorithm<U>
Definition concepts.h:101

Detailed Description

Check if the type T is hashable, meaning it is not a simple type and provides a void hash(InvocableHashAlgorithm hasher) noexcept const method.

Template Parameters
Ttype to check
Ureturn type of the hash value