Clean C++ : sustainable software development patterns and best practices with C++ 17 / - Roth, Stephan,