diff options
author | Marshall Clow <mclow.lists@gmail.com> | 2018-11-27 16:35:41 +0000 |
---|---|---|
committer | Marshall Clow <mclow.lists@gmail.com> | 2018-11-27 16:35:41 +0000 |
commit | 44d247d2803e9c9caffda7d4d37abd79575d0a54 (patch) | |
tree | 091e642f361cdc0ffc76dd952260ada978c86ff1 /libcxx/include/span | |
parent | d8851b5def462d88924ba53cffe95a149f02d2e8 (diff) | |
download | bcm5719-llvm-44d247d2803e9c9caffda7d4d37abd79575d0a54.tar.gz bcm5719-llvm-44d247d2803e9c9caffda7d4d37abd79575d0a54.zip |
Implement P1085R2 - Should Span be Regular?. This consists entirely of deletions
llvm-svn: 347672
Diffstat (limited to 'libcxx/include/span')
-rw-r--r-- | libcxx/include/span | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/libcxx/include/span b/libcxx/include/span index ea7aecb5886..cebe98760f2 100644 --- a/libcxx/include/span +++ b/libcxx/include/span @@ -23,20 +23,6 @@ inline constexpr ptrdiff_t dynamic_extent = -1; template <class ElementType, ptrdiff_t Extent = dynamic_extent> class span; -// [span.comparison], span comparison operators -template <class T, ptrdiff_t X, class U, ptrdiff_t Y> - constexpr bool operator==(span<T, X> l, span<U, Y> r); -template <class T, ptrdiff_t X, class U, ptrdiff_t Y> - constexpr bool operator!=(span<T, X> l, span<U, Y> r); -template <class T, ptrdiff_t X, class U, ptrdiff_t Y> - constexpr bool operator<(span<T, X> l, span<U, Y> r); -template <class T, ptrdiff_t X, class U, ptrdiff_t Y> - constexpr bool operator<=(span<T, X> l, span<U, Y> r); -template <class T, ptrdiff_t X, class U, ptrdiff_t Y> - constexpr bool operator>(span<T, X> l, span<U, Y> r); -template <class T, ptrdiff_t X, class U, ptrdiff_t Y> - constexpr bool operator>=(span<T, X> l, span<U, Y> r); - // [span.objectrep], views of object representation template <class ElementType, ptrdiff_t Extent> span<const byte, ((Extent == dynamic_extent) ? dynamic_extent : @@ -539,36 +525,6 @@ private: index_type __size; }; -template <class _Tp1, ptrdiff_t _Extent1, class _Tp2, ptrdiff_t _Extent2> - constexpr bool - operator==(const span<_Tp1, _Extent1>& __lhs, const span<_Tp2, _Extent2>& __rhs) - { return equal(__lhs.begin(), __lhs.end(), __rhs.begin(), __rhs.end()); } - -template <class _Tp1, ptrdiff_t _Extent1, class _Tp2, ptrdiff_t _Extent2> - constexpr bool - operator!=(const span<_Tp1, _Extent1>& __lhs, const span<_Tp2, _Extent2>& __rhs) - { return !(__rhs == __lhs); } - -template <class _Tp1, ptrdiff_t _Extent1, class _Tp2, ptrdiff_t _Extent2> - constexpr bool - operator< (const span<_Tp1, _Extent1>& __lhs, const span<_Tp2, _Extent2>& __rhs) - { return lexicographical_compare (__lhs.begin(), __lhs.end(), __rhs.begin(), __rhs.end()); } - -template <class _Tp1, ptrdiff_t _Extent1, class _Tp2, ptrdiff_t _Extent2> - constexpr bool - operator<=(const span<_Tp1, _Extent1>& __lhs, const span<_Tp2, _Extent2>& __rhs) - { return !(__rhs < __lhs); } - -template <class _Tp1, ptrdiff_t _Extent1, class _Tp2, ptrdiff_t _Extent2> - constexpr bool - operator> (const span<_Tp1, _Extent1>& __lhs, const span<_Tp2, _Extent2>& __rhs) - { return __rhs < __lhs; } - -template <class _Tp1, ptrdiff_t _Extent1, class _Tp2, ptrdiff_t _Extent2> - constexpr bool - operator>=(const span<_Tp1, _Extent1>& __lhs, const span<_Tp2, _Extent2>& __rhs) - { return !(__lhs < __rhs); } - // as_bytes & as_writeable_bytes template <class _Tp, ptrdiff_t _Extent> auto as_bytes(span<_Tp, _Extent> __s) noexcept |