Raven Engine v0.1
Loading...
Searching...
No Matches
Type.h File Reference

Type registration and metadata access system. More...

Classes

class  Raven::TypeRegistry
 Global runtime type registry for Raven Engine. More...
struct  Raven::RegisterType< T >
struct  Raven::ContainedTypeRegistrar< T >
struct  Raven::ContainedTypeRegistrar< std::vector< T > >
struct  Raven::ContainedTypeRegistrar< std::array< T, N > >
struct  Raven::ContainedTypeRegistrar< std::unordered_map< T, N > >

Namespaces

namespace  Raven

Macros

#define REFLECT_TYPE_INTERN(Type, ID)
#define REFLECT_TYPE(Type)

Functions

template<typename T>
void Raven::RegisterContainedTypes ()

Detailed Description

Type registration and metadata access system.

Contains the central type registry responsible for tracking and accessing runtime type metadata. Types must be explicitly registered through the templated RegisterType function to become discoverable. This is primarily intended for internal engine use in support of Raven's reflection and serialization systems.

Note
This module is under active development. API and behavior may change significantly.
Author
SkyHorizon

Macro Definition Documentation

◆ REFLECT_TYPE

#define REFLECT_TYPE ( Type)
Value:
REFLECT_TYPE_INTERN(Type, __COUNTER__)
#define REFLECT_TYPE_INTERN(Type, ID)
Definition Type.h:144

◆ REFLECT_TYPE_INTERN

#define REFLECT_TYPE_INTERN ( Type,
ID )
Value:
inline static RegisterType<Type> CONCAT(reflect_type_, ID){};
#define CONCAT(a, b)
Definition ReflectionUtils.h:63