/usr/include/trilinos/Pike_Solver_AbstractFactory.hpp is in libtrilinos-pike-dev 12.4.2-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #ifndef PIKE_SOLVER_ABSTRACT_FACTORY_HPP
#define PIKE_SOLVER_ABSTRACT_FACTORY_HPP
#include "Teuchos_RCP.hpp"
namespace Teuchos { class ParameterList; }
namespace pike {
class Solver;
/** \brief Abstract factory design pattern for building solvers. */
class SolverAbstractFactory {
public:
virtual ~SolverAbstractFactory() {}
//! Returns true of the type can be built by this factory.
virtual bool supportsType(const std::string& type) const = 0;
/** \brief Allocates and returns a pike::Solver object.
\param[in] p Parameter list the determines the solver to build.
\param[in] solverSublistName (OPTIONAL) If specified, the factory will use the specified sublist for construction of the solver. If the string is empty, then the factory will look for a string entry at the top level of the ParameterList, p, with the key "Solver Sublist Name" and get the sublist name from that.
\returns A newly allocated pike::Solver
*/
virtual
Teuchos::RCP<pike::Solver>
buildSolver(const Teuchos::RCP<Teuchos::ParameterList>& p,
const std::string& solverSublistName = "") const = 0;
};
}
#endif
|