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

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

#include <ResourceInfo.hpp>

Classes

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
 

Friends

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.

Details

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
staticconstexpr
Initial value:
= {
"Resource options for a single singleton."}

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