[stopsource.cons]

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

## 32.3 Stop tokens [[thread.stoptoken]](thread.stoptoken#stopsource.cons)

### 32.3.5 Class stop_source [[stopsource]](stopsource#cons)

#### 32.3.5.2 Constructors, copy, and assignment [stopsource.cons]

[ð](#lib:stop_source,constructor)

`stop_source();
`

[1](#1)

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

*Effects*: Initializes *stop-state* with a pointer to a new stop state[.](#1.sentence-1)

[2](#2)

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

*Postconditions*: stop_possible() is true and stop_requested() is false[.](#2.sentence-1)

[3](#3)

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

*Throws*: bad_alloc if memory cannot be allocated for the stop state[.](#3.sentence-1)
