[coroutine.handle.observers]

# 17 Language support library [[support]](./#support)

## 17.13 Coroutines [[support.coroutine]](support.coroutine#coroutine.handle.observers)

### 17.13.4 Class template coroutine_handle [[coroutine.handle]](coroutine.handle#observers)

#### 17.13.4.5 Observers [coroutine.handle.observers]

[ð](#lib:operator_bool,coroutine_handle)

`constexpr explicit operator bool() const noexcept;
`

[1](#1)

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

*Returns*: address() != nullptr[.](#1.sentence-1)

[ð](#lib:done,coroutine_handle)

`bool done() const;
`

[2](#2)

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

*Preconditions*: *this refers to a suspended coroutine[.](#2.sentence-1)

[3](#3)

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

*Returns*: true if the coroutine is suspended at its
final suspend point, otherwise false[.](#3.sentence-1)
