[coroutine.handle.export.import]

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

## 17.13 Coroutines [[support.coroutine]](support.coroutine#coroutine.handle.export.import)

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

#### 17.13.4.4 Export/import [coroutine.handle.export.import]

[ð](#lib:address,coroutine_handle)

`constexpr void* address() const noexcept;
`

[1](#1)

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

*Returns*: ptr[.](#1.sentence-1)

[ð](#lib:from_address,coroutine_handle)

`static constexpr coroutine_handle<> coroutine_handle<>::from_address(void* addr);
`

[2](#2)

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

*Preconditions*: addr was obtained via a prior call to address on an object whose type is a specialization of coroutine_handle[.](#2.sentence-1)

[3](#3)

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

*Postconditions*: from_address(address()) == *this[.](#3.sentence-1)

[ð](#lib:from_address,coroutine_handle_)

`static constexpr coroutine_handle<Promise> coroutine_handle<Promise>::from_address(void* addr);
`

[4](#4)

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

*Preconditions*: addr was obtained via a prior call to address on an object of type cv coroutine_handle<Promise>[.](#4.sentence-1)

[5](#5)

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

*Postconditions*: from_address(address()) == *this[.](#5.sentence-1)
