Stepan Dyatkovskiy
Company: Kaspersky Lab
This work might be interesting for all those who needs RTTI or type erasure in C++. Why community keeps writing RTTI of their own? Isn't it enough to use standard C++ RTTI? The reason is that standard RTTI is too much global, once enabled it is injected into all translation unit classes. And sometimes it is slow. And you can't get access to classes hierarchy (which might be useful).
Same time when we write RTTI of our own, we have to:
Using C++17 a some little tricks, we managed to get rid of most of all problems from above.
Company: Kaspersky Lab
Company: Kaspersky Lab