diff --git a/src/vt/registry/auto/collection/auto_registry_collection.impl.h b/src/vt/registry/auto/collection/auto_registry_collection.impl.h index b2b6a31660..384e5d7eb3 100644 --- a/src/vt/registry/auto/collection/auto_registry_collection.impl.h +++ b/src/vt/registry/auto/collection/auto_registry_collection.impl.h @@ -54,6 +54,7 @@ inline AutoActiveCollectionType getAutoHandlerCollection( HandlerType const& handler ) { using ContainerType = AutoActiveCollectionContainerType; + auto const han_id = HandlerManagerType::getHandlerIdentifier(handler); return getAutoRegistryGen().at(han_id).getFun(); } @@ -65,15 +66,18 @@ inline HandlerType makeAutoHandlerCollection() { using RegInfoType = AutoRegInfoType; using FuncType = ActiveColFnPtrType; - auto han = RunnableGen::idx; - HandlerManager::setHandlerMember(han, false); - return han; + auto const id = + RunnableGen::idx; + auto handler = HandlerManager::makeHandler(false, false, id); + HandlerManager::setHandlerMember(handler, false); + return handler; } inline AutoActiveCollectionMemType getAutoHandlerCollectionMem( HandlerType const& handler ) { using ContainerType = AutoActiveCollectionMemContainerType; + auto const han_id = HandlerManagerType::getHandlerIdentifier(handler); return getAutoRegistryGen().at(han_id).getFun(); } @@ -87,9 +91,11 @@ inline HandlerType makeAutoHandlerCollectionMem() { using RegInfoType = AutoRegInfoType; using FuncType = ActiveColMemberFnPtrType; - auto han = RunnableGen::idx; - HandlerManager::setHandlerMember(han, true); - return han; + auto const id = + RunnableGen::idx; + auto handler = HandlerManager::makeHandler(false, false, id); + HandlerManager::setHandlerMember(handler, true); + return handler; } template * f> diff --git a/src/vt/registry/auto/rdma/auto_registry_rdma.impl.h b/src/vt/registry/auto/rdma/auto_registry_rdma.impl.h index ec01f4141b..6cd3ff089a 100644 --- a/src/vt/registry/auto/rdma/auto_registry_rdma.impl.h +++ b/src/vt/registry/auto/rdma/auto_registry_rdma.impl.h @@ -54,7 +54,9 @@ namespace vt { namespace auto_registry { inline AutoActiveRDMAPutType getAutoHandlerRDMAPut(HandlerType const& handler) { using ContainerType = AutoActiveRDMAPutContainerType; - return getAutoRegistryGen().at(handler).getFun(); + + auto const han_id = HandlerManager::getHandlerIdentifier(handler); + return getAutoRegistryGen().at(han_id).getFun(); } template * f> @@ -63,12 +65,17 @@ inline HandlerType makeAutoHandlerRDMAPut() { using ContainerType = AutoActiveRDMAPutContainerType; using RegInfoType = AutoRegInfoType; using FuncType = ActiveRDMAPutFnPtrType; - return RunnableGen::idx; + + auto const id = + RunnableGen::idx; + return HandlerManager::makeHandler(false, false, id); } inline AutoActiveRDMAGetType getAutoHandlerRDMAGet(HandlerType const& handler) { using ContainerType = AutoActiveRDMAGetContainerType; - return getAutoRegistryGen().at(handler).getFun(); + + auto const han_id = HandlerManager::getHandlerIdentifier(handler); + return getAutoRegistryGen().at(han_id).getFun(); } template * f> @@ -77,9 +84,11 @@ inline HandlerType makeAutoHandlerRDMAGet() { using ContainerType = AutoActiveRDMAGetContainerType; using RegInfoType = AutoRegInfoType; using FuncType = ActiveRDMAGetFnPtrType; - return RunnableGen::idx; -} + auto const id = + RunnableGen::idx; + return HandlerManager::makeHandler(false, false, id); +} }} /* end namespace vt::auto_registry */ diff --git a/src/vt/registry/auto/vc/auto_registry_vc_impl.h b/src/vt/registry/auto/vc/auto_registry_vc_impl.h index f9a26a0df6..194f0014ef 100644 --- a/src/vt/registry/auto/vc/auto_registry_vc_impl.h +++ b/src/vt/registry/auto/vc/auto_registry_vc_impl.h @@ -61,12 +61,17 @@ inline HandlerType makeAutoHandlerVC() { using ContainerType = AutoActiveVCContainerType; using RegInfoType = AutoRegInfoType; using FuncType = ActiveVirtualFnPtrType; - return RunnableGen::idx; + + auto const id = + RunnableGen::idx; + return HandlerManager::makeHandler(false, false, id); } inline AutoActiveVCType getAutoHandlerVC(HandlerType const& handler) { using ContainerType = AutoActiveVCContainerType; - return getAutoRegistryGen().at(handler).getFun(); + + auto const han_id = HandlerManager::getHandlerIdentifier(handler); + return getAutoRegistryGen().at(han_id).getFun(); } }} // end namespace vt::auto_registry