39 typename OriginalPreconditioner::range_type>
42 template <
class... Args>
44 : orig_precond_(std::forward<Args>(args)...)
48 using X =
typename OriginalPreconditioner::domain_type;
49 using Y =
typename OriginalPreconditioner::range_type;
51 virtual void pre(X& x, Y& b)
override
53 orig_precond_.pre(x, b);
56 virtual void apply(X& v,
const Y& d)
override
58 orig_precond_.apply(v, d);
61 virtual void post(X& x)
override
63 orig_precond_.post(x);
66 virtual SolverCategory::Category category()
const override
68 return orig_precond_.category();
72 virtual void update()
override
77 OriginalPreconditioner orig_precond_;