deprecating span::at and span::operator()

This commit is contained in:
Jordan Maples [MSFT] 2019-11-19 14:31:21 -08:00
parent 7e99e76c97
commit 5e0d76a1a7
2 changed files with 12 additions and 0 deletions

View File

@ -510,8 +510,12 @@ public:
return data()[idx]; return data()[idx];
} }
// at and operator() are deprecated to align to the public member functions of std::span
[[deprecated("Use operator[]")]]
constexpr reference at(index_type idx) const { return this->operator[](idx); } constexpr reference at(index_type idx) const { return this->operator[](idx); }
[[deprecated("Use operator[]")]]
constexpr reference operator()(index_type idx) const { return this->operator[](idx); } constexpr reference operator()(index_type idx) const { return this->operator[](idx); }
constexpr pointer data() const noexcept { return storage_.data(); } constexpr pointer data() const noexcept { return storage_.data(); }
// [span.iter], span iterator support // [span.iter], span iterator support

View File

@ -18,7 +18,12 @@
// blanket turn off warnings from CppCoreCheck from catch // blanket turn off warnings from CppCoreCheck from catch
// so people aren't annoyed by them when running the tool. // so people aren't annoyed by them when running the tool.
#pragma warning(disable : 26440 26426 26497) // from catch #pragma warning(disable : 26440 26426 26497) // from catch
#pragma warning(disable : 4996)
#endif
#if __clang__ || __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
#endif #endif
#include <catch/catch.hpp> // for AssertionHandler, StringRef, CHECK, TEST_... #include <catch/catch.hpp> // for AssertionHandler, StringRef, CHECK, TEST_...
@ -1562,3 +1567,6 @@ TEST_CASE("default_constructible")
CHECK((!std::is_default_constructible<span<int, 42>>::value)); CHECK((!std::is_default_constructible<span<int, 42>>::value));
} }
#if __clang__ || __GNUC__
#pragma GCC diagnostic pop
#endif