The class Compact_container_base can be used as a base class for
your own type T, so that T can be used directly within
Compact_container<T, Allocator>. This class stores a void *
pointer only for this purpose, so it may not be the most memory efficient
way to achieve this goal. The other ways are to provide in T the
necessary member functions so that the template
Compact_container_traits<T> works, or to specialize it for the
particular type T that you want to use.