Skip to content

Modernize LoKiCore

Gerhard Raven requested to merge modernize-lokicore into master
  • remove redundant explicit destructors
  • replace some 'virtual' qualifiers with 'override' qualifiers
  • add 'final' qualifiers
  • if possible replace constructors with inheriting base class constructors
  • use forwarding constructors to reduce the number of code paths
  • prefer =default for copy/move c'tor over explicit equivalent implementation
  • tweak move assignment / move construction
  • do not explicitly invoke default c'tor of base classes
  • add {} to explicitly call c'tor when instantiating (const) objects
  • prefer std::unique_ptr over raw pointer + explicit delete
  • use 'auto' where appropriate
  • implement Min,Max,AbsMin,AbsMax as special cases of Extremum
  • implement {Min,Max,AbsMin,AbsMax}Element as special case of ExtremeElement
  • implement And,Or,Less,Equal,LessOrEqual,NotEqual as special cases of BinaryOp
  • implement Plus,Minus,Divide,Multiply as special cases of Combination
  • implement Union,NoEmptyUnion,Difference,Intersection,SymDifference as special cases of ComposeFunctions
  • prefer STL algorithms over raw loops
  • prefer emplace_back
  • add constexpr when appropriate
  • remove deprecated std::{unary,binary}_function

Merge request reports