HPX - High Performance ParalleX

PrevUpHomeNext

Function template broadcast_with_index

hpx::lcos::broadcast_with_index — Perform a distributed broadcast operation.

Synopsis

// In header: <hpx/lcos/broadcast.hpp>


template<typename Action, typename ArgN, ... > 
  hpx::future< std::vector< decltype(Action(hpx::id_type, ArgN,..., std::size_t))> > 
  broadcast_with_index(std::vector< hpx::id_type > const & ids, ArgN argN, 
                       ...);

Description

The function hpx::lcos::broadcast_with_index performs a distributed broadcast operation resulting in action invocations on a given set of global identifiers. The action can be either a plain action (in which case the global identifiers have to refer to localities) or a component action (in which case the global identifiers have to refer to instances of a component type which exposes the action.

The given action is invoked asynchronously on all given identifiers, and the arguments ArgN are passed along to those invocations.

The function passes the index of the global identifier in the given list of identifiers as the last argument to the action.

[Note] Note

If decltype(Action(...)) is void, then the result of this function is future<void>.

Parameters:

argN

[in] Any number of arbitrary arguments (passed by by const reference) which will be forwarded to the action invocation.

ids

[in] A list of global identifiers identifying the target objects for which the given action will be invoked.

Returns:

This function returns a future representing the result of the overall reduction operation.


PrevUpHomeNext