Namespaces
Variants
Views
Actions

Standard library header <typeindex>

From cppreference.com
< cpp‎ | header
Revision as of 22:55, 31 May 2013 by P12bot (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

This header is part of the types support library.

Contents

[edit] Classes

wrapper around a type_info object, that can be used as index in associative and unordered associative containers
(class) [edit]
hash support for std::type_index
(class template specialization) [edit]
Forward declarations
Defined in header <functional>
(C++11)
hash function object
(class template) [edit]

[edit] Synopsis

namespace std {
    class type_index;
    template <class T> struct hash;
    template<> struct hash<type_index>;
}

[edit] Class std::type_index

class type_index {
public:
    type_index(const type_info& rhs) noexcept;
    bool operator==(const type_index& rhs) const noexcept;
    bool operator!=(const type_index& rhs) const noexcept;
    bool operator< (const type_index& rhs) const noexcept;
    bool operator<= (const type_index& rhs) const noexcept;
    bool operator> (const type_index& rhs) const noexcept;
    bool operator>= (const type_index& rhs) const noexcept;
    size_t hash_code() const;
    const char* name() const;
private:
    const type_info* target; // exposition only
    // Note that the use of a pointer here, rather than a reference,
    // means that the default copy/move constructor and assignment
    // operators will be provided and work as expected.
};