Standard library header <typeinfo>
From cppreference.com
This header is part of the type support library.
Classes
contains some type's information, generated by the implementation. This is the class returned by the typeid operator. (class) | |
exception that is thrown if an argument in a typeid expression is null (class) | |
exception that is thrown by an invalid dynamic_cast expression, i.e. a cast of reference type fails (class) |
Synopsis
namespace std { class type_info; class bad_cast; class bad_typeid; }
Class std::type_info
class type_info { public: virtual ~type_info(); bool operator==(const type_info& rhs) const noexcept; bool operator!=(const type_info& rhs) const noexcept; bool before(const type_info& rhs) const noexcept; size_t hash_code() const noexcept; const char* name() const noexcept; type_info(const type_info& rhs) = delete; // cannot be copied type_info& operator=(const type_info& rhs) = delete; // cannot be copied };
Class std::bad_cast
class bad_cast : public exception { public: bad_cast() noexcept; bad_cast(const bad_cast&) noexcept; bad_cast& operator=(const bad_cast&) noexcept; const char* what() const noexcept override; };
Class std::bad_typeid
class bad_typeid : public exception { public: bad_typeid() noexcept; bad_typeid(const bad_typeid&) noexcept; bad_typeid& operator=(const bad_typeid&) noexcept; const char* what() const noexcept override; };