|  | neoGFX
    Cross-platform C++ app/game engine | 
#include <i_lifetime.hpp>
 
  
| Classes | |
| struct | already_destroyed | 
| struct | not_creating | 
| Public Member Functions | |
| virtual | ~i_lifetime ()=default | 
| virtual lifetime_state | object_state () const =0 | 
| virtual std::shared_ptr< std::atomic< lifetime_state > > | object_state_ptr () const =0 | 
| virtual bool | is_creating () const =0 | 
| virtual bool | is_alive () const =0 | 
| virtual bool | is_destroying () const =0 | 
| virtual bool | is_destroyed () const =0 | 
| virtual void | set_alive ()=0 | 
| virtual void | set_destroying ()=0 | 
| virtual void | set_destroyed ()=0 | 
Definition at line 68 of file i_lifetime.hpp.
| 
 | virtualdefault | 
Implemented in neolib::object< Base >, neolib::object< i_app >, neolib::object< i_button >, neolib::object< i_ecs >, neolib::object< i_image_widget >, neolib::object< i_layout >, neolib::object< i_object >, neolib::object< i_push_button >, neolib::object< i_radio_button >, neolib::object< i_spacer >, neolib::object< i_status_bar >, neolib::object< i_surface_window >, neolib::object< i_terminal >, neolib::object< i_text_widget >, neolib::object< i_title_bar >, neolib::object< i_widget >, neolib::object< i_window >, neolib::object< neogfx::i_window >, neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, and neolib::lifetime< reference_counted< i_timer_subscriber > >.
Implemented in neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, and neolib::lifetime< reference_counted< i_timer_subscriber > >.
Implemented in neolib::object< Base >, neolib::object< i_app >, neolib::object< i_button >, neolib::object< i_ecs >, neolib::object< i_image_widget >, neolib::object< i_layout >, neolib::object< i_object >, neolib::object< i_push_button >, neolib::object< i_radio_button >, neolib::object< i_spacer >, neolib::object< i_status_bar >, neolib::object< i_surface_window >, neolib::object< i_terminal >, neolib::object< i_text_widget >, neolib::object< i_title_bar >, neolib::object< i_widget >, neolib::object< i_window >, neolib::object< neogfx::i_window >, neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, and neolib::lifetime< reference_counted< i_timer_subscriber > >.
Implemented in neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, and neolib::lifetime< reference_counted< i_timer_subscriber > >.
| 
 | pure virtual | 
Implemented in neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, and neolib::lifetime< reference_counted< i_timer_subscriber > >.
| 
 | pure virtual | 
Implemented in neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, and neolib::lifetime< reference_counted< i_timer_subscriber > >.
Implemented in neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, and neolib::lifetime< reference_counted< i_timer_subscriber > >.
Implemented in neolib::object< Base >, neolib::object< i_app >, neolib::object< i_button >, neolib::object< i_ecs >, neolib::object< i_image_widget >, neolib::object< i_layout >, neolib::object< i_object >, neolib::object< i_push_button >, neolib::object< i_radio_button >, neolib::object< i_spacer >, neolib::object< i_status_bar >, neolib::object< i_surface_window >, neolib::object< i_terminal >, neolib::object< i_text_widget >, neolib::object< i_title_bar >, neolib::object< i_widget >, neolib::object< i_window >, neolib::object< neogfx::i_window >, neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, neolib::lifetime< reference_counted< i_timer_subscriber > >, and neolib::async_task.
Implemented in neolib::object< Base >, neolib::object< i_app >, neolib::object< i_button >, neolib::object< i_ecs >, neolib::object< i_image_widget >, neolib::object< i_layout >, neolib::object< i_object >, neolib::object< i_push_button >, neolib::object< i_radio_button >, neolib::object< i_spacer >, neolib::object< i_status_bar >, neolib::object< i_surface_window >, neolib::object< i_terminal >, neolib::object< i_text_widget >, neolib::object< i_title_bar >, neolib::object< i_widget >, neolib::object< i_window >, neolib::object< neogfx::i_window >, neolib::lifetime< Base >, neolib::lifetime< i_async_event_queue >, neolib::lifetime< i_event< Args... > >, neolib::lifetime< i_object >, neolib::lifetime< i_slot< Args... > >, neolib::lifetime< neogfx::i_window >, neolib::lifetime< reference_counted< i_timer_object > >, neolib::lifetime< reference_counted< i_timer_subscriber > >, and neolib::async_task.