template<>
vt::objgroup::proxy::Proxy<void> struct

Public functions

auto operator[](NodeType node) const -> DefaultProxyElm
Index the proxy to get the element proxy for a particular node.
template<typename MsgT, ActiveTypedFnType<MsgT>* f, typename... Args>
auto broadcast(Args && ... args) const -> messaging::PendingSend
Broadcast a message.
template<auto f, typename... Args>
auto broadcast(Args && ... args) const -> messaging::PendingSend
Broadcast a message.
template<typename MsgT, ActiveTypedFnType<MsgT>* f>
auto broadcastMsg(messaging::MsgPtrThief<MsgT> msg, TagType tag = no_tag) const -> messaging::PendingSend
Broadcast a message.
template<auto f>
auto broadcastMsg(messaging::MsgPtrThief<typename FuncTraits<decltype(f)>::MsgT> msg, TagType tag = no_tag) const -> messaging::PendingSend
Broadcast a message.
template<typename OpT, typename FunctorT, typename MsgT, typename... Args>
auto reduce(NodeType root, Args && ... args) const -> messaging::PendingSend
Reduce a message up the tree, possibly delayed through a pending send.
template<typename OpT, typename FunctorT, typename MsgT, ActiveTypedFnType<MsgT>* f, typename... Args>
auto reduce(NodeType root, Args && ... args) const -> messaging::PendingSend
template<typename OpT, typename FunctorT, typename MsgT>
auto reduceMsg(NodeType root, MsgT*const msg) const -> messaging::PendingSend
Reduce a message up the tree, possibly delayed through a pending send.
template<typename OpT, typename FunctorT, typename MsgT, ActiveTypedFnType<MsgT>* f>
auto reduceMsg(NodeType root, MsgT*const msg) const -> messaging::PendingSend

Function documentation

template<>
DefaultProxyElm vt::objgroup::proxy::Proxy<void>::operator[](NodeType node) const

Index the proxy to get the element proxy for a particular node.

Parameters
node in the desired node
Returns an indexed proxy to that node

template<> template<typename MsgT, ActiveTypedFnType<MsgT>* f, typename... Args>
messaging::PendingSend vt::objgroup::proxy::Proxy<void>::broadcast(Args && ... args) const

Broadcast a message.

Parameters
args in the arguments used to make a message
Returns the PendingSend for the sent message

template<> template<auto f, typename... Args>
messaging::PendingSend vt::objgroup::proxy::Proxy<void>::broadcast(Args && ... args) const

Broadcast a message.

Parameters
args in the arguments used to make a message
Returns the PendingSend for the sent message

template<> template<typename MsgT, ActiveTypedFnType<MsgT>* f>
messaging::PendingSend vt::objgroup::proxy::Proxy<void>::broadcastMsg(messaging::MsgPtrThief<MsgT> msg, TagType tag = no_tag) const

Broadcast a message.

Parameters
msg in the message to broadcast
tag in the tag to put on the message
Returns the PendingSend for the sent message

template<> template<auto f>
messaging::PendingSend vt::objgroup::proxy::Proxy<void>::broadcastMsg(messaging::MsgPtrThief<typename FuncTraits<decltype(f)>::MsgT> msg, TagType tag = no_tag) const

Broadcast a message.

Parameters
msg in the message to broadcast
tag in the tag to put on the message
Returns the PendingSend for the sent message

template<> template<typename OpT, typename FunctorT, typename MsgT, typename... Args>
messaging::PendingSend vt::objgroup::proxy::Proxy<void>::reduce(NodeType root, Args && ... args) const

Reduce a message up the tree, possibly delayed through a pending send.

Parameters
root in the root node where the final handler provides the result
args in the arguments used to make a message
Returns the pending send corresponding to the reduce

template<> template<typename OpT, typename FunctorT, typename MsgT>
messaging::PendingSend vt::objgroup::proxy::Proxy<void>::reduceMsg(NodeType root, MsgT*const msg) const

Reduce a message up the tree, possibly delayed through a pending send.

Parameters
root in the root node where the final handler provides the result
msg in the message to reduce on this node
Returns the pending send corresponding to the reduce