20 General utilities library [utilities]

20.8 Storage for any type [any]

20.8.4 Class any [any.class]

20.8.4.5 Observers [any.observers]

bool has_value() const noexcept;
Returns: true if *this contains an object, otherwise false.
const type_info& type() const noexcept;
Returns: typeid(T) if *this has a contained value of type T, otherwise typeid(void).
[Note 1:
Useful for querying against types known either at compile time or only at runtime.
— end note]