Open 3D Engine AzCore API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
AZ::ReflectionManager Class Reference

#include <ReflectionManager.h>

Classes

struct  EntryPoint
 

Public Member Functions

 AZ_CLASS_ALLOCATOR (ReflectionManager, SystemAllocator)
 
void Clear ()
 Unreflect all entry points and contexts.
 
void Reflect (AZ::TypeId typeId, const ReflectionFunction &reflectEntryPoint)
 Add a reflect function with an associated typeid.
 
void Unreflect (AZ::TypeId typeId)
 Call unreflect on the entry point associated with the typeId.
 
void Reflect (StaticReflectionFunctionPtr reflectEntryPoint)
 Add a static reflect function.
 
void Unreflect (StaticReflectionFunctionPtr reflectEntryPoint)
 Unreflect a static reflect function.
 
template<typename ReflectContextT , typename = IsReflectContextT<ReflectContextT>>
void AddReflectContext ()
 Creates a reflect context, and reflects all registered entry points.
 
template<typename ReflectContextT , typename = IsReflectContextT<ReflectContextT>>
ReflectContextT * GetReflectContext ()
 Gets a reflect context of the requested type.
 
template<typename ReflectContextT , typename = IsReflectContextT<ReflectContextT>>
void RemoveReflectContext ()
 Destroy a reflect context (unreflects all entry points)
 

Protected Types

using EntryPointList = AZStd::list< EntryPoint >
 

Protected Member Functions

void AddReflectContext (AZStd::unique_ptr< ReflectContext > &&context)
 
ReflectContextGetReflectContext (AZ::TypeId contextTypeId)
 
void RemoveReflectContext (AZ::TypeId contextTypeId)
 

Protected Attributes

AZStd::vector< AZStd::unique_ptr< ReflectContext > > m_contexts
 
EntryPointList m_entryPoints
 
AZStd::unordered_map< TypeId, EntryPointList::iteratorm_typedEntryPoints
 
AZStd::unordered_map< StaticReflectionFunctionPtr, EntryPointList::iteratorm_nonTypedEntryPoints
 

Detailed Description

Class that manages all ReflectContexts and all reflection entry point functions


The documentation for this class was generated from the following file: