SpECTRE  v2024.04.12
Parallel::SingletonInfoHolder< Component > Struct Template Reference

Holds resource info for a single singleton component. More...

#include <ResourceInfo.hpp>


struct  Exclusive
struct  Proc

Public Types

using options = tmpl::list< Proc, Exclusive >

Public Member Functions

 SingletonInfoHolder (std::optional< int > input_proc, const bool input_exclusive, const Options::Context &context={})
 SingletonInfoHolder (const SingletonInfoHolder &)=default
SingletonInfoHolderoperator= (const SingletonInfoHolder &)=default
 SingletonInfoHolder (SingletonInfoHolder &&)=default
SingletonInfoHolderoperator= (SingletonInfoHolder &&)=default
void pup (PUP::er &p)
std::optional< size_t > proc () const
 Proc that singleton is to be placed on. If the optional is a std::nullopt, then the proc should be chosen automatically.
bool is_exclusive () const
 Whether or not the singleton wants to be exclusive on the proc.

Static Public Attributes

static constexpr Options::String help


template<typename ParallelComponent >
bool operator== (const SingletonInfoHolder< ParallelComponent > &lhs, const SingletonInfoHolder< ParallelComponent > &rhs)

Detailed Description

template<typename Component>
struct Parallel::SingletonInfoHolder< Component >

Holds resource info for a single singleton component.


Holds what proc the singleton is to be placed on and whether that proc should be exclusive, i.e. no array component elements or other singletons placed on that proc. Instead of specifying a proc, the proc can be chosen automatically by using the Options::Auto option.

The template parameter Component is only used to identify which singleton component this SingletonInfoHolder belongs to.

Member Data Documentation

◆ help

template<typename Component >
constexpr Options::String Parallel::SingletonInfoHolder< Component >::help
Initial value:
= {
"Resource options for a single singleton."}

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