Namespaces | Classes | Typedefs | Functions
Options Namespace Reference

Utilities for parsing input files. More...


 The label representing the absence of a value for Options::Auto


struct  Alternatives
 Provide multiple ways to construct a class. More...
class  Auto
 A class indicating that a parsed value can be automatically computed instead of specified. More...
class  Comparator
 An option-creatable mathematical comparison. More...
struct  Context
struct  create_from_yaml
struct  create_from_yaml< Auto< T, Label > >
struct  create_from_yaml< Comparator >
struct  create_from_yaml< Convergence::Reason >
struct  create_from_yaml< DenseMatrix< T, SO > >
struct  create_from_yaml< DenseTriggers::Or >
struct  create_from_yaml< DenseTriggers::Times >
struct  create_from_yaml< DenseVector< T, TF > >
struct  create_from_yaml< domain::CoordinateMaps::Distribution >
struct  create_from_yaml< EventsAndTriggers >
struct  create_from_yaml< evolution::EventsAndDenseTriggers >
struct  create_from_yaml< FastFlow::FlowType >
struct  create_from_yaml< FloatingPointType >
struct  create_from_yaml< GeneralizedHarmonic::BoundaryConditions::detail::ConstraintPreservingBjorhusType >
struct  create_from_yaml< Limiters::MinmodType >
struct  create_from_yaml< Limiters::WenoType >
struct  create_from_yaml< NewtonianEuler::Limiters::VariablesToLimit >
struct  create_from_yaml< Options::Options_detail::variant_parse_error< T... > >
struct  create_from_yaml< ScalarWave::BoundaryConditions::detail::ConstraintPreservingSphericalRadiationType >
struct  create_from_yaml< ScalarWave::BoundaryConditions::detail::SphericalRadiationType >
struct  create_from_yaml< ShellWedges >
struct  create_from_yaml< std::complex< double > >
 Parse complex numbers as pairs of doubles.
struct  create_from_yaml< std::unique_ptr< T > >
struct  create_from_yaml< std::unordered_map< K, V, H, P > >
struct  create_from_yaml< std::variant< T... > >
struct  create_from_yaml< StepChoosers::Constant< StepChooserUse > >
struct  create_from_yaml< Triggers::And >
struct  create_from_yaml< Triggers::NearTimes_enums::Unit >
struct  create_from_yaml< Triggers::Not >
struct  create_from_yaml< Triggers::Or >
struct  create_from_yaml< Triggers::Slabs >
struct  create_from_yaml< Triggers::Times >
struct  create_from_yaml< typename Triggers::NearTimes_enums::Direction >
struct  create_from_yaml< Verbosity >
struct  create_from_yaml< Xcts::Solutions::SchwarzschildCoordinates >
struct  InputSource
 Option parser tag to retrieve the YAML source and all applied overlays. This tag can be requested without providing it as a template parameter to the Parser. More...
class  Option
class  Parser
 Class that handles parsing an input file. More...


template<typename FactoryClasses , typename... NewClasses>
using add_factory_classes = typename detail::add_factory_classes< FactoryClasses, NewClasses... >::type
 Add new factory-creatable classes to the list in a factory_creation struct. More...
using String = const char *const
 The string used in option structs.


template<typename T , typename Label >
bool operator== (const Auto< T, Label > &a, const Auto< T, Label > &b) noexcept
template<typename T , typename Label >
bool operator!= (const Auto< T, Label > &a, const Auto< T, Label > &b) noexcept
template<typename T , typename Label >
std::ostreamoperator<< (std::ostream &os, const Auto< T, Label > &x) noexcept
std::ostreamoperator<< (std::ostream &s, const Context &c) noexcept
template<typename T >
std::string name () noexcept

Detailed Description

Utilities for parsing input files.

Typedef Documentation

◆ add_factory_classes

template<typename FactoryClasses , typename... NewClasses>
using Options::add_factory_classes = typedef typename detail::add_factory_classes<FactoryClasses, NewClasses...>::type

Add new factory-creatable classes to the list in a factory_creation struct.

For each tmpl::pair<Base, DerivedList> in the NewClasses parameter pack, append the classes in DerivedList to the list for Base in FactoryClasses. The FactoryClasses map need not have a preexisting entry for Base.

This example adds three new derived classes, two for one base class and one for another.

using new_classes = Options::add_factory_classes<
tmpl::list<Derived<Label<3>>, Derived<Label<4>>>>,
tmpl::pair<Base<Label<2>>, tmpl::list<Derived<Label<5>>>>>;
See also
typename detail::add_factory_classes< FactoryClasses, NewClasses... >::type add_factory_classes
Add new factory-creatable classes to the list in a factory_creation struct.
Definition: FactoryHelpers.hpp:51