template<typename ColT, typename IndexT, typename BaseProxyT>
Broadcastable struct
Constructors, destructors, conversion operators
- Broadcastable() defaulted
- Broadcastable(Broadcastable const&) defaulted
- Broadcastable(Broadcastable&&) defaulted
- Broadcastable(VirtualProxyType const in_proxy)
Public functions
- auto operator=(Broadcastable const&) -> Broadcastable& defaulted
-
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>auto broadcast(MsgT* msg) const -> messaging::
PendingSend -
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>auto broadcast(MsgSharedPtr<MsgT> msg) const -> messaging::
PendingSend -
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>auto broadcastMsg(messaging::
MsgPtrThief<MsgT> msg) const -> messaging:: PendingSend - Rooted broadcast with action function handler.
-
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f, typename... Args>auto broadcast(Args && ... args) const -> messaging::
PendingSend - Rooted broadcast with action function handler.
-
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>auto broadcast(MsgT* msg) const -> messaging::
PendingSend -
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>auto broadcast(MsgSharedPtr<MsgT> msg) const -> messaging::
PendingSend -
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>auto broadcastMsg(messaging::
MsgPtrThief<MsgT> msg) const -> messaging:: PendingSend - Rooted broadcast with action member handler.
-
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f, typename... Args>auto broadcast(Args && ... args) const -> messaging::
PendingSend - Rooted broadcast with action member handler.
-
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>auto broadcastCollectiveMsg(messaging::
MsgPtrThief<MsgT> msg) const -> messaging:: PendingSend - Collective broadcast with action function handler.
-
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f, typename... Args>auto broadcastCollective(Args && ... args) const -> messaging::
PendingSend - Create message (with action function handler) and broadcast it in a collective manner to the collection.
-
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>auto broadcastCollectiveMsg(messaging::
MsgPtrThief<MsgT> msg) const -> messaging:: PendingSend - Collective broadcast with action member handler.
-
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f, typename... Args>auto broadcastCollective(Args && ... args) const -> messaging::
PendingSend - Create message (with action member handler) and broadcast it in a collective manner to the collection.
-
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f, typename... Args>void invokeCollective(Args && ... args) const
- Invoke member message handler on all collection elements The function will be invoked inline without going through scheduler.
-
template<typename MsgT, ActiveColTypedFnType<MsgT, typename MsgT::CollectionType>* f, typename... Args>void invokeCollective(Args && ... args) const
- Invoke message handler on all collection elements The function will be invoked inline without going through scheduler.
-
template<auto f>auto broadcastMsg(messaging::
MsgPtrThief<typename ObjFuncTraits<decltype(f)>::MsgT> msg) const -> messaging:: PendingSend - Rooted broadcast with action function handler.
-
template<auto f, typename... Args>auto broadcast(Args && ... args) const -> messaging::
PendingSend - Rooted broadcast with action function handler.
-
template<auto f>auto broadcastCollectiveMsg(messaging::
MsgPtrThief<typename ObjFuncTraits<decltype(f)>::MsgT> msg) const -> messaging:: PendingSend - Collective broadcast with action function handler.
-
template<auto f, typename... Args>auto broadcastCollective(Args && ... args) const -> messaging::
PendingSend - Create message (with action function handler) and broadcast it in a collective manner to the collection.
-
template<auto f, typename... Args>void invokeCollective(Args && ... args) const
- Invoke member message handler on all collection elements The function will be invoked inline without going through scheduler.
Function documentation
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastMsg(messaging:: MsgPtrThief<MsgT> msg) const
Rooted broadcast with action function handler.
Parameters | |
---|---|
msg in | the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f, typename... Args>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcast(Args && ... args) const
Rooted broadcast with action function handler.
Parameters | |
---|---|
args in | arguments needed for creating the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastMsg(messaging:: MsgPtrThief<MsgT> msg) const
Rooted broadcast with action member handler.
Parameters | |
---|---|
msg in | the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f, typename... Args>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcast(Args && ... args) const
Rooted broadcast with action member handler.
Parameters | |
---|---|
args in | arguments needed for creating the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastCollectiveMsg(messaging:: MsgPtrThief<MsgT> msg) const
Collective broadcast with action function handler.
Parameters | |
---|---|
msg in | the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f, typename... Args>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastCollective(Args && ... args) const
Create message (with action function handler) and broadcast it in a collective manner to the collection.
Parameters | |
---|---|
args in | arguments needed for creating the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastCollectiveMsg(messaging:: MsgPtrThief<MsgT> msg) const
Collective broadcast with action member handler.
Parameters | |
---|---|
msg in | the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f, typename... Args>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastCollective(Args && ... args) const
Create message (with action member handler) and broadcast it in a collective manner to the collection.
Parameters | |
---|---|
args in | arguments needed for creating the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f, typename... Args>
void vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: invokeCollective(Args && ... args) const
Invoke member message handler on all collection elements The function will be invoked inline without going through scheduler.
Parameters | |
---|---|
args in | arguments for creating the message |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<typename MsgT, ActiveColTypedFnType<MsgT, typename MsgT::CollectionType>* f, typename... Args>
void vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: invokeCollective(Args && ... args) const
Invoke message handler on all collection elements The function will be invoked inline without going through scheduler.
Parameters | |
---|---|
args in | arguments for creating the message |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<auto f>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastMsg(messaging:: MsgPtrThief<typename ObjFuncTraits<decltype(f)>::MsgT> msg) const
Rooted broadcast with action function handler.
Parameters | |
---|---|
msg in | the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<auto f, typename... Args>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcast(Args && ... args) const
Rooted broadcast with action function handler.
Parameters | |
---|---|
args in | arguments needed for creating the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<auto f>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastCollectiveMsg(messaging:: MsgPtrThief<typename ObjFuncTraits<decltype(f)>::MsgT> msg) const
Collective broadcast with action function handler.
Parameters | |
---|---|
msg in | the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<auto f, typename... Args>
messaging:: PendingSend vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: broadcastCollective(Args && ... args) const
Create message (with action function handler) and broadcast it in a collective manner to the collection.
Parameters | |
---|---|
args in | arguments needed for creating the message |
Returns | a pending send |
template<typename ColT, typename IndexT, typename BaseProxyT>
template<auto f, typename... Args>
void vt:: vrt:: collection:: Broadcastable<ColT, IndexT, BaseProxyT>:: invokeCollective(Args && ... args) const
Invoke member message handler on all collection elements The function will be invoked inline without going through scheduler.
Parameters | |
---|---|
args in | arguments for creating the message |