SpECTRE  v2024.04.12
Parallel::SingletonPack< tmpl::list< ParallelComponents... > > Struct Template Reference

Holds options for a group of singleton components. More...

#include <ResourceInfo.hpp>

Classes

struct  SingletonOption
 

Public Types

using options = tmpl::transform< component_list, tmpl::bind< SingletonOption, tmpl::_1 > >
 

Public Member Functions

 SingletonPack (const std::optional< SingletonInfoHolder< ParallelComponents > > &... singleton_info_holders, const Options::Context &={})
 
 SingletonPack (const SingletonPack &)=default
 
SingletonPackoperator= (const SingletonPack &)=default
 
 SingletonPack (SingletonPack &&)=default
 
SingletonPackoperator= (SingletonPack &&)=default
 
void pup (PUP::er &p)
 
template<typename Component >
const auto & get () const
 Get a const reference to the SingletonInfoHolder for the Component singleton.
 

Static Public Attributes

static constexpr Options::String help
 

Friends

template<typename... Components>
bool operator== (const SingletonPack< tmpl::list< Components... > > &lhs, const SingletonPack< tmpl::list< Components... > > &rhs)
 

Detailed Description

template<typename... ParallelComponents>
struct Parallel::SingletonPack< tmpl::list< ParallelComponents... > >

Holds options for a group of singleton components.

Details

The info for each singleton in the ParallelComponents template pack is stored in an individual Parallel::SingletonInfoHolder.

You can pass Auto as an option for each singleton in an input file and each singleton will be constructed as a default Parallel::SingletonInfoHolder.

Member Data Documentation

◆ help

template<typename... ParallelComponents>
constexpr Options::String Parallel::SingletonPack< tmpl::list< ParallelComponents... > >::help
staticconstexpr
Initial value:
= {
"Resource options for all singletons."}

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