<typeindex>[added with C++11]
Include the standard header <typeindex>
to define a class and function that support indexing of objects of class
type_info.
namespace std {
class type_index;
class hash;
} // namespace std
hashtemplate<>
struct hash<type_index>
: public unary_function<type_index, size_t>
{ // hashes a typeinfo object
size_t operator()(type_index val) const;
};
The template class defines its member function as returning
val.hash_code(). The member function defines a
hash function, suitable for mapping values of type
type_index
to a distribution of index values.
type_indexclass type_index
{ // indexes a typeinfo object
public:
type_index(const type_info& tinfo) noexcept;
const char *name() const;
size_t hash_code() const;
bool operator==(const type_info& right) const noexcept;
bool operator!=(const type_info& right) const noexcept;
bool operator<(const type_info& right) const noexcept;
bool operator>=(const type_info& right) const noexcept;
bool operator>(const type_info& right) const noexcept;
bool operator<=(const type_info& right) const noexcept;
private:
type_info *ptr; // exposition only
};
The class wraps a pointer to
type_info to assist in indexing by
such objects.
type_index::hash_codesize_t hash_code() const;
The member function returns
ptr->hash_code().
type_index::nameconst char *name() const;
The member function returns
ptr->name().
type_index::operator<bool operator<(const type_index& right) const noexcept;
The member operator returns *ptr->before(*right.ptr).
type_index::operator<=bool operator<=(const type_index& right) const noexcept;
The member operator returns !(right < *this).
type_index::operator!=bool operator!=(const type_index& right) const noexcept;
The member operator returns !(*this == right).
type_index::operator==bool operator==(const type_index& right) const noexcept;
The member operator returns *ptr == right.ptr.
type_index::operator>bool operator>(const type_index& right) const noexcept;
The member operator returns right < *this.
type_index::operator>=bool operator>=(const type_index& right) const noexcept;
The member operator returns !(*this < right).
type_index::type_indextype_index(const type_info& tinfo) noexcept;
The constructor initializes ptr to &tinfo.
See also the Table of Contents and the Index.
Copyright © 1992-2013 by P.J. Plauger. All rights reserved.