tagval 0.2.0
Modern C++23 header-only library of tagged values (open/closed enumerations with metadata)
Loading...
Searching...
No Matches
hash.hpp File Reference

std::hash partial specialization for any tagval value type. More...

#include <tagval/base.hpp>
#include <concepts>
#include <cstddef>
#include <functional>
#include <string_view>
+ Include dependency graph for hash.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  std::hash< T >
 

Namespaces

namespace  tagval
 
namespace  tagval::detail
 

Functions

std::size_t tagval::detail::hash_combine (std::size_t seed, const std::size_t v) noexcept
 

Detailed Description

std::hash partial specialization for any tagval value type.

Hashes the (kind_id, code) pair so cross-kind handles do not collide accidentally. Hash values are not stable across processes — the underlying std::hash<std::string_view> is implementation-defined and may even be salted per-process.