Feature/dynamicpolymorphism
All threads resolved!
All threads resolved!
Compare changes
- Christian Engwer authored
@@ -38,9 +38,8 @@ int main(int argc, char** argv)
This is the first MR in a series to implement #26 (closed).
The solver interfaces use dynamic polymorphism, but currently it is not possible to fully benefit from this feature. We want to allow the user to take full benefit from a dynamic interface for solver/precoditioner/scalarproduct/linearoperator.
The main change is that the category
isn't an enum
anymore, but virtual method catergory()
.
This MR contains the following changes:
category()
to check for the same SolverCategory
of different components at run time. This is a slight drawback compared to the current compile time checks, but it adds a lot of flexibility as we will be able to write factory classes for solvers and compose/exchange solvers at runtime.SolverCategory::category(object)
to be be backwards compatiblecmake
switch to enable/disable the backwards compatibilityPropertiesGraphCreator
on the categoryThis MR partially incorporates commits from !5 (closed) and !1 (closed).