updated implementation to use improvements from the C++11/14 standard, this breaks support with old compilers
Authored by: madelmann 2020-04-19
Parent: [r2653]
Child: [r2655]