namespace std { namespace experimental { namespace net { inline namespace v1 { class execution_context::service { protected: // construct / copy / destroy: explicit service(execution_context& owner); service(const service&) = delete; service& operator=(const service&) = delete; virtual ~service(); // service observers: execution_context& context() noexcept; private: // service operations: virtual void shutdown() noexcept = 0; virtual void notify_fork(fork_event e) {} execution_context& context_; // exposition only }; } // inline namespace v1 } // namespace net } // namespace experimental } // namespace std
explicit service(execution_context& owner);
Postconditions: std::addressof(context_) == std::addressof(owner).
execution_context& context() noexcept;
Returns: context_.