#include <entityobjectgraphitem.h>
Public Types | |
enum | EType : uint8_t { Object, File } |
using | Type = rtti::Object * |
using | ClonedResourceMap = std::unordered_map< rtti::Object *, std::vector< rtti::Object * > > |
using | ObjectsByTypeMap = std::unordered_map< rtti::TypeInfo, std::vector< rtti::Object * > > |
Public Member Functions | |
const std::string | getID () const |
uint8_t | getType () const |
bool | getPointees (std::vector< EntityObjectGraphItem > &pointees, utility::ErrorState &errorState) const |
Static Public Member Functions | |
static const EntityObjectGraphItem | create (rtti::Object *object, const ObjectsByTypeMap &objectsByType, const ClonedResourceMap &clonedResourceMap) |
Public Attributes | |
EType | mType |
std::string | mFilename |
rtti::Object * | mObject = nullptr |
const ObjectsByTypeMap * | mObjectsByType = nullptr |
const ClonedResourceMap * | mClonedResourceMap = nullptr |
Item class for ObjectGraph usage. Wraps both an RTTIObject and a File object (by filename). Uses RTTI traversal to scan pointers to other objects and pointers to files.
using ClonedResourceMap = std::unordered_map<rtti::Object*, std::vector<rtti::Object*> > |
using ObjectsByTypeMap = std::unordered_map<rtti::TypeInfo, std::vector<rtti::Object*> > |
using Type = rtti::Object* |
|
strong |
|
static |
Creates a graph item.
object | Object to wrap in the item that is created. |
objectsByType | used to track and group objects by type. |
clonedResourceMap | used to track cloned resources. |
const std::string getID | ( | ) | const |
bool getPointees | ( | std::vector< EntityObjectGraphItem > & | pointees, |
utility::ErrorState & | errorState | ||
) | const |
Performs rtti traversal of pointers to both files and objects.
pointees | Output parameter, contains all objects and files this object points to. |
errorState | If false is returned, contains information about the error. |
uint8_t getType | ( | ) | const |
const ClonedResourceMap* mClonedResourceMap = nullptr |
std::string mFilename |
rtti::Object* mObject = nullptr |
const ObjectsByTypeMap* mObjectsByType = nullptr |
EType mType |