std::experimental::erased_type

From cppreference.com
Defined in header <experimental/utility>
struct erased_type { };
(library fundamentals TS)

The struct erased_type is an empty struct that serves as a placeholder for a type in situations where the actual type is determined at runtime. For example, in classes that use type-erased allocators, the nested typedef allocator_type is an alias for erased_type.