luna engine
software engine
Loading...
Searching...
No Matches
luna::objectDB Class Reference

object database class. @warn DO NOT TOUCH UNLESS YOU KNOW WHAT YOURE DOING!!! More...

#include <objectDB.h>

Collaboration diagram for luna::objectDB:

Classes

struct  classInfo
 

Static Public Member Functions

template<class T , class A >
static _ALWAYS_INLINE_ void addClass ()
 
template<class T >
static _ALWAYS_INLINE_ void removeRootClass ()
 
template<class T >
static _ALWAYS_INLINE_ void registerClass ()
 
template<class T >
static objectcreator ()
 
static _ALWAYS_INLINE_ void postinitialize_handler (void *)
 
template<class T >
static _ALWAYS_INLINE_ T * _post_initialize (T *p_obj)
 
static void createInstance (const std::string &className, scene *scene)
 
static _ALWAYS_INLINE_ classInfogetPtr (const std::string className)
 
template<class T >
static _ALWAYS_INLINE_ std::string getClassName ()
 

Static Public Attributes

static std::unordered_map< std::string, classInfo * > rootClassDatabase
 
static std::unordered_map< std::string, classInfoclassDatabase
 

Detailed Description

object database class. @warn DO NOT TOUCH UNLESS YOU KNOW WHAT YOURE DOING!!!

Member Function Documentation

◆ _post_initialize()

template<class T >
static _ALWAYS_INLINE_ T * luna::objectDB::_post_initialize ( T *  p_obj)
inlinestatic

◆ addClass()

template<class T , class A >
static _ALWAYS_INLINE_ void luna::objectDB::addClass ( )
inlinestatic

◆ createInstance()

void luna::objectDB::createInstance ( const std::string &  className,
scene scene 
)
static

◆ creator()

template<class T >
static object * luna::objectDB::creator ( )
inlinestatic

◆ getClassName()

template<class T >
static _ALWAYS_INLINE_ std::string luna::objectDB::getClassName ( )
inlinestatic

◆ getPtr()

static _ALWAYS_INLINE_ classInfo * luna::objectDB::getPtr ( const std::string  className)
inlinestatic

◆ postinitialize_handler()

static _ALWAYS_INLINE_ void luna::objectDB::postinitialize_handler ( void *  )
inlinestatic

◆ registerClass()

template<class T >
static _ALWAYS_INLINE_ void luna::objectDB::registerClass ( )
inlinestatic

◆ removeRootClass()

template<class T >
static _ALWAYS_INLINE_ void luna::objectDB::removeRootClass ( )
inlinestatic

Member Data Documentation

◆ classDatabase

std::unordered_map<std::string, classInfo> luna::objectDB::classDatabase
inlinestatic

◆ rootClassDatabase

std::unordered_map<std::string, classInfo*> luna::objectDB::rootClassDatabase
inlinestatic

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