The only mention of type_info
on that page is
TypeInfo is a simple wrapper around type_info class that lets us store it as a key in std::map.
C++11 has std::type_index
in <typeindex>
which fulfills exactly this role. In general elements of a map
do not need to be assignable, nor as of C++11 copyable, but type_info
still cannot be used directly because you simply cannot construct one except by typeid
expression.
The specification for std::type_index
notes that it may contain a pointer to std::type_info
to simplify implementation. "Wrapper" does not imply inheritance or direct membership.
An class which wraps by reference is also known as a proxy.