std::experimental::erased_type
From cppreference.com
                    
                                        
                    < cpp | experimental
                    
                                                            
                    | 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.


