StrongId.ixx File
Strongly-typed identifier template. More...
Included Headers
#include <cstdint>
#include <string_view>
#include <helios.core.types>
#include <helios.core.algorithms>
Namespaces Index
| namespace | helios |
| namespace | core |
|
Core utilities shared across the helios engine. More... | |
| namespace | data |
|
Core data structures for type indexing. More... | |
Classes Index
| struct | StrongId<Tag, Underlying> |
|
A strongly-typed identifier using tag-based type safety. More... | |
| struct | hash<helios::core::data::StrongId< Tag, Underlying >> |
Description
Strongly-typed identifier template.
File Listing
The file content with the documentation metadata removed is:
15export namespace helios::core::data {
28 struct StrongId {
43 explicit constexpr StrongId(const Underlying id) noexcept
57 : StrongId(helios::core::algorithms::fnv1a_hash(str)) {}
64 explicit constexpr StrongId(helios::core::types::no_init_t) {};
85 [[nodiscard]] explicit operator bool() const noexcept {
92 friend constexpr bool operator==(StrongId, StrongId) noexcept = default;
123 std::size_t operator()(const helios::core::data::StrongId<Tag, Underlying>& id) const noexcept {
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.