Service& service_registry::use_service(io_context& owner) { execution_context::service::key key; init_key<Service>(key, 0); factory_type factory = &service_registry::create<Service, io_context>; return *static_cast<Service*>(do_use_service(key, factory, &owner)); }
Service& service_registry::use_service() { lslboost::asio::io_service::service::key key; init_key(key, Service::id); factory_type factory = &service_registry::create<Service>; return *static_cast<Service*>(do_use_service(key, factory)); }
Service& service_registry::use_service() { execution_context::service::key key; init_key(key, Service::id); factory_type factory = &service_registry::create<Service, execution_context>; return *static_cast<Service*>(do_use_service(key, factory, &owner_)); }