SpECTRE  v2024.04.12
PhaseControl::TaggedTupleMainCombine Struct Reference

A flexible combine invokable that combines into a tuples::TaggedTuple a new tuples::TaggedTuple with a subset of the original tags, and combines according to type aliases main_combine_methods that are required to be defined in each tag. More...

#include <PhaseControlReductionHelpers.hpp>

Static Public Member Functions

template<typename... CurrentTags, typename... CombineTags>
static void apply (const gsl::not_null< tuples::TaggedTuple< CurrentTags... > * > current_state, const tuples::TaggedTuple< CombineTags... > &element)
 

Detailed Description

A flexible combine invokable that combines into a tuples::TaggedTuple a new tuples::TaggedTuple with a subset of the original tags, and combines according to type aliases main_combine_methods that are required to be defined in each tag.

Note
This is not usable with charm++ reductions; it mutates the current state in-place. This is constructed for the use-case where the main chare stores a persistent data structure and combines reduction data as it arrives from the other chares.

The documentation for this struct was generated from the following file: