[stoptoken.inplace.general]

# 32 Concurrency support library [[thread]](./#thread)

## 32.3 Stop tokens [[thread.stoptoken]](thread.stoptoken#stoptoken.inplace.general)

### 32.3.8 Class inplace_stop_token [[stoptoken.inplace]](stoptoken.inplace#general)

#### 32.3.8.1 General [stoptoken.inplace.general]

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/threads.tex#L1158)

The class inplace_stop_token models
the concept [stoppable_token](stoptoken.concepts#concept:stoppable_token "32.3.3 Stop token concepts [stoptoken.concepts]")[.](#1.sentence-1)

It references the stop state of
its associated inplace_stop_source object ([[stopsource.inplace]](stopsource.inplace "32.3.9 Class inplace_­stop_­source")),
if any[.](#1.sentence-2)

namespace std {class inplace_stop_token {public:template<class CallbackFn>using callback_type = inplace_stop_callback<CallbackFn>;

 inplace_stop_token() = default; bool operator==(const inplace_stop_token&) const = default; // [[stoptoken.inplace.mem]](stoptoken.inplace.mem "32.3.8.2 Member functions"), member functionsbool stop_requested() const noexcept; bool stop_possible() const noexcept; void swap(inplace_stop_token&) noexcept; private:const inplace_stop_source* *stop-source* = nullptr; // *exposition only*};}
