vt::collective::reduce::detail::ReduceScope struct

A unique scope for reduction operations, identified by the obj group proxy, virtual proxy, group ID, or component ID.

Public types

using isByteCopyable = std::true_type
using ValueType = std::variant<StrongObjGroup, StrongVrtProxy, StrongGroup, StrongCom, StrongUserID>

Constructors, destructors, conversion operators

ReduceScope() defaulted

Public functions

auto operator==(ReduceScope const& in) const -> bool
auto operator!=(ReduceScope const& in) const -> bool
auto get() -> ValueType&
auto get() const -> ValueType const &
template<typename SerializerT>
void serialize(SerializerT& s)
auto str() const -> std::string

Friends

template<typename T, typename... Args>
auto makeScope(Args && ... args) -> ReduceScope
Create a new reduction scope.

Function documentation

template<typename T, typename... Args>
ReduceScope makeScope(Args && ... args)

Create a new reduction scope.

Parameters
args in constructor for reduction scope type
Returns the new scope