neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::ecs::i_shared_component Class Referenceabstract

#include <i_component.hpp>

Inheritance diagram for neolib::ecs::i_shared_component:
neolib::ecs::i_component_base neolib::ecs::component_base< shared< ecs_data_type_t< Data > >, i_shared_component > neolib::ecs::shared_component< Data >

Public Member Functions

virtual const voidpopulate (const std::string &aName, const void *aComponentData, std::size_t aComponentDataSize)=0
 
template<typename ComponentData >
const voidpopulate (const std::string &aName, ComponentData &&aComponentData)
 
- Public Member Functions inherited from neolib::ecs::i_component_base
virtual ~i_component_base ()=default
 
virtual i_ecsecs () const =0
 
virtual const component_idid () const =0
 
virtual neolib::i_lockablemutex () const =0
 
virtual bool is_data_optional () const =0
 
virtual const neolib::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 neolib::i_stringfield_name (uint32_t aFieldIndex) const =0
 

Detailed Description

Definition at line 81 of file i_component.hpp.

Member Function Documentation

◆ populate() [1/2]

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

Definition at line 86 of file i_component.hpp.

◆ populate() [2/2]

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

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