File and class organization

I'd rather start with cleanup early. Here are my propositions on how to organize this module:

  • Move the following files to subdirectory types
  • blockmatrixview.hh
  • componentwisematrixmap.hh
  • singlenonzerocolumnmatrix.hh
  • singlenonzerorowmatrix.hh
  • Move the following files to a subdirectoy algorithm (?)
  • addtodiagonal.hh
  • algorithm.hh (rename to sparseMatrixSomething.hh?)
  • axpy.hh (rename to addProduct.hh, maybe also have substractProduct.hh)
  • axy.hh
  • crossproduct.hh
  • genericvectortools.hh (split up functions?)
  • getscalar.hh
  • transformmatrix.hh
  • transpose.hh
  • Move the following files to a subdirectory solvers (?)
  • ldlt.hh
  • triangularsolve.hh
  • Optionally move the following files to a subdirectory tools (???)
  • algorithm.hh/sparseMatrixSomething.hh (instead of moving it to algorithm)
  • concepts.hh (would otherwise remain in dune/solvers-root)
  • promote.hh (would otherwise remain in dune/solvers-root)

I propose this also in view of to-be-migrated files from dune-solvers (many of dune/solvers/common), among them being

  • defaultbitvector.hh
  • resize.hh (provides resizeInitialize)
  • genericvectortools.hh
  • wrapownshare.hh
  • tuplevector.hh
  • staticmatrixtools.hh
  • copyorreference.hh
  • arithmetic.hh

Also, I am not sure about how to go with a transition phase. Introducing forwarding includes like currently there for matrixtraits.hh and scalartraits.hh is probably the most convenient, but I feel like it might spoil the point of cleaning up promptly.

For neither folder I'd introduce dedicated namespaces as of now.

Edited by Gitlab Import