|  | neoGFX
    Cross-platform C++ app/game engine | 
#include <i_system.hpp>
 
  
| Classes | |
| struct | cannot_apply | 
| struct | no_thread | 
| struct | wrong_thread | 
| Public Member Functions | |
| virtual | ~i_system ()=default | 
| virtual i_ecs & | ecs () const =0 | 
| virtual const system_id & | id () const =0 | 
| virtual const neolib::i_string & | name () const =0 | 
| virtual const neolib::i_set< component_id > & | components () const =0 | 
| virtual neolib::i_set< component_id > & | components ()=0 | 
| virtual const i_component & | component (component_id aComponentId) const =0 | 
| virtual const i_component & | component (component_id aComponentId)=0 | 
| virtual bool | can_apply () const =0 | 
| virtual bool | apply ()=0 | 
| virtual bool | paused () const =0 | 
| virtual void | pause ()=0 | 
| virtual void | resume ()=0 | 
| virtual void | terminate ()=0 | 
| virtual bool | waiting () const =0 | 
| virtual void | wait ()=0 | 
| virtual void | wait_for (scalar aDuration)=0 | 
| virtual void | signal ()=0 | 
| virtual void | start_thread_if ()=0 | 
| virtual void | start_thread ()=0 | 
| virtual bool | debug () const =0 | 
| virtual void | set_debug (bool aDebug)=0 | 
| virtual std::chrono::microseconds | update_time (std::size_t aMetricsIndex=0) const =0 | 
Definition at line 49 of file i_system.hpp.
| 
 | virtualdefault | 
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
| 
 | pure virtual | 
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
| 
 | pure virtual | 
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
| 
 | pure virtual | 
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
| 
 | pure virtual | 
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
| 
 | pure virtual | 
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
| 
 | pure virtual | 
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.
Implemented in neolib::ecs::system< ComponentData >, neolib::ecs::system< entity_info, animation_filter, mesh_renderer, mesh_render_cache >, neolib::ecs::system< entity_info, box_collider, box_collider_2d >, neolib::ecs::system< entity_info, box_collider, box_collider_2d, mesh_filter, rigid_body, mesh_render_cache >, neolib::ecs::system< entity_info, entity_life_span >, and neolib::ecs::system<>.