DEKI/ENGINE docs
Deki 0.19.0
Modular C++ 2D engine for embedded displays and desktop
Loading...
Searching...
No Matches
TypeId.h File Reference

Classes

struct  Deki::Detail::TypeNameProbe

Namespaces

namespace  Deki
namespace  Deki::Detail
 A class entry for a component the codegen never saw (a test double, a type defined in a .cpp).

Typedefs

using Deki::ComponentType = uint32_t

Functions

constexpr uint32_t Deki::HashString (const char *str, uint32_t hash=2166136261u)
 FNV-1a of a C string; the hash behind every type and property id.
uint32_t Deki::HashStringLen (const char *str, uint16_t length)
 The same hash over a string with a length (msgpack keys are not null-terminated).
constexpr uint32_t Deki::HashStringView (std::string_view s)
 The same hash over a string_view, usable in constant expressions.
template<class T>
constexpr std::string_view Deki::Detail::RawTypeSignature ()
constexpr bool Deki::Detail::StartsWith (std::string_view s, std::string_view p)
template<class T>
constexpr std::string_view Deki::TypeNameOf ()
 The fully qualified name of T, such as "Game::Health".
template<class T>
constexpr std::string_view Deki::TypeShortNameOf ()
 The identifier alone, such as "Health" for Game::Health.
template<class T>
constexpr ComponentType Deki::TypeId ()
 The component type id of T: HashString of its fully qualified name.
template<class T>
constexpr const char * Deki::TypeName ()
 The fully qualified name of T as a null-terminated string with static storage.
template<class T>
constexpr const char * Deki::TypeShortName ()
 The identifier of T as a null-terminated string with static storage.