diff options
| author | Louis Dionne <ldionne@apple.com> | 2019-03-28 01:27:52 +0000 |
|---|---|---|
| committer | Louis Dionne <ldionne@apple.com> | 2019-03-28 01:27:52 +0000 |
| commit | 7cd0dad834ce08f0fc668263a9f1c3b97ed7d59d (patch) | |
| tree | 114606bcee5f4b8322a3bc10e421c758bc6d7c13 /libcxx | |
| parent | 1857edb2567b611d84787bddcd11616eabb9d3d1 (diff) | |
| download | bcm5719-llvm-7cd0dad834ce08f0fc668263a9f1c3b97ed7d59d.tar.gz bcm5719-llvm-7cd0dad834ce08f0fc668263a9f1c3b97ed7d59d.zip | |
[libc++] Rename span's as_writeable_bytes to as_writable_bytes
Summary: The Standard says as_writable_bytes.
Reviewers: mclow.lists, EricWF
Subscribers: christof, jkorous, dexonsmith, libcxx-commits
Differential Revision: https://reviews.llvm.org/D59882
llvm-svn: 357139
Diffstat (limited to 'libcxx')
| -rw-r--r-- | libcxx/include/span | 12 | ||||
| -rw-r--r-- | libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.fail.cpp | 49 | ||||
| -rw-r--r-- | libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.pass.cpp (renamed from libcxx/test/std/containers/views/span.objectrep/as_writeable_bytes.pass.cpp) | 6 | ||||
| -rw-r--r-- | libcxx/test/std/containers/views/span.objectrep/as_writeable_bytes.fail.cpp | 49 |
4 files changed, 58 insertions, 58 deletions
diff --git a/libcxx/include/span b/libcxx/include/span index c2ed8b17664..6b89d606c80 100644 --- a/libcxx/include/span +++ b/libcxx/include/span @@ -339,7 +339,7 @@ public: _LIBCPP_INLINE_VISIBILITY span<const byte, _Extent * sizeof(element_type)> __as_bytes() const noexcept { return {reinterpret_cast<const byte *>(data()), size_bytes()}; } - _LIBCPP_INLINE_VISIBILITY span<byte, _Extent * sizeof(element_type)> __as_writeable_bytes() const noexcept + _LIBCPP_INLINE_VISIBILITY span<byte, _Extent * sizeof(element_type)> __as_writable_bytes() const noexcept { return {reinterpret_cast<byte *>(data()), size_bytes()}; } private: @@ -513,7 +513,7 @@ public: _LIBCPP_INLINE_VISIBILITY span<const byte, dynamic_extent> __as_bytes() const noexcept { return {reinterpret_cast<const byte *>(data()), size_bytes()}; } - _LIBCPP_INLINE_VISIBILITY span<byte, dynamic_extent> __as_writeable_bytes() const noexcept + _LIBCPP_INLINE_VISIBILITY span<byte, dynamic_extent> __as_writable_bytes() const noexcept { return {reinterpret_cast<byte *>(data()), size_bytes()}; } private: @@ -550,7 +550,7 @@ get(span<_Tp, _Size> __s) noexcept } -// as_bytes & as_writeable_bytes +// as_bytes & as_writable_bytes template <class _Tp, size_t _Extent> _LIBCPP_INLINE_VISIBILITY auto as_bytes(span<_Tp, _Extent> __s) noexcept @@ -559,9 +559,9 @@ auto as_bytes(span<_Tp, _Extent> __s) noexcept template <class _Tp, size_t _Extent> _LIBCPP_INLINE_VISIBILITY -auto as_writeable_bytes(span<_Tp, _Extent> __s) noexcept --> enable_if_t<!is_const_v<_Tp>, decltype(__s.__as_writeable_bytes())> -{ return __s.__as_writeable_bytes(); } +auto as_writable_bytes(span<_Tp, _Extent> __s) noexcept +-> enable_if_t<!is_const_v<_Tp>, decltype(__s.__as_writable_bytes())> +{ return __s.__as_writable_bytes(); } template <class _Tp, size_t _Extent> _LIBCPP_INLINE_VISIBILITY diff --git a/libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.fail.cpp b/libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.fail.cpp new file mode 100644 index 00000000000..4f93c9141e0 --- /dev/null +++ b/libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.fail.cpp @@ -0,0 +1,49 @@ +// -*- C++ -*- +//===------------------------------ span ---------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===---------------------------------------------------------------------===// +// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17 + +// <span> + +// template <class ElementType, size_t Extent> +// span<byte, +// Extent == dynamic_extent +// ? dynamic_extent +// : sizeof(ElementType) * Extent> +// as_writable_bytes(span<ElementType, Extent> s) noexcept; + + +#include <span> +#include <cassert> +#include <string> + +#include "test_macros.h" + +const int iArr2[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; + +struct A {}; + +int main(int, char**) +{ + std::as_writable_bytes(std::span<const int>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const long>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const double>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const A>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const std::string>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + + std::as_writable_bytes(std::span<const int, 0>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const long, 0>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const double, 0>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const A, 0>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const std::string, (size_t)0>()); // expected-error {{no matching function for call to 'as_writable_bytes'}} + + std::as_writable_bytes(std::span<const int> (iArr2, 1)); // expected-error {{no matching function for call to 'as_writable_bytes'}} + std::as_writable_bytes(std::span<const int, 1>(iArr2 + 5, 1)); // expected-error {{no matching function for call to 'as_writable_bytes'}} + + return 0; +} diff --git a/libcxx/test/std/containers/views/span.objectrep/as_writeable_bytes.pass.cpp b/libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.pass.cpp index 409f6fa7cd6..01852ff65a1 100644 --- a/libcxx/test/std/containers/views/span.objectrep/as_writeable_bytes.pass.cpp +++ b/libcxx/test/std/containers/views/span.objectrep/as_writable_bytes.pass.cpp @@ -15,7 +15,7 @@ // Extent == dynamic_extent // ? dynamic_extent // : sizeof(ElementType) * Extent> -// as_writeable_bytes(span<ElementType, Extent> s) noexcept; +// as_writable_bytes(span<ElementType, Extent> s) noexcept; #include <span> @@ -27,9 +27,9 @@ template<typename Span> void testRuntimeSpan(Span sp) { - ASSERT_NOEXCEPT(std::as_writeable_bytes(sp)); + ASSERT_NOEXCEPT(std::as_writable_bytes(sp)); - auto spBytes = std::as_writeable_bytes(sp); + auto spBytes = std::as_writable_bytes(sp); using SB = decltype(spBytes); ASSERT_SAME_TYPE(std::byte, typename SB::element_type); diff --git a/libcxx/test/std/containers/views/span.objectrep/as_writeable_bytes.fail.cpp b/libcxx/test/std/containers/views/span.objectrep/as_writeable_bytes.fail.cpp deleted file mode 100644 index 388da084ae0..00000000000 --- a/libcxx/test/std/containers/views/span.objectrep/as_writeable_bytes.fail.cpp +++ /dev/null @@ -1,49 +0,0 @@ -// -*- C++ -*- -//===------------------------------ span ---------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===---------------------------------------------------------------------===// -// UNSUPPORTED: c++98, c++03, c++11, c++14, c++17 - -// <span> - -// template <class ElementType, size_t Extent> -// span<byte, -// Extent == dynamic_extent -// ? dynamic_extent -// : sizeof(ElementType) * Extent> -// as_writeable_bytes(span<ElementType, Extent> s) noexcept; - - -#include <span> -#include <cassert> -#include <string> - -#include "test_macros.h" - -const int iArr2[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; - -struct A {}; - -int main(int, char**) -{ - std::as_writeable_bytes(std::span<const int>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const long>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const double>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const A>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const std::string>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - - std::as_writeable_bytes(std::span<const int, 0>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const long, 0>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const double, 0>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const A, 0>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const std::string, (size_t)0>()); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - - std::as_writeable_bytes(std::span<const int> (iArr2, 1)); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - std::as_writeable_bytes(std::span<const int, 1>(iArr2 + 5, 1)); // expected-error {{no matching function for call to 'as_writeable_bytes'}} - - return 0; -} |

