Modernize Muons
- make interfaces inherit from extend_interfaces, and use DeclareInterfaceID
- avoid trailing return types in interfaces
- deprecate interface methods which take a string as argument, provide method which takes an enum instead -- this avoids having to create a string, and then parse it, on every call
- prefer inheriting constructors
- prefer std::abs over fabs
- prefer std::transform over std::for_each
- add const
- move debug printout out of loop
- simplify logic
- prefer std::array over std::vector to avoid heap allocation
- prefer passing std::array<>& over decayed pointers
- prefer true/false over 1/0 assignments for bool
- prefer std::array.fill over loops
- simplify inside using lambda
- prefer range-based for loops
- prefer switch/case over if-else-if-else-if-
- prefer boost::static_vector over std::vector if there is a known upperlimit on the maximum size
- prefer range-based loop over BOOST_FOREACH
Edited by Marco Cattaneo