27 std::string
const& parameter_name,
28 std::vector<std::unique_ptr<ParameterBase>>
const& parameters);
41template <
typename ParameterDataType>
43 std::string
const& parameter_name,
44 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
45 int const num_components,
MeshLib::Mesh const*
const mesh =
nullptr)
50 if (parameter_ptr ==
nullptr)
56 auto*
const parameter =
60 OGS_FATAL(
"The read parameter `{:s}' is of incompatible type.",
64 if (num_components != 0 &&
65 parameter->getNumberOfGlobalComponents() != num_components)
68 "The read parameter `{:s}' has the wrong number of components "
69 "({:d} instead of {:d}).",
70 parameter_name, parameter->getNumberOfGlobalComponents(),
80 "The found parameter is not suitable for the use on the "
81 "required mesh.\n{:s}",
100template <
typename ParameterDataType>
102 std::string
const& parameter_name,
103 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
104 int const num_components,
MeshLib::Mesh const*
const mesh =
nullptr)
106 auto* parameter = findParameterOptional<ParameterDataType>(
107 parameter_name, parameters, num_components, mesh);
112 "Could not find parameter `{:s}' in the provided parameters list.",
132template <
typename ParameterDataType>
135 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
136 int const num_components,
MeshLib::Mesh const*
const mesh =
nullptr)
142 return findParameter<ParameterDataType>(name, parameters, num_components,
161template <
typename ParameterDataType>
164 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
165 int const num_components,
MeshLib::Mesh const*
const mesh =
nullptr)
176 return &findParameter<ParameterDataType>(*name, parameters, num_components,
std::optional< T > getConfigParameterOptional(std::string const ¶m) const
T getConfigParameter(std::string const ¶m) const
Parameter< ParameterDataType > * findParameterOptional(std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase > > const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)
Parameter< ParameterDataType > * findOptionalTagParameter(BaseLib::ConfigTree const &process_config, std::string const &tag, std::vector< std::unique_ptr< ParameterBase > > const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)
std::optional< std::string > isDefinedOnSameMesh(ParameterBase const ¶meter, MeshLib::Mesh const &mesh)
ParameterBase * findParameterByName(std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase > > const ¶meters)
Parameter< ParameterDataType > & findParameter(std::string const ¶meter_name, std::vector< std::unique_ptr< ParameterBase > > const ¶meters, int const num_components, MeshLib::Mesh const *const mesh=nullptr)