SpECTRE  v2024.04.12
Parallel::ReductionData< ReductionDatum< Ts, InvokeCombines, InvokeFinals, InvokeFinalExtraArgsIndices >... > Struct Template Reference

Used for reducing a possibly heterogeneous collection of types in a single reduction call. More...

#include <Reduction.hpp>

Public Types

using datum_list = tmpl::list< ReductionDatum< Ts, InvokeCombines, InvokeFinals, InvokeFinalExtraArgsIndices >... >
 

Public Member Functions

 ReductionData (ReductionDatum< Ts, InvokeCombines, InvokeFinals, InvokeFinalExtraArgsIndices >... args)
 
 ReductionData (Ts... args)
 
 ReductionData (const ReductionData &)=default
 
ReductionData & operator= (const ReductionData &)=default
 
 ReductionData (ReductionData &&)=default
 
ReductionData & operator= (ReductionData &&)=default
 
 ReductionData (CkReductionMsg *const message)
 
ReductionData & combine (ReductionData &&t)
 
ReductionData & finalize ()
 

Static Public Member Functions

static constexpr size_t pack_size ()
 
static CkReductionMsg * combine (int number_of_messages, CkReductionMsg **msgs)
 

Detailed Description

template<class... Ts, class... InvokeCombines, class... InvokeFinals, class... InvokeFinalExtraArgsIndices>
struct Parallel::ReductionData< ReductionDatum< Ts, InvokeCombines, InvokeFinals, InvokeFinalExtraArgsIndices >... >

Used for reducing a possibly heterogeneous collection of types in a single reduction call.


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