Multi-Paradigm Programming with Modern C++ tutorial