21 std::string
const& parameter_name,
22 std::vector<std::unique_ptr<ParameterBase>>
const& parameters);
35template <
typename ParameterDataType>
37 std::string
const& parameter_name,
38 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
39 int const num_components,
MeshLib::Mesh const*
const mesh =
nullptr)
44 if (parameter_ptr ==
nullptr)
50 auto*
const parameter =
54 OGS_FATAL(
"The read parameter `{:s}' is of incompatible type.",
58 if (num_components != 0 &&
59 parameter->getNumberOfGlobalComponents() != num_components)
62 "The read parameter `{:s}' has the wrong number of components "
63 "({:d} instead of {:d}).",
64 parameter_name, parameter->getNumberOfGlobalComponents(),
74 "The found parameter is not suitable for the use on the "
75 "required mesh.\n{:s}",
94template <
typename ParameterDataType>
96 std::string
const& parameter_name,
97 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
98 int const num_components,
102 parameter_name, parameters, num_components, mesh);
107 "Could not find parameter `{:s}' in the provided parameters list.",
127template <
typename ParameterDataType>
130 std::string
const& tag,
131 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
132 int const num_components,
158template <
typename ParameterDataType>
161 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
162 int const num_components,
MeshLib::Mesh const*
const mesh =
nullptr)
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)
OGS_NO_DANGLING 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)