vt::auto_registry namespace

Classes

template<typename FnT>
struct AutoRegInfo
struct BaseHandlersDispatcher
struct BaseMapsDispatcher
struct BaseScatterDispatcher
template<typename F, F* f, typename MsgT = void, typename ObjT = SentinelObject>
struct FunctorAdapter
template<typename ObjTypeT, typename MsgT, bool is_msg_direct>
struct FunctorAdapterArgs
template<typename F, F f, typename ObjT = void, typename MsgT = void>
struct FunctorAdapterMember
template<typename F, F f, typename MsgT>
struct FunctorAdapterParam
template<typename FunctorT, bool is_msg_direct, typename MsgT>
struct GetFnPtr
template<typename FunctorT, typename MsgT>
struct GetFnPtr<FunctorT, false, MsgT>
template<typename FunctorT, typename MsgT>
struct GetFnPtr<FunctorT, true, MsgT>
template<typename MsgT, typename HandlerT, typename ObjT>
struct HandlersDispatcher
template<typename IndexT>
struct IndexHolder
template<typename IndexT, typename HandlerT>
struct MapsDispatcher
template<typename = void>
struct MaxIndexHolder
struct NumArgsTagType
template<typename FunctorT, typename RegT, typename InfoT, typename FnT, typename = void>
struct RegistrarFunctor
template<typename AdapterT, typename RegT, typename InfoT, typename FnT>
struct RegistrarGen
struct RegistrarGenInfo
struct RegistrarGenInfoBase
template<typename RegObjTypeT>
struct RegistrarGenInfoImpl
template<typename RunnableT, typename RegT, typename InfoT, typename FnT, typename = void>
struct RegistrarHelper
template<typename IndexT>
struct RegistrarIndex
template<typename FunctorT, typename RegT, typename InfoT, typename FnT>
struct RegistrarWrapperFunctor
template<typename AdapterT, typename RegT, typename InfoT, typename FnT>
struct RegistrarWrapperGen
template<typename IndexT>
struct RegistrarWrapperIndex
template<typename AdapterT, typename RegT, typename InfoT, typename FnT, typename MsgT>
struct RunnableFunctor
template<typename AdapterT, typename RegT, typename InfoT, typename FnT>
struct RunnableGen
template<typename MsgT, typename HandlerT, typename ObjT>
struct ScatterDispatcher
struct SentinelObject
template<typename RunnableT, typename RegT, typename InfoT, typename FnT>
struct RegistrarHelper<RunnableT, RegT, InfoT, FnT, std::enable_if_t<std::is_same<InfoT, AutoRegInfo<BaseScatterDispatcherPtr>>::value>>
template<typename RunnableT, typename RegT, typename InfoT, typename FnT>
struct RegistrarFunctor<RunnableT, RegT, InfoT, FnT, std::enable_if_t<std::is_same<InfoT, AutoRegInfo<AutoActiveType>>::value>>
template<typename RunnableT, typename RegT, typename InfoT, typename FnT>
struct RegistrarHelper<RunnableT, RegT, InfoT, FnT, std::enable_if_t<std::is_same<InfoT, AutoRegInfo<BaseHandlersDispatcherPtr>>::value>>
template<typename RunnableT, typename RegT, typename InfoT, typename FnT>
struct RegistrarHelper<RunnableT, RegT, InfoT, FnT, std::enable_if_t<std::is_same<InfoT, AutoRegInfo<BaseMapsDispatcherPtr>>::value>>
template<typename RunnableT, typename RegT, typename InfoT, typename FnT>
struct RegistrarHelper<RunnableT, RegT, InfoT, FnT, std::enable_if_t<not std::is_same<InfoT, AutoRegInfo<BaseHandlersDispatcherPtr>>::value and not std::is_same<InfoT, AutoRegInfo<BaseMapsDispatcherPtr>>::value and not std::is_same<InfoT, AutoRegInfo<BaseScatterDispatcherPtr>>::value>>
template<typename RunnableT, typename RegT, typename InfoT, typename FnT>
struct RegistrarFunctor<RunnableT, RegT, InfoT, FnT, std::enable_if_t<std::is_same<InfoT, AutoRegInfo<AutoActiveMapType>>::value>>

Enums

enum class RegistryTypeEnum { RegGeneral = 1, RegMap, RegVrt, RegSeed, RegVrtCollection, RegVrtCollectionMember, RegRDMAGet, RegRDMAPut, RegIndex, RegObjGroup }

Typedefs

using BaseHandlersDispatcherPtr = std::unique_ptr<BaseHandlersDispatcher>
using BaseMapsDispatcherPtr = std::unique_ptr<BaseMapsDispatcher>
using BaseScatterDispatcherPtr = std::unique_ptr<BaseScatterDispatcher>
using AutoActiveType = BaseHandlersDispatcherPtr
using AutoActiveFunctorType = BaseHandlersDispatcherPtr
using AutoActiveVCType = BaseHandlersDispatcherPtr
using AutoActiveCollectionType = BaseHandlersDispatcherPtr
using AutoActiveCollectionMemType = BaseHandlersDispatcherPtr
using AutoActiveObjGroupType = BaseHandlersDispatcherPtr
using AutoActiveMapType = BaseMapsDispatcherPtr
using AutoActiveMapFunctorType = BaseMapsDispatcherPtr
using AutoActiveSeedMapType = mapping::ActiveSeedMapFnPtrType
using AutoActiveRDMAGetType = ActiveRDMAGetFnPtrType
using AutoActiveRDMAPutType = ActiveRDMAPutFnPtrType
using AutoActiveIndexType = std::size_t
using HandlerManagerType = vt::HandlerManager
using AutoHandlerType = HandlerType
using NumArgsType = int16_t
template<typename Fn>
using AutoRegInfoType = AutoRegInfo<Fn>
template<typename RegInfoT>
using RegContType = std::vector<AutoRegInfoType<RegInfoT>>
using AutoActiveContainerType = RegContType<AutoActiveType>
using AutoActiveVCContainerType = RegContType<AutoActiveVCType>
using AutoActiveCollectionContainerType = RegContType<AutoActiveCollectionType>
using AutoActiveCollectionMemContainerType = RegContType<AutoActiveCollectionMemType>
using AutoActiveMapContainerType = RegContType<AutoActiveMapType>
using AutoActiveMapFunctorContainerType = RegContType<AutoActiveMapFunctorType>
using AutoActiveSeedMapContainerType = RegContType<AutoActiveSeedMapType>
using AutoActiveFunctorContainerType = RegContType<AutoActiveFunctorType>
using AutoActiveRDMAGetContainerType = RegContType<AutoActiveRDMAGetType>
using AutoActiveRDMAPutContainerType = RegContType<AutoActiveRDMAPutType>
using AutoActiveIndexContainerType = RegContType<AutoActiveIndexType>
using AutoActiveObjGroupContainerType = RegContType<AutoActiveObjGroupType>
using ScatterContainerType = RegContType<BaseScatterDispatcherPtr>

Functions

auto getAutoHandler(HandlerType const handler) -> AutoActiveType const &
auto getAutoHandlerObjGroup(HandlerType han) -> AutoActiveObjGroupType const &
auto getAutoHandlerObjTypeIdx(HandlerType han) -> AutoHandlerType
template<typename ObjT, typename MsgT, objgroup::ActiveObjType<MsgT, ObjT> f>
auto makeAutoHandlerObjGroup(HandlerControlType control) -> HandlerType
template<typename MsgT, ActiveTypedFnType<MsgT>* f>
auto makeAutoHandler(MsgT*const msg) -> HandlerType
template<typename MsgT, ActiveTypedFnType<MsgT>* f>
auto makeAutoHandler() -> HandlerType
template<typename T, T value>
auto makeAutoHandlerParam() -> HandlerType
template<typename ObjT, typename MsgT, objgroup::ActiveObjType<MsgT, ObjT> f>
void setHandlerTraceNameObjGroup(HandlerControlType ctrl, std::string const& name, std::string const& parent = "")
template<typename MsgT, ActiveTypedFnType<MsgT>* f>
void setHandlerTraceName(std::string const& name, std::string const& parent = "")
template<typename T, typename... Args>
static auto proxyOperatorToNewInstanceReg(Args... args) -> auto
template<typename RegT, typename = void>
auto getAutoRegistryGen() -> RegT&
template<typename AdapterT, typename RegT, typename InfoT, typename FnT>
auto registerActiveGen() -> AutoHandlerType
template<typename ObjT, typename T, T value, typename MsgT>
auto makeAutoHandlerObjGroupParam(HandlerControlType ctrl) -> HandlerType
template<typename MessageT, ActiveTypedFnType<MessageT>* f>
auto makeScatterHandler() -> HandlerType
auto getScatterAutoHandler(HandlerType const handler) -> BaseScatterDispatcherPtr const &
template<typename T, T value, typename MsgT>
auto makeAutoHandlerParam() -> HandlerType
template<typename ObjT, typename MsgT, objgroup::ActiveObjType<MsgT, ObjT> f>
void setHandlerTraceNameObjGroup(] HandlerControlType ctrl, ] std::string const& name, ] std::string const& parent)
template<typename MsgT, ActiveTypedFnType<MsgT>* f>
void setHandlerTraceName(] std::string const& name, ] std::string const& parent)
template<typename T, bool is_msg, typename... Args>
auto makeAutoHandlerFunctor() -> HandlerType
auto getAutoHandlerFunctor(HandlerType const handler) -> AutoActiveFunctorType const &
auto getAutoHandlerCollection(HandlerType const handler) -> AutoActiveCollectionType const &
template<typename ColT, typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
auto makeAutoHandlerCollection() -> HandlerType
auto getAutoHandlerCollectionMem(HandlerType const handler) -> AutoActiveCollectionMemType const &
template<typename ColT, typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
auto makeAutoHandlerCollectionMem() -> HandlerType
template<typename ColT, typename T, T value, typename MsgT>
auto makeAutoHandlerCollectionMemParam() -> HandlerType
template<typename ColT, typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
void setHandlerTraceNameColl(std::string const& name, std::string const& parent = "")
template<typename ColT, typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
void setHandlerTraceNameCollMem(std::string const& name, std::string const& parent = "")
template<typename ColT, typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
void setHandlerTraceNameColl(] std::string const& name, ] std::string const& parent)
template<typename ColT, typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
void setHandlerTraceNameCollMem(] std::string const& name, ] std::string const& parent)
auto getAutoHandlerFunctorArgs(HandlerType const handler) -> NumArgsType
template<typename FunctorT, typename RegT, typename InfoT, typename FnT>
auto registerActiveFunctor() -> AutoHandlerType
auto getMaxIndexSize() -> std::size_t
template<typename IndexT>
auto makeAutoIndex() -> AutoHandlerType
template<typename IndexT>
auto registerIndex() -> AutoHandlerType
auto getAutoHandlerFunctorMap(HandlerType const han) -> AutoActiveMapType const &
template<typename FunctorT>
auto makeAutoHandlerFunctorMap() -> HandlerType
auto getAutoHandlerMap(HandlerType const handler) -> AutoActiveMapType const &
template<typename IndexT, ActiveMapTypedFnType<IndexT>* f>
auto makeAutoHandlerMap() -> HandlerType
auto getAutoHandlerSeedMap(HandlerType const handler) -> AutoActiveSeedMapType
template<ActiveSeedMapFnType* f>
auto makeAutoHandlerSeedMap() -> HandlerType
auto getHandlerMap(HandlerType const han) -> AutoActiveMapType const &
auto getAutoHandlerRDMAGet(HandlerType const handler) -> AutoActiveRDMAGetType
auto getAutoHandlerRDMAPut(HandlerType const handler) -> AutoActiveRDMAPutType
template<typename MsgT, ActiveTypedRDMAPutFnType<MsgT>* f>
auto makeAutoHandlerRDMAPut() -> HandlerType
template<typename MsgT, ActiveTypedRDMAGetFnType<MsgT>* f>
auto makeAutoHandlerRDMAGet() -> HandlerType
auto getAutoHandlerVC(HandlerType const handler) -> AutoActiveVCType const &
template<typename VrtT, typename MsgT, ActiveVrtTypedFnType<MsgT, VrtT>* f>
auto makeAutoHandlerVC() -> HandlerType

Variables

static struct vt::auto_registry::NumArgsTagType NumArgsTag

Enum documentation

Typedef documentation

using vt::auto_registry::BaseMapsDispatcherPtr = std::unique_ptr<BaseMapsDispatcher>

using vt::auto_registry::AutoActiveIndexType = std::size_t

using vt::auto_registry::NumArgsType = int16_t

template<typename Fn>
using vt::auto_registry::AutoRegInfoType = AutoRegInfo<Fn>

template<typename RegInfoT>
using vt::auto_registry::RegContType = std::vector<AutoRegInfoType<RegInfoT>>

Function documentation

template<typename ObjT, typename MsgT, objgroup::ActiveObjType<MsgT, ObjT> f>
HandlerType vt::auto_registry::makeAutoHandlerObjGroup(HandlerControlType control)

template<typename MsgT, ActiveTypedFnType<MsgT>* f>
HandlerType vt::auto_registry::makeAutoHandler(MsgT*const msg)

template<typename MsgT, ActiveTypedFnType<MsgT>* f>
HandlerType vt::auto_registry::makeAutoHandler()

template<typename T, T value>
HandlerType vt::auto_registry::makeAutoHandlerParam()

template<typename ObjT, typename MsgT, objgroup::ActiveObjType<MsgT, ObjT> f>
void vt::auto_registry::setHandlerTraceNameObjGroup(HandlerControlType ctrl, std::string const& name, std::string const& parent = "")

template<typename MsgT, ActiveTypedFnType<MsgT>* f>
void vt::auto_registry::setHandlerTraceName(std::string const& name, std::string const& parent = "")

template<typename T, typename... Args>
static auto vt::auto_registry::proxyOperatorToNewInstanceReg(Args... args)

template<typename RegT, typename = void>
RegT& vt::auto_registry::getAutoRegistryGen()

template<typename AdapterT, typename RegT, typename InfoT, typename FnT>
AutoHandlerType vt::auto_registry::registerActiveGen()

template<typename ObjT, typename T, T value, typename MsgT>
HandlerType vt::auto_registry::makeAutoHandlerObjGroupParam(HandlerControlType ctrl)

template<typename MessageT, ActiveTypedFnType<MessageT>* f>
HandlerType vt::auto_registry::makeScatterHandler()

template<typename T, T value, typename MsgT>
HandlerType vt::auto_registry::makeAutoHandlerParam()

template<typename ObjT, typename MsgT, objgroup::ActiveObjType<MsgT, ObjT> f>
void vt::auto_registry::setHandlerTraceNameObjGroup(] HandlerControlType ctrl, ] std::string const& name, ] std::string const& parent)

template<typename MsgT, ActiveTypedFnType<MsgT>* f>
void vt::auto_registry::setHandlerTraceName(] std::string const& name, ] std::string const& parent)

template<typename T, bool is_msg, typename... Args>
HandlerType vt::auto_registry::makeAutoHandlerFunctor()

template<typename ColT, typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
HandlerType vt::auto_registry::makeAutoHandlerCollection()

template<typename ColT, typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
HandlerType vt::auto_registry::makeAutoHandlerCollectionMem()

template<typename ColT, typename T, T value, typename MsgT>
HandlerType vt::auto_registry::makeAutoHandlerCollectionMemParam()

template<typename ColT, typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
void vt::auto_registry::setHandlerTraceNameColl(std::string const& name, std::string const& parent = "")

template<typename ColT, typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
void vt::auto_registry::setHandlerTraceNameCollMem(std::string const& name, std::string const& parent = "")

template<typename ColT, typename MsgT, ActiveColTypedFnType<MsgT, ColT>* f>
void vt::auto_registry::setHandlerTraceNameColl(] std::string const& name, ] std::string const& parent)

template<typename ColT, typename MsgT, ActiveColMemberTypedFnType<MsgT, ColT> f>
void vt::auto_registry::setHandlerTraceNameCollMem(] std::string const& name, ] std::string const& parent)

template<typename FunctorT, typename RegT, typename InfoT, typename FnT>
AutoHandlerType vt::auto_registry::registerActiveFunctor()

std::size_t vt::auto_registry::getMaxIndexSize()

template<typename IndexT>
AutoHandlerType vt::auto_registry::makeAutoIndex()

template<typename IndexT>
AutoHandlerType vt::auto_registry::registerIndex()

template<typename FunctorT>
HandlerType vt::auto_registry::makeAutoHandlerFunctorMap()

template<typename IndexT, ActiveMapTypedFnType<IndexT>* f>
HandlerType vt::auto_registry::makeAutoHandlerMap()

template<ActiveSeedMapFnType* f>
HandlerType vt::auto_registry::makeAutoHandlerSeedMap()

template<typename MsgT, ActiveTypedRDMAPutFnType<MsgT>* f>
HandlerType vt::auto_registry::makeAutoHandlerRDMAPut()

template<typename MsgT, ActiveTypedRDMAGetFnType<MsgT>* f>
HandlerType vt::auto_registry::makeAutoHandlerRDMAGet()

template<typename VrtT, typename MsgT, ActiveVrtTypedFnType<MsgT, VrtT>* f>
HandlerType vt::auto_registry::makeAutoHandlerVC()

Variable documentation

static struct vt::auto_registry::NumArgsTagType vt::auto_registry::NumArgsTag