[libcxx-commits] [libcxx] [llvm] [clang-tools-extra] [clang] [libc++][span] P2821R5: span.at() (PR #74994)
Mark de Wever via libcxx-commits
libcxx-commits at lists.llvm.org
Sun Dec 10 12:02:10 PST 2023
================
@@ -343,6 +347,15 @@ public:
return __data_[__idx];
}
+# if _LIBCPP_STD_VER >= 26
+ _LIBCPP_HIDE_FROM_ABI constexpr reference at(size_type __idx) const {
+ if (__idx >= size()) {
+ __throw_out_of_range();
+ }
+ return *(data() + __idx);
----------------
mordante wrote:
And `std::__throw_out_of_range()` for consistency.
I prefer not to use `data()[__idx]`. This differs from the wording in the paper.
https://github.com/llvm/llvm-project/pull/74994
More information about the libcxx-commits
mailing list