neoGFX
Cross-platform C++ app/game engine
neogfx::game::i_shared_component Class Referenceabstract

#include <i_component.hpp>

Inheritance diagram for neogfx::game::i_shared_component:
neogfx::game::i_component_base neogfx::game::static_component_base< shared< ecs_data_type_t< Data > >, i_shared_component > neogfx::game::static_shared_component< Data >

Public Member Functions

virtual void * populate (const std::string &aName, const void *aComponentData, std::size_t aComponentDataSize)=0
 
template<typename ComponentData >
void * populate (const std::string &aName, ComponentData &&aComponentData)
 
- Public Member Functions inherited from neogfx::game::i_component_base
virtual ~i_component_base ()=default
 
virtual game::i_ecsecs () const =0
 
virtual const component_idid () const =0
 
virtual bool is_data_optional () const =0
 
virtual const i_stringname () const =0
 
virtual uint32_t field_count () const =0
 
virtual component_data_field_type field_type (uint32_t aFieldIndex) const =0
 
virtual neolib::uuid field_type_id (uint32_t aFieldIndex) const =0
 
virtual const i_stringfield_name (uint32_t aFieldIndex) const =0
 

Detailed Description

Definition at line 46 of file i_component.hpp.

Member Function Documentation

◆ populate() [1/2]

virtual void* neogfx::game::i_shared_component::populate ( const std::string &  aName,
const void *  aComponentData,
std::size_t  aComponentDataSize 
)
pure virtual

◆ populate() [2/2]

template<typename ComponentData >
void* neogfx::game::i_shared_component::populate ( const std::string &  aName,
ComponentData &&  aComponentData 
)
inline

Definition at line 51 of file i_component.hpp.


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