diff options
Diffstat (limited to 'lib/libcxx/include/typeindex')
-rw-r--r-- | lib/libcxx/include/typeindex | 103 |
1 files changed, 0 insertions, 103 deletions
diff --git a/lib/libcxx/include/typeindex b/lib/libcxx/include/typeindex deleted file mode 100644 index 0565ca913e3..00000000000 --- a/lib/libcxx/include/typeindex +++ /dev/null @@ -1,103 +0,0 @@ -// -*- C++ -*- -//===-------------------------- typeindex ---------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -#ifndef _LIBCPP_TYPEINDEX -#define _LIBCPP_TYPEINDEX - -/* - - typeindex synopsis - -namespace std -{ - -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 noexcept; - const char* name() const noexcept; -}; - -template <> -struct hash<type_index> - : public unary_function<type_index, size_t> -{ - size_t operator()(type_index index) const noexcept; -}; - -} // std - -*/ - -#include <__config> -#include <typeinfo> -#include <__functional_base> - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -#pragma GCC system_header -#endif - -_LIBCPP_BEGIN_NAMESPACE_STD - -class _LIBCPP_TEMPLATE_VIS type_index -{ - const type_info* __t_; -public: - _LIBCPP_INLINE_VISIBILITY - type_index(const type_info& __y) _NOEXCEPT : __t_(&__y) {} - - _LIBCPP_INLINE_VISIBILITY - bool operator==(const type_index& __y) const _NOEXCEPT - {return *__t_ == *__y.__t_;} - _LIBCPP_INLINE_VISIBILITY - bool operator!=(const type_index& __y) const _NOEXCEPT - {return *__t_ != *__y.__t_;} - _LIBCPP_INLINE_VISIBILITY - bool operator< (const type_index& __y) const _NOEXCEPT - {return __t_->before(*__y.__t_);} - _LIBCPP_INLINE_VISIBILITY - bool operator<=(const type_index& __y) const _NOEXCEPT - {return !__y.__t_->before(*__t_);} - _LIBCPP_INLINE_VISIBILITY - bool operator> (const type_index& __y) const _NOEXCEPT - {return __y.__t_->before(*__t_);} - _LIBCPP_INLINE_VISIBILITY - bool operator>=(const type_index& __y) const _NOEXCEPT - {return !__t_->before(*__y.__t_);} - - _LIBCPP_INLINE_VISIBILITY - size_t hash_code() const _NOEXCEPT {return __t_->hash_code();} - _LIBCPP_INLINE_VISIBILITY - const char* name() const _NOEXCEPT {return __t_->name();} -}; - -template <class _Tp> struct _LIBCPP_TEMPLATE_VIS hash; - -template <> -struct _LIBCPP_TEMPLATE_VIS hash<type_index> - : public unary_function<type_index, size_t> -{ - _LIBCPP_INLINE_VISIBILITY - size_t operator()(type_index __index) const _NOEXCEPT - {return __index.hash_code();} -}; - -_LIBCPP_END_NAMESPACE_STD - -#endif // _LIBCPP_TYPEINDEX |