52 struct no_thread : std::logic_error {
no_thread() : std::logic_error{
"neolib::ecs::i_system::no_thread" } {} };
85 virtual std::chrono::microseconds
update_time(std::size_t aMetricsIndex = 0)
const = 0;
virtual void terminate()=0
virtual ~i_system()=default
virtual const i_component & component(component_id aComponentId) const =0
virtual bool debug() const =0
virtual void start_thread()=0
virtual void set_debug(bool aDebug)=0
virtual const neolib::i_set< component_id > & components() const =0
virtual bool can_apply() const =0
virtual const system_id & id() const =0
virtual void wait_for(scalar aDuration)=0
virtual bool paused() const =0
virtual std::chrono::microseconds update_time(std::size_t aMetricsIndex=0) const =0
virtual neolib::i_set< component_id > & components()=0
virtual const neolib::i_string & name() const =0
virtual const i_component & component(component_id aComponentId)=0
virtual i_ecs & ecs() const =0
virtual void start_thread_if()=0
virtual bool waiting() const =0