@@ -2142,26 +2142,23 @@ constexpr bool disable_sized_sentinel_for<reverse_iterator<_BidIt1>, reverse_ite
21422142#endif // _HAS_CXX20
21432143
21442144_EXPORT_STD template <class _Container>
2145- _NODISCARD _CONSTEXPR17 auto begin(_Container& _Cont) noexcept(noexcept(_Cont.begin())) /* strengthened */
2146- -> decltype(_Cont.begin()) {
2145+ _NODISCARD _CONSTEXPR17 auto begin(_Container& _Cont) noexcept(noexcept(_Cont.begin())) -> decltype(_Cont.begin()) {
21472146 return _Cont.begin();
21482147}
21492148
21502149_EXPORT_STD template <class _Container>
2151- _NODISCARD _CONSTEXPR17 auto begin(const _Container& _Cont) noexcept(noexcept(_Cont.begin())) /* strengthened */
2150+ _NODISCARD _CONSTEXPR17 auto begin(const _Container& _Cont) noexcept(noexcept(_Cont.begin()))
21522151 -> decltype(_Cont.begin()) {
21532152 return _Cont.begin();
21542153}
21552154
21562155_EXPORT_STD template <class _Container>
2157- _NODISCARD _CONSTEXPR17 auto end(_Container& _Cont) noexcept(noexcept(_Cont.end())) /* strengthened */
2158- -> decltype(_Cont.end()) {
2156+ _NODISCARD _CONSTEXPR17 auto end(_Container& _Cont) noexcept(noexcept(_Cont.end())) -> decltype(_Cont.end()) {
21592157 return _Cont.end();
21602158}
21612159
21622160_EXPORT_STD template <class _Container>
2163- _NODISCARD _CONSTEXPR17 auto end(const _Container& _Cont) noexcept(noexcept(_Cont.end())) /* strengthened */
2164- -> decltype(_Cont.end()) {
2161+ _NODISCARD _CONSTEXPR17 auto end(const _Container& _Cont) noexcept(noexcept(_Cont.end())) -> decltype(_Cont.end()) {
21652162 return _Cont.end();
21662163}
21672164
@@ -2188,66 +2185,60 @@ _NODISCARD constexpr auto cend(const _Container& _Cont) noexcept(noexcept(_STD e
21882185}
21892186
21902187_EXPORT_STD template <class _Container>
2191- _NODISCARD _CONSTEXPR17 auto rbegin(_Container& _Cont) noexcept(noexcept(_Cont.rbegin())) /* strengthened */
2192- -> decltype(_Cont.rbegin()) {
2188+ _NODISCARD _CONSTEXPR17 auto rbegin(_Container& _Cont) noexcept(noexcept(_Cont.rbegin())) -> decltype(_Cont.rbegin()) {
21932189 return _Cont.rbegin();
21942190}
21952191
21962192_EXPORT_STD template <class _Container>
2197- _NODISCARD _CONSTEXPR17 auto rbegin(const _Container& _Cont) noexcept(noexcept(_Cont.rbegin())) /* strengthened */
2193+ _NODISCARD _CONSTEXPR17 auto rbegin(const _Container& _Cont) noexcept(noexcept(_Cont.rbegin()))
21982194 -> decltype(_Cont.rbegin()) {
21992195 return _Cont.rbegin();
22002196}
22012197
22022198_EXPORT_STD template <class _Container>
2203- _NODISCARD _CONSTEXPR17 auto rend(_Container& _Cont) noexcept(noexcept(_Cont.rend())) /* strengthened */
2204- -> decltype(_Cont.rend()) {
2199+ _NODISCARD _CONSTEXPR17 auto rend(_Container& _Cont) noexcept(noexcept(_Cont.rend())) -> decltype(_Cont.rend()) {
22052200 return _Cont.rend();
22062201}
22072202
22082203_EXPORT_STD template <class _Container>
2209- _NODISCARD _CONSTEXPR17 auto rend(const _Container& _Cont) noexcept(noexcept(_Cont.rend())) /* strengthened */
2210- -> decltype(_Cont.rend()) {
2204+ _NODISCARD _CONSTEXPR17 auto rend(const _Container& _Cont) noexcept(noexcept(_Cont.rend())) -> decltype(_Cont.rend()) {
22112205 return _Cont.rend();
22122206}
22132207
22142208_EXPORT_STD template <class _Ty, size_t _Size>
2215- _NODISCARD _CONSTEXPR17 reverse_iterator<_Ty*> rbegin(_Ty (&_Array)[_Size]) noexcept /* strengthened */ {
2209+ _NODISCARD _CONSTEXPR17 reverse_iterator<_Ty*> rbegin(_Ty (&_Array)[_Size]) noexcept {
22162210 return reverse_iterator<_Ty*>(_Array + _Size);
22172211}
22182212
22192213_EXPORT_STD template <class _Ty, size_t _Size>
2220- _NODISCARD _CONSTEXPR17 reverse_iterator<_Ty*> rend(_Ty (&_Array)[_Size]) noexcept /* strengthened */ {
2214+ _NODISCARD _CONSTEXPR17 reverse_iterator<_Ty*> rend(_Ty (&_Array)[_Size]) noexcept {
22212215 return reverse_iterator<_Ty*>(_Array);
22222216}
22232217
22242218_EXPORT_STD template <class _Elem>
2225- _NODISCARD _CONSTEXPR17 reverse_iterator<const _Elem*> rbegin(initializer_list<_Elem> _Ilist) noexcept
2226- /* strengthened */ {
2219+ _NODISCARD _CONSTEXPR17 reverse_iterator<const _Elem*> rbegin(initializer_list<_Elem> _Ilist) noexcept {
22272220 return reverse_iterator<const _Elem*>(_Ilist.end());
22282221}
22292222
22302223_EXPORT_STD template <class _Elem>
2231- _NODISCARD _CONSTEXPR17 reverse_iterator<const _Elem*> rend(initializer_list<_Elem> _Ilist) noexcept
2232- /* strengthened */ {
2224+ _NODISCARD _CONSTEXPR17 reverse_iterator<const _Elem*> rend(initializer_list<_Elem> _Ilist) noexcept {
22332225 return reverse_iterator<const _Elem*>(_Ilist.begin());
22342226}
22352227
22362228_EXPORT_STD template <class _Container>
2237- _NODISCARD _CONSTEXPR17 auto crbegin(const _Container& _Cont) noexcept(noexcept(_STD rbegin(_Cont))) /* strengthened */
2229+ _NODISCARD _CONSTEXPR17 auto crbegin(const _Container& _Cont) noexcept(noexcept(_STD rbegin(_Cont)))
22382230 -> decltype(_STD rbegin(_Cont)) {
22392231 return _STD rbegin(_Cont);
22402232}
22412233
22422234_EXPORT_STD template <class _Container>
2243- _NODISCARD _CONSTEXPR17 auto crend(const _Container& _Cont) noexcept(noexcept(_STD rend(_Cont))) /* strengthened */
2235+ _NODISCARD _CONSTEXPR17 auto crend(const _Container& _Cont) noexcept(noexcept(_STD rend(_Cont)))
22442236 -> decltype(_STD rend(_Cont)) {
22452237 return _STD rend(_Cont);
22462238}
22472239
22482240_EXPORT_STD template <class _Container>
2249- _NODISCARD constexpr auto size(const _Container& _Cont) noexcept(noexcept(_Cont.size())) /* strengthened */
2250- -> decltype(_Cont.size()) {
2241+ _NODISCARD constexpr auto size(const _Container& _Cont) noexcept(noexcept(_Cont.size())) -> decltype(_Cont.size()) {
22512242 return _Cont.size();
22522243}
22532244
@@ -2258,8 +2249,7 @@ _NODISCARD constexpr size_t size(const _Ty (&)[_Size]) noexcept {
22582249
22592250#if _HAS_CXX20
22602251_EXPORT_STD template <class _Container>
2261- _NODISCARD constexpr auto ssize(const _Container& _Cont) noexcept(noexcept(
2262- static_cast<common_type_t<ptrdiff_t, make_signed_t<decltype(_Cont.size())>>>(_Cont.size()))) /* strengthened */
2252+ _NODISCARD constexpr auto ssize(const _Container& _Cont) noexcept(noexcept(_Cont.size()))
22632253 -> common_type_t<ptrdiff_t, make_signed_t<decltype(_Cont.size())>> {
22642254 using _Common = common_type_t<ptrdiff_t, make_signed_t<decltype(_Cont.size())>>;
22652255 return static_cast<_Common>(_Cont.size());
@@ -2272,8 +2262,7 @@ _NODISCARD constexpr ptrdiff_t ssize(const _Ty (&)[_Size]) noexcept {
22722262#endif // _HAS_CXX20
22732263
22742264_EXPORT_STD template <class _Container>
2275- _NODISCARD_EMPTY_NON_MEMBER constexpr auto empty(const _Container& _Cont)
2276- noexcept(noexcept(_Cont.empty())) /* strengthened */
2265+ _NODISCARD_EMPTY_NON_MEMBER constexpr auto empty(const _Container& _Cont) noexcept(noexcept(_Cont.empty()))
22772266 -> decltype(_Cont.empty()) {
22782267 return _Cont.empty();
22792268}
@@ -2283,20 +2272,13 @@ _NODISCARD_EMPTY_NON_MEMBER constexpr bool empty(const _Ty (&)[_Size]) noexcept
22832272 return false;
22842273}
22852274
2286- _EXPORT_STD template <class _Elem>
2287- _NODISCARD_EMPTY_NON_MEMBER constexpr bool empty(initializer_list<_Elem> _Ilist) noexcept {
2288- return _Ilist.size() == 0;
2289- }
2290-
22912275_EXPORT_STD template <class _Container>
2292- _NODISCARD constexpr auto data(_Container& _Cont) noexcept(noexcept(_Cont.data())) /* strengthened */
2293- -> decltype(_Cont.data()) {
2276+ _NODISCARD constexpr auto data(_Container& _Cont) noexcept(noexcept(_Cont.data())) -> decltype(_Cont.data()) {
22942277 return _Cont.data();
22952278}
22962279
22972280_EXPORT_STD template <class _Container>
2298- _NODISCARD constexpr auto data(const _Container& _Cont) noexcept(noexcept(_Cont.data())) /* strengthened */
2299- -> decltype(_Cont.data()) {
2281+ _NODISCARD constexpr auto data(const _Container& _Cont) noexcept(noexcept(_Cont.data())) -> decltype(_Cont.data()) {
23002282 return _Cont.data();
23012283}
23022284
@@ -2305,11 +2287,6 @@ _NODISCARD constexpr _Ty* data(_Ty (&_Array)[_Size]) noexcept {
23052287 return _Array;
23062288}
23072289
2308- _EXPORT_STD template <class _Elem>
2309- _NODISCARD constexpr const _Elem* data(initializer_list<_Elem> _Ilist) noexcept {
2310- return _Ilist.begin();
2311- }
2312-
23132290#if _HAS_CXX20
23142291#if _HAS_CXX23
23152292_EXPORT_STD template <indirectly_readable _Ty>
0 commit comments