32 Concurrency support library [thread]
namespace std {
  class stop_source {
  public:
    
    stop_source();
    explicit stop_source(nostopstate_t) noexcept {}
    
    void swap(stop_source&) noexcept;
    stop_token get_token() const noexcept;
    bool stop_possible() const noexcept;
    bool stop_requested() const noexcept;
    bool request_stop() noexcept;
    bool operator==(const stop_source& rhs) noexcept = default;
  private:
    shared_ptr<unspecified> stop-state;                         
  };
}
stop-state refers to the 
stop_source's associated stop state
.  A 
stop_source object is disengaged when 
stop-state is empty
.