namespace
objgroup
Namespaces
Classes
- struct BaseObj
- struct ObjGroupManager
- A core VT component that can create groups with one object per node.
Typedefs
-
using ActiveObjAnyType = void(BaseObj::*)(vt::
BaseMessage*) -
template<typename MsgT, typename ObjT>using ActiveObjType = void(ObjT::*)(MsgT*)
- using ObjGroupIDType = uint32_t
- using ObjTypeIdxType = uint16_t
Functions
-
auto getObjs() -> std::unordered_map<ObjGroupProxyType, std::unique_ptr<holder::
HolderBase>>& - auto getPending() -> std::unordered_map<ObjGroupProxyType, std::vector<ActionType>>&
-
template<typename MsgT>void dispatchObjGroup(MsgSharedPtr<MsgT> msg, HandlerType han, NodeType from_node, ActionType cont)
-
template<typename MsgT>auto send(MsgSharedPtr<MsgT> msg, HandlerType han, NodeType node) -> messaging::
PendingSend -
template<typename ObjT, typename MsgT, auto f>auto invoke(messaging::
MsgSharedPtr<MsgT> msg, HandlerType han, NodeType node) -> decltype(auto) -
template<typename MsgT>auto broadcast(MsgSharedPtr<MsgT> msg, HandlerType han) -> messaging::
PendingSend
Variables
- static const ObjGroupIDType fst_obj_group_id constexpr
Typedef documentation
using vt:: objgroup:: ActiveObjAnyType = void(BaseObj::*)(vt:: BaseMessage*)
template<typename MsgT, typename ObjT>
using vt:: objgroup:: ActiveObjType = void(ObjT::*)(MsgT*)
using vt:: objgroup:: ObjGroupIDType = uint32_t
#include <src/vt/objgroup/common.h>
using vt:: objgroup:: ObjTypeIdxType = uint16_t
#include <src/vt/objgroup/common.h>
Function documentation
std::unordered_map<ObjGroupProxyType, std::unique_ptr<holder:: HolderBase>>& vt:: objgroup:: getObjs()
#include <src/vt/objgroup/manager.fwd.h>
std::unordered_map<ObjGroupProxyType, std::vector<ActionType>>& vt:: objgroup:: getPending()
#include <src/vt/objgroup/manager.fwd.h>
#include <src/vt/objgroup/manager.fwd.h>
template<typename MsgT>
void vt:: objgroup:: dispatchObjGroup(MsgSharedPtr<MsgT> msg,
HandlerType han,
NodeType from_node,
ActionType cont)
#include <src/vt/objgroup/manager.fwd.h>
template<typename MsgT>
messaging:: PendingSend vt:: objgroup:: send(MsgSharedPtr<MsgT> msg,
HandlerType han,
NodeType node)
#include <src/vt/objgroup/manager.fwd.h>
template<typename ObjT, typename MsgT, auto f>
decltype(auto) vt:: objgroup:: invoke(messaging:: MsgSharedPtr<MsgT> msg,
HandlerType han,
NodeType node)
#include <src/vt/objgroup/manager.fwd.h>
template<typename MsgT>
messaging:: PendingSend vt:: objgroup:: broadcast(MsgSharedPtr<MsgT> msg,
HandlerType han)
Variable documentation
static const ObjGroupIDType vt:: objgroup:: fst_obj_group_id constexpr
#include <src/vt/objgroup/common.h>