/** * \file * \copyright * Copyright (c) 2012-2023, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license * */ #pragma once #include #include namespace BaseLib { class ConfigTree; } namespace ProcessLib { class ProcessVariable; } namespace ProcessLib { /// Find process variables in \c variables whose names match the settings under /// the given \c tag_names in the \c process_config. /// /// In the process config a process variable is referenced by a name. For /// example it will be looking for a variable named "H" in the list of process /// variables when the tag is "hydraulic_head": /// \code /// /// ... /// /// H /// ... /// /// ... /// /// \endcode /// /// \return a vector of references to the found variable(s). std::vector> findProcessVariables( std::vector const& variables, BaseLib::ConfigTree const& pv_config, std::initializer_list tags); std::vector> findProcessVariables( std::vector const& variables, BaseLib::ConfigTree const& pv_config, std::string const& tag); } // namespace ProcessLib