Some macro sugar

Found this in MSDN:
_CPPRTTI
Defined for code compiled with /GR (Enable Run-Time Type Information).

_CPPUNWIND
Defined for code compiled with /GX (Enable Exception Handling).

It might worth replacing the runtime dynamic_cast check by a compile time one, don’t you think ?

Interesting, thanks for the tip!