HPX - High Performance ParalleX

PrevUpHomeNext

Function template broadcast

hpx::lcos::broadcast — 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,...))> > 
  broadcast(std::vector< hpx::id_type > const & ids, ArgN argN, ...);

Description

The function hpx::lcos::broadcast 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.

[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