template<typename T>
vt::collective::reduce::detail::ReduceScopeHolder struct

Holds instances of reducers indexed by the reduction scope bits.

Public types

struct ComponentTag
struct GroupTag
struct ObjGroupTag
struct UserIDTag
struct VrtProxyTag
using DefaultCreateFunction = std::function<T(detail::ReduceScope const &)>

Constructors, destructors, conversion operators

ReduceScopeHolder(DefaultCreateFunction in_default_creator) explicit

Public functions

auto get(ReduceScope const& scope) -> T&
template<typename U>
auto getOnDemand(U&& scope) -> T&
auto get(ObjGroupTag, ObjGroupProxyType proxy) -> T&
auto get(VrtProxyTag, VirtualProxyType proxy) -> T&
auto get(GroupTag, GroupType group) -> T&
auto get(ComponentTag, ComponentIDType component_id) -> T&
auto get(UserIDTag, UserIDType user_id) -> T&
void make(ObjGroupTag, ObjGroupProxyType proxy)
void make(GroupTag, GroupType group, DefaultCreateFunction fn)