28 std::string
const& parameter_name,
29 std::vector<std::unique_ptr<ParameterBase>>
const& parameters);
42template <
typename ParameterDataType>
44 std::string
const& parameter_name,
45 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
46 int const num_components,
MeshLib::Mesh const*
const mesh =
nullptr)
51 if (parameter_ptr ==
nullptr)
57 auto*
const parameter =
61 OGS_FATAL(
"The read parameter `{:s}' is of incompatible type.",
65 if (num_components != 0 &&
66 parameter->getNumberOfGlobalComponents() != num_components)
69 "The read parameter `{:s}' has the wrong number of components "
70 "({:d} instead of {:d}).",
71 parameter_name, parameter->getNumberOfGlobalComponents(),
81 "The found parameter is not suitable for the use on the "
82 "required mesh.\n{:s}",
101template <
typename ParameterDataType>
103 std::string
const& parameter_name,
104 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
105 int const num_components,
109 parameter_name, parameters, num_components, mesh);
114 "Could not find parameter `{:s}' in the provided parameters list.",
134template <
typename ParameterDataType>
137 std::string
const& tag,
138 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
139 int const num_components,
165template <
typename ParameterDataType>
168 std::vector<std::unique_ptr<ParameterBase>>
const& parameters,
169 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)