Request for restoring an SPMD section. More...
Public Member Functions | |
template<typename RetHandle , typename Handle , typename F , typename... U> | |
restore_request (RetHandle &&rh, Handle &&h, F &&f, U &&... u) noexcept | |
bool | operator() (location_md &l, message_shared_ptr &) final |
constexpr size_type | size (void) const noexcept |
size_type & | size (void) noexcept |
Static Public Member Functions | |
template<typename... U> | |
static std::size_t | expected_size (U &&... u) noexcept |
Public Types | |
using | return_handle_type = value_handle< pmf_result_type > |
using | size_type = std::size_t |
Request for restoring an SPMD section.
ObjectHandle | Distributed object handle type. |
MemFun | Member function pointer type. |
T | Argument types. |
This restores the SPMD execution for a gang that its locations are not on the top of the tread-local stack.
Restoring the SPMD section is a procedure that requires multiple tries, since another gang might be calling restore() as well. Therefore, it is quite costly as an operation.