|  | Home | Libraries | People | FAQ | More | 
        A class is a service if it is publicly derived from another service, or if
        it is a class derived from io_service::service
        and contains a publicly-accessible declaration as follows:
      
static io_service::id id;
        All services define a one-argument constructor that takes a reference to
        the io_service object that
        owns the service. This constructor is explicit, preventing
        its participation in automatic conversions. For example:
      
class my_service : public io_service::service { public: static io_service::id id; explicit my_service(io_service& ios); private: virtual void shutdown_service(); ... };
        A service's shutdown_service
        member function must cause all copies of user-defined handler objects that
        are held by the service to be destroyed.