solver.hpp serif/solver/preconditioner/backend/mfem/inverse.hpp src/include/serif/solver/preconditioner/preconditioner.hpp src/lib/serif/solver/preconditioner/backend/mfem/solver.cpp serif::solver::preconditioner::backend::mfem::Solver serif serif::solver serif::solver::preconditioner serif::solver::preconditioner::backend serif::solver::preconditioner::backend::mfem #pragmaonce #include"serif/solver/preconditioner/backend/mfem/inverse.hpp" namespaceserif::solver::preconditioner::backend::mfem { classSolverfinal:public::mfem::Solver { public: Solver(Inverseinverse,OperatorHandlejacobian); voidSetOperator(const::mfem::Operator&jacobian)override; voidMult(const::mfem::Vector&input,::mfem::Vector&output)constoverride; [[nodiscard]]ApplicationContractcontract()constnoexcept; private: Inversem_inverse; OperatorHandlem_jacobian; mutable::mfem::Vectorm_input; mutable::mfem::Vectorm_output; }; }//namespaceserif::solver::preconditioner::backend::mfem