neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
services.hpp File Reference
#include <stdexcept>
#include <atomic>
#include <mutex>
#include <neolib/core/uuid.hpp>

Go to the source code of this file.

Classes

struct  neolib::services::no_service_provider_instance
 
struct  neolib::services::service_provider_instance_exists
 
struct  neolib::services::service_not_found
 
class  neolib::services::i_service
 
class  neolib::services::i_service_provider
 

Namespaces

namespace  neolib
 
namespace  neolib::services
 

Functions

template<typename Service >
std::atomic< Service * > & neolib::services::service_ptr ()
 
i_service_providerneolib::services::allocate_service_provider ()
 
i_service_providerneolib::services::get_service_provider ()
 
void neolib::services::set_service_provider (i_service_provider &aServiceProvider)
 
template<typename Service >
bool neolib::services::service_registered ()
 
template<typename Service >
void neolib::services::register_service (Service &aService)
 
template<typename Service >
void neolib::services::unregister_service (Service &aService)
 
template<typename Service >
Serviceneolib::services::start_service ()
 
template<typename Service >
void neolib::services::teardown_service ()
 
template<typename Service >
Serviceneolib::services::service ()