Lightmetrica
0.0.1.50dbee3 (yosakoi)
|
#include <component.h>
Public Member Functions | |
virtual std::string | ComponentInterfaceTypeName () const =0 |
virtual std::string | ComponentImplTypeName () const =0 |
Public Member Functions inherited from SIMDAlignedType | |
void * | operator new (std::size_t size) throw (std::bad_alloc) |
void | operator delete (void *p) |
Component. The base class for component classes. Component system of lightmetrica renderer enable the implementer to reduce unnecessary headers and factory classes. The design of the system is inspired by the thread: http://gamedev.stackexchange.com/questions/17746/entity-component-systems-in-c-how-do-i-discover-types-and-construct-component
Inherited classes are managed by intrusive reference counter in order to provide consistent memory management. All memory allocation is done in the shared object / dynamic library side.
|
pure virtual |
Get component implementation type. This function is automatically implemented with LM_COMPONENT_IMPL_DEF macro.
|
pure virtual |
Get component interface type. This function is automatically implemented with LM_COMPONENT_INTERFACE_DEF macro.