Pass cppcheck
Cpp-Check passes with the following checks enabled:
- warning
- performance
- portability
- information
- missingInclude
Disabled checks are:
- unusedFunction
- style: this check reports mostly constructors not marked as explicit
The changes made by this branch are mostly changing post- to prefixincrement, initializing in initializerlist instead of constructor-body and making function-parameter const-references.