neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::services Namespace Reference

Classes

class  i_service
 
class  i_service_provider
 
struct  no_service_provider_instance
 
struct  service_not_found
 
struct  service_provider_instance_exists
 

Functions

template<typename Service >
std::atomic< Service * > & service_ptr ()
 
i_service_providerallocate_service_provider ()
 
i_service_providerget_service_provider ()
 
void set_service_provider (i_service_provider &aServiceProvider)
 
template<typename Service >
bool service_registered ()
 
template<typename Service >
void register_service (Service &aService)
 
template<typename Service >
void unregister_service (Service &aService)
 
template<typename Service >
Servicestart_service ()
 
template<typename Service >
void teardown_service ()
 
template<typename Service >
Serviceservice ()
 

Function Documentation

◆ allocate_service_provider()

i_service_provider & neolib::services::allocate_service_provider ( )

◆ get_service_provider()

i_service_provider & neolib::services::get_service_provider ( )

◆ register_service()

template<typename Service >
void neolib::services::register_service ( Service aService)
inline

Definition at line 93 of file services.hpp.

◆ service()

template<typename Service >
Service & neolib::services::service ( )
inline

Definition at line 113 of file services.hpp.

◆ service_ptr()

template<typename Service >
std::atomic< Service * > & neolib::services::service_ptr ( )
inline

Definition at line 50 of file services.hpp.

◆ service_registered()

template<typename Service >
bool neolib::services::service_registered ( )
inline

Definition at line 87 of file services.hpp.

◆ set_service_provider()

void neolib::services::set_service_provider ( i_service_provider aServiceProvider)

◆ start_service()

template<typename Service >
Service & neolib::services::start_service ( )

◆ teardown_service()

template<typename Service >
void neolib::services::teardown_service ( )

◆ unregister_service()

template<typename Service >
void neolib::services::unregister_service ( Service aService)
inline

Definition at line 100 of file services.hpp.