Namespaces
Variants
Views
Actions

std::coroutine_handle<Promise>::from_address

From cppreference.com
 
 
Utilities library
Language support
Type support (basic types, RTTI)
Library feature-test macros (C++20)
Dynamic memory management
Program utilities
Coroutine support (C++20)
Variadic functions
Debugging support
(C++26)
Three-way comparison
(C++20)
(C++20)(C++20)(C++20)
(C++20)(C++20)(C++20)
General utilities
Date and time
Function objects
Formatting library (C++20)
(C++11)
Relational operators (deprecated in C++20)
Integer comparison functions
(C++20)(C++20)(C++20)   
(C++20)
Swap and type operations
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Common vocabulary types
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)
Elementary string conversions
(C++17)
(C++17)

 
Coroutine support
Coroutine traits
Coroutine handle
No-op coroutines
Trivial awaitables
Range generators
(C++23)
 
 
static constexpr coroutine_handle from_address( void *addr );
(since C++20)

Creates a coroutine_handle from a null pointer value or an underlying address of another coroutine_handle. The underlying address of return value is addr.

The behavior is undefined if addr is neither a null pointer value nor an underlying address of a coroutine_handle. The behavior is also undefined if the addr is an underlying address of a std::coroutine_handle<P1>, where both Promise and P1 are not void, and P1 is different from Promise.

This function is not declared for specialization std::coroutine_handle<std::noop_coroutine_promise>.

Contents

[edit] Parameters

addr - underlying address to import

[edit] Return value

A std::coroutine_handle<Promise> whose underlying address is addr.

[edit] Notes

If addr is not a null pointer value, it must be obtained from a prior call to address() on a coroutine_handle referring to some coroutine.

[edit] Example

[edit] See also

constructs a coroutine_handle object
(public member function) [edit]
[static] (C++20)
creates a coroutine_handle from the promise object of a coroutine
(public static member function) [edit]
creates a coroutine handle that has no observable effects when resumed or destroyed
(function) [edit]