Unique identifier for each type without using runtime type identifier. More...
Internally, and compared to the RTTI mechanism, this class use the so-called one-definition rule (ODR).
[...] If an identifier declared with external linkage is used in an expression [...], somewhere in the entire program there shall be exactly one external definition for the identifier; [...]
Largely inspired by http://codereview.stackexchange.com/questions/48594/unique-type-id-no-rtti
Default constructor (nullptr id)
Explicit converter to the type
Inequality operator. Compare if the internal ID are not the same between both objects
Equality operator. Compare if the internal ID are the same between both objects