Advanced solutions of OOP course projects. [Templates, Multithreading, std::allocator, Move-semantics]