XII Release 0.1.0
Loading...
Searching...
No Matches
xiiObjectMetaData< KEY, VALUE > Class Template Reference

Copyright (c) Theophilus Eriata. All Rights Reserved. More...

#include <ObjectMetaData.h>

Classes

struct  EventData
class  Storage

Public Member Functions

 xiiObjectMetaData ()
 Copyright (c) Theophilus Eriata. All Rights Reserved.
bool HasMetaData (const KEY objectKey) const
void ClearMetaData (const KEY objectKey)
const VALUE * BeginReadMetaData (const KEY objectKey) const
 Will always return a non-null result. May be a default object.
void EndReadMetaData () const
VALUE * BeginModifyMetaData (const KEY objectKey)
void EndModifyMetaData (xiiUInt32 uiModifiedFlags=0xFFFFFFFF)
xiiMutex & GetMutex () const
const VALUE & GetDefaultValue () const
void AttachMetaDataToAbstractGraph (xiiAbstractObjectGraph &inout_graph) const
void RestoreMetaDataFromAbstractGraph (const xiiAbstractObjectGraph &graph)
 Uses reflection information from VALUE to restore all meta data properties from the graph.
xiiSharedPtr< xiiObjectMetaData< KEY, VALUE >::Storage > SwapStorage (xiiSharedPtr< xiiObjectMetaData< KEY, VALUE >::Storage > pNewStorage)
xiiSharedPtr< xiiObjectMetaData< KEY, VALUE >::Storage > GetStorage ()

Public Attributes

xiiEvent< const EventData & > m_DataModifiedEvent

Detailed Description

template<typename KEY, typename VALUE>
class xiiObjectMetaData< KEY, VALUE >

Copyright (c) Theophilus Eriata. All Rights Reserved.

Stores meta data for document objects that is not part of the object itself. E.g. editor-only states like hidden or prefab information.

Template Parameters
KEYThe key under which data is stored. Usually xiiUuid to reference document objects.
VALUEMeta value type to be stored.

Member Function Documentation

◆ AttachMetaDataToAbstractGraph()

template<typename KEY, typename VALUE>
void xiiObjectMetaData< KEY, VALUE >::AttachMetaDataToAbstractGraph ( xiiAbstractObjectGraph & inout_graph) const

Uses reflection information from VALUE to store all properties that differ from the default value as additional properties for the graph objects.


The documentation for this class was generated from the following files:
  • /home/runner/work/XII/XII/Source/Tools/Libs/ToolsFoundation/Object/ObjectMetaData.h
  • /home/runner/work/XII/XII/Source/Tools/Libs/ToolsFoundation/Object/Implementation/ObjectMetaData_inl.h