Type-erasure in C++, learn it by re-implement std::function (part 1 presentation) Let's re-implement std::function using type-erasurePart 2: Talking is cheap I will show you the code