5#include <Foundation/Basics.h>
6#include <Foundation/Reflection/Reflection.h>
7#include <Foundation/Serialization/AbstractObjectGraph.h>
25 PL_DECLARE_POD_TYPE();
42 virtual void DeleteObject(
const plUuid& guid);
44 virtual void RegisterObject(
const plUuid& guid,
const plRTTI* pRtti,
void* pObject);
45 virtual void UnregisterObject(
const plUuid& guid);
48 virtual plUuid GetObjectGUID(
const plRTTI* pRtti,
const void* pObject)
const;
55 for (
auto it : m_GuidToObject)
57 if (it.Value().m_pType->IsDerivedFrom(plGetStaticRTTI<T>()))
59 out_objects.
PushBack(
static_cast<T*
>(it.Value().m_pObject));
62 out_pUuids->PushBack(it.Key());
90 return AddObjectToGraph(pObject->GetDynamicRTTI(), pObject, szNodeName);
Definition AbstractObjectGraph.h:115
Definition AbstractObjectGraph.h:17
This is the base interface for all properties in the reflection system. It provides enough informatio...
Definition AbstractProperty.h:150
void PushBack(const T &value)
Pushes value at the end of the array.
Definition ArrayBase_inl.h:333
Definition DynamicArray.h:81
Definition HashTable.h:333
This class holds information about reflected types. Each instance represents one type that is known t...
Definition RTTI.h:30
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
Definition RttiConverter.h:33
Definition RttiConverter.h:106
Definition RttiConverter.h:81
plStringView represent a read-only sub-string of a larger string, as it can store a dedicated string ...
Definition StringView.h:34
This data type is the abstraction for 128-bit Uuid (also known as GUID) instances.
Definition Uuid.h:11
plVariant is a class that can store different types of variables, which is useful in situations where...
Definition Variant.h:44
Definition AbstractObjectGraph.h:20
Definition Allocator_inl.h:18
Definition RttiConverter.h:13