Skip to content

Modernize Relations

Gerhard Raven requested to merge modernize-relations2 into master

Apart from generic cleanups (eg. remove the 'inline' keyword when it is not needed), the most important change is to change the way the types used inside Relations are customized. When the traits class is specialized for a given type, previously it had to specify all types. Instead here one only specifies the types which need to be customized, and then the remainder will be taken from the defaults (which may involve previously customized types!). As a result, customizing the types becomes much less work.

Note that also some types are no longer required in C++11/C++17 thanks to auto and CTAD (class template argument deduction) and those have been removed -- and due to this, this MR must be applied either after Lbcom!385 (merged), or in conjunction with it. Also, must be applied in conjunction with Phys!616 (merged) and Analysis!556 (merged)

Edited by Gerhard Raven

Merge request reports