14 template<
typename Tag,
typename TType>
struct TypedID {
38template<
typename Tag,
typename Type>
struct std::hash<
CeresEngine::TypedID<Tag, Type>> {
39 using result_type = std::size_t;
42 result_type operator()(
const argument_type&
id)
const {
return std::hash<Type>{}(
id.raw); }
Definition Application.hpp:19
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25
Definition TypedID.hpp:14
constexpr bool operator==(const TypedID &value) const noexcept
Definition TypedID.hpp:30
TType Type
Definition TypedID.hpp:15
constexpr bool operator!=(const TypedID &value) const noexcept
Definition TypedID.hpp:31
constexpr TypedID(Type raw) noexcept
Definition TypedID.hpp:24
constexpr TypedID() noexcept
Definition TypedID.hpp:23
constexpr bool isValid() const noexcept
Definition TypedID.hpp:33
constexpr Type getValue() const noexcept
Definition TypedID.hpp:28
Type raw
Definition TypedID.hpp:18
static constexpr Type Default
Definition TypedID.hpp:21