Switching to modern C++
The full Damaris code-base should be moved to C++14. This include in particular the following:
- Making sure all classes have the right move constructor and move assignment operators;
- Making sure perfect forwarding is used as much as possible;
- Using
= delete
instead of private constructors for constructors we want to hide; - Using range-based for loops as much as possible.
- Using
auto
when the type declaration is not necessary, e.g. for defining iterators. - Using
override
andfinal
keywords while using polymorphism. - Replacing
NULL
withnullptr
throughout the project. - Declare all damaris API functions as
noexcept
.