Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
Id.hpp File Reference
#include "EntityToIDString.hpp"
#include <entt/entt.hpp>
#include <fmt/format.h>

Go to the source code of this file.

Classes

struct  Engine::BasicId< TDerived, TValue >
 An Id class for creating strongly-typed ID wrappers. This template provides a common interface for ID types by wrapping a value type with type-safe operations. Derived classes should implement static NullValue() and Null() methods to define null/invalid ID semantics. More...
struct  Engine::Id
 A strongly-typed identifier wrapper based on entt::id_type. This structure provides a type-safe wrapper around EnTT's id_type, offering implicit conversion to the underlying type for seamless integration with EnTT components. It inherits from BasicId to provide null checking and other common ID operations. More...
struct  Engine::StringId
 Static assertion to ensure that the size of Id matches the size of entt::id_type, guaranteeing that there is no additional overhead from the wrapper and that it can be used interchangeably with entt::id_type without penalties. More...
struct  entt::entt_traits< Engine::Id >
 Specialization of entt::entt_traits for Engine::Id, allowing it to be used as an entity identifier type in EnTT's ECS system. This specialization defines the necessary traits for Engine::Id to be recognized as a valid identifier type by EnTT, enabling its use in components, systems, and other EnTT features that rely on entity identifiers. More...
struct  fmt::formatter< Engine::Id >
 Specialization of fmt::formatter for Engine::Id, allowing it to be formatted using the fmt library. More...
struct  fmt::formatter< Engine::StringId >
 Specialization of fmt::formatter for Engine::StringId, allowing it to be formatted using the fmt library. This formatter formats the StringId by extracting the original string representation from the underlying entt::hashed_string and formatting it as a std::string_view, which provides a human-readable representation of the StringId for debugging and logging purposes. More...

Namespaces

namespace  Engine