diff --git a/libcxx/include/__algorithm/copy.h b/libcxx/include/__algorithm/copy.h index 63877281bf9b2..a3a14cc6cad16 100644 --- a/libcxx/include/__algorithm/copy.h +++ b/libcxx/include/__algorithm/copy.h @@ -202,7 +202,7 @@ struct __copy_impl { if (__first == __last) return std::make_pair(std::move(__first), std::move(__result)); - auto __local_first = _Traits::__local(__result); + auto __local_first = _Traits::__local_it(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_last = _Traits::__end(__segment_iterator); diff --git a/libcxx/include/__algorithm/copy_backward.h b/libcxx/include/__algorithm/copy_backward.h index 807c64b55a8f6..da9b91c9de602 100644 --- a/libcxx/include/__algorithm/copy_backward.h +++ b/libcxx/include/__algorithm/copy_backward.h @@ -178,12 +178,12 @@ struct __copy_backward_impl { auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) { auto __iters = - std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); + std::__copy_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__local_it(__last), std::move(__result)); return std::make_pair(__last, __iters.second); } __result = - std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result)) + std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local_it(__last), std::move(__result)) .second; --__slast; while (__sfirst != __slast) { @@ -192,7 +192,7 @@ struct __copy_backward_impl { .second; --__slast; } - __result = std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result)) + __result = std::__copy_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__end(__slast), std::move(__result)) .second; return std::make_pair(__last, std::move(__result)); } @@ -212,7 +212,7 @@ struct __copy_backward_impl { if (__first == __last) return std::make_pair(__first, __result); - auto __local_last = _Traits::__local(__result); + auto __local_last = _Traits::__local_it(__result); while (true) { using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; diff --git a/libcxx/include/__algorithm/find_segment_if.h b/libcxx/include/__algorithm/find_segment_if.h index 9d6064f3e283a..4ead37f71f53e 100644 --- a/libcxx/include/__algorithm/find_segment_if.h +++ b/libcxx/include/__algorithm/find_segment_if.h @@ -34,11 +34,11 @@ __find_segment_if(_SegmentedIterator __first, _SegmentedIterator __last, _Pred _ // We are in a single segment, so we might not be at the beginning or end if (__sfirst == __slast) - return _Traits::__compose(__sfirst, __pred(_Traits::__local(__first), _Traits::__local(__last), __proj)); + return _Traits::__compose(__sfirst, __pred(_Traits::__local_it(__first), _Traits::__local_it(__last), __proj)); { // We have more than one segment. Iterate over the first segment, since we might not start at the beginning auto __llast = _Traits::__end(__sfirst); - auto __liter = __pred(_Traits::__local(__first), __llast, __proj); + auto __liter = __pred(_Traits::__local_it(__first), __llast, __proj); if (__liter != __llast) return _Traits::__compose(__sfirst, __liter); } @@ -54,7 +54,7 @@ __find_segment_if(_SegmentedIterator __first, _SegmentedIterator __last, _Pred _ } // Iterate over the last segment - return _Traits::__compose(__sfirst, __pred(_Traits::__begin(__sfirst), _Traits::__local(__last), __proj)); + return _Traits::__compose(__sfirst, __pred(_Traits::__begin(__sfirst), _Traits::__local_it(__last), __proj)); } _LIBCPP_END_NAMESPACE_STD diff --git a/libcxx/include/__algorithm/for_each_n_segment.h b/libcxx/include/__algorithm/for_each_n_segment.h index a433df5d098ae..0d5891cbf3dd3 100644 --- a/libcxx/include/__algorithm/for_each_n_segment.h +++ b/libcxx/include/__algorithm/for_each_n_segment.h @@ -39,7 +39,7 @@ __for_each_n_segment(_SegmentedIterator __first, _Size __orig_n, _Functor __func using __difference_t = typename std::iterator_traits<__local_iter_t>::difference_type; __difference_t __n = __orig_n; auto __seg = _Traits::__segment(__first); - auto __local_first = _Traits::__local(__first); + auto __local_first = _Traits::__local_it(__first); __local_iter_t __local_last; while (__n > 0) { diff --git a/libcxx/include/__algorithm/for_each_segment.h b/libcxx/include/__algorithm/for_each_segment.h index 93aa8259b2f7f..c099858ba1023 100644 --- a/libcxx/include/__algorithm/for_each_segment.h +++ b/libcxx/include/__algorithm/for_each_segment.h @@ -32,12 +32,12 @@ __for_each_segment(_SegmentedIterator __first, _SegmentedIterator __last, _Funct // We are in a single segment, so we might not be at the beginning or end if (__sfirst == __slast) { - __func(_Traits::__local(__first), _Traits::__local(__last)); + __func(_Traits::__local_it(__first), _Traits::__local_it(__last)); return; } // We have more than one segment. Iterate over the first segment, since we might not start at the beginning - __func(_Traits::__local(__first), _Traits::__end(__sfirst)); + __func(_Traits::__local_it(__first), _Traits::__end(__sfirst)); ++__sfirst; // iterate over the segments which are guaranteed to be completely in the range while (__sfirst != __slast) { @@ -45,7 +45,7 @@ __for_each_segment(_SegmentedIterator __first, _SegmentedIterator __last, _Funct ++__sfirst; } // iterate over the last segment - __func(_Traits::__begin(__sfirst), _Traits::__local(__last)); + __func(_Traits::__begin(__sfirst), _Traits::__local_it(__last)); } _LIBCPP_END_NAMESPACE_STD diff --git a/libcxx/include/__algorithm/move.h b/libcxx/include/__algorithm/move.h index 73b780d9b17f3..b95a3c9c00c73 100644 --- a/libcxx/include/__algorithm/move.h +++ b/libcxx/include/__algorithm/move.h @@ -85,7 +85,7 @@ struct __move_impl { if (__first == __last) return std::make_pair(std::move(__first), std::move(__result)); - auto __local_first = _Traits::__local(__result); + auto __local_first = _Traits::__local_it(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_last = _Traits::__end(__segment_iterator); diff --git a/libcxx/include/__algorithm/move_backward.h b/libcxx/include/__algorithm/move_backward.h index e3e61c7bc1e29..6d8b31a1ca317 100644 --- a/libcxx/include/__algorithm/move_backward.h +++ b/libcxx/include/__algorithm/move_backward.h @@ -59,12 +59,12 @@ struct __move_backward_impl { auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) { auto __iters = - std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); + std::__move_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__local_it(__last), std::move(__result)); return std::make_pair(__last, __iters.second); } __result = - std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result)) + std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local_it(__last), std::move(__result)) .second; --__slast; while (__sfirst != __slast) { @@ -73,7 +73,7 @@ struct __move_backward_impl { .second; --__slast; } - __result = std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result)) + __result = std::__move_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__end(__slast), std::move(__result)) .second; return std::make_pair(__last, std::move(__result)); } @@ -94,7 +94,7 @@ struct __move_backward_impl { auto __orig_last = __last; - auto __local_last = _Traits::__local(__result); + auto __local_last = _Traits::__local_it(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_first = _Traits::__begin(__segment_iterator); diff --git a/libcxx/include/__cxx03/__algorithm/copy.h b/libcxx/include/__cxx03/__algorithm/copy.h index ab164a8f9af51..171ec0fe2691f 100644 --- a/libcxx/include/__cxx03/__algorithm/copy.h +++ b/libcxx/include/__cxx03/__algorithm/copy.h @@ -76,7 +76,7 @@ struct __copy_impl { if (__first == __last) return std::make_pair(std::move(__first), std::move(__result)); - auto __local_first = _Traits::__local(__result); + auto __local_first = _Traits::__local_it(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_last = _Traits::__end(__segment_iterator); diff --git a/libcxx/include/__cxx03/__algorithm/copy_backward.h b/libcxx/include/__cxx03/__algorithm/copy_backward.h index 0a84b6ed27a98..1c0075319f7b6 100644 --- a/libcxx/include/__cxx03/__algorithm/copy_backward.h +++ b/libcxx/include/__cxx03/__algorithm/copy_backward.h @@ -52,12 +52,12 @@ struct __copy_backward_impl { auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) { auto __iters = - std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); + std::__copy_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__local_it(__last), std::move(__result)); return std::make_pair(__last, __iters.second); } __result = - std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result)) + std::__copy_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local_it(__last), std::move(__result)) .second; --__slast; while (__sfirst != __slast) { @@ -66,7 +66,7 @@ struct __copy_backward_impl { .second; --__slast; } - __result = std::__copy_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result)) + __result = std::__copy_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__end(__slast), std::move(__result)) .second; return std::make_pair(__last, std::move(__result)); } @@ -85,7 +85,7 @@ struct __copy_backward_impl { if (__first == __last) return std::make_pair(__first, __result); - auto __local_last = _Traits::__local(__result); + auto __local_last = _Traits::__local_it(__result); while (true) { using _DiffT = typename common_type<__iter_diff_t<_InIter>, __iter_diff_t<_OutIter> >::type; diff --git a/libcxx/include/__cxx03/__algorithm/find_segment_if.h b/libcxx/include/__cxx03/__algorithm/find_segment_if.h index 9fdf8ae53d517..c3b28267a1f42 100644 --- a/libcxx/include/__cxx03/__algorithm/find_segment_if.h +++ b/libcxx/include/__cxx03/__algorithm/find_segment_if.h @@ -34,11 +34,11 @@ __find_segment_if(_SegmentedIterator __first, _SegmentedIterator __last, _Pred _ // We are in a single segment, so we might not be at the beginning or end if (__sfirst == __slast) - return _Traits::__compose(__sfirst, __pred(_Traits::__local(__first), _Traits::__local(__last), __proj)); + return _Traits::__compose(__sfirst, __pred(_Traits::__local_it(__first), _Traits::__local_it(__last), __proj)); { // We have more than one segment. Iterate over the first segment, since we might not start at the beginning auto __llast = _Traits::__end(__sfirst); - auto __liter = __pred(_Traits::__local(__first), __llast, __proj); + auto __liter = __pred(_Traits::__local_it(__first), __llast, __proj); if (__liter != __llast) return _Traits::__compose(__sfirst, __liter); } @@ -54,7 +54,7 @@ __find_segment_if(_SegmentedIterator __first, _SegmentedIterator __last, _Pred _ } // Iterate over the last segment - return _Traits::__compose(__sfirst, __pred(_Traits::__begin(__sfirst), _Traits::__local(__last), __proj)); + return _Traits::__compose(__sfirst, __pred(_Traits::__begin(__sfirst), _Traits::__local_it(__last), __proj)); } _LIBCPP_END_NAMESPACE_STD diff --git a/libcxx/include/__cxx03/__algorithm/for_each_segment.h b/libcxx/include/__cxx03/__algorithm/for_each_segment.h index b1d54ad427659..3141a1a5bdab2 100644 --- a/libcxx/include/__cxx03/__algorithm/for_each_segment.h +++ b/libcxx/include/__cxx03/__algorithm/for_each_segment.h @@ -31,12 +31,12 @@ _LIBCPP_HIDE_FROM_ABI void __for_each_segment(_SegmentedIterator __first, _Segme // We are in a single segment, so we might not be at the beginning or end if (__sfirst == __slast) { - __func(_Traits::__local(__first), _Traits::__local(__last)); + __func(_Traits::__local_it(__first), _Traits::__local_it(__last)); return; } // We have more than one segment. Iterate over the first segment, since we might not start at the beginning - __func(_Traits::__local(__first), _Traits::__end(__sfirst)); + __func(_Traits::__local_it(__first), _Traits::__end(__sfirst)); ++__sfirst; // iterate over the segments which are guaranteed to be completely in the range while (__sfirst != __slast) { @@ -44,7 +44,7 @@ _LIBCPP_HIDE_FROM_ABI void __for_each_segment(_SegmentedIterator __first, _Segme ++__sfirst; } // iterate over the last segment - __func(_Traits::__begin(__sfirst), _Traits::__local(__last)); + __func(_Traits::__begin(__sfirst), _Traits::__local_it(__last)); } _LIBCPP_END_NAMESPACE_STD diff --git a/libcxx/include/__cxx03/__algorithm/move.h b/libcxx/include/__cxx03/__algorithm/move.h index 0c744bc0e91a4..df1ae18964fca 100644 --- a/libcxx/include/__cxx03/__algorithm/move.h +++ b/libcxx/include/__cxx03/__algorithm/move.h @@ -76,7 +76,7 @@ struct __move_impl { if (__first == __last) return std::make_pair(std::move(__first), std::move(__result)); - auto __local_first = _Traits::__local(__result); + auto __local_first = _Traits::__local_it(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_last = _Traits::__end(__segment_iterator); diff --git a/libcxx/include/__cxx03/__algorithm/move_backward.h b/libcxx/include/__cxx03/__algorithm/move_backward.h index 61e29c5c396f1..2442832066bd1 100644 --- a/libcxx/include/__cxx03/__algorithm/move_backward.h +++ b/libcxx/include/__cxx03/__algorithm/move_backward.h @@ -53,12 +53,12 @@ struct __move_backward_impl { auto __slast = _Traits::__segment(__last); if (__sfirst == __slast) { auto __iters = - std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__local(__last), std::move(__result)); + std::__move_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__local_it(__last), std::move(__result)); return std::make_pair(__last, __iters.second); } __result = - std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local(__last), std::move(__result)) + std::__move_backward<_AlgPolicy>(_Traits::__begin(__slast), _Traits::__local_it(__last), std::move(__result)) .second; --__slast; while (__sfirst != __slast) { @@ -67,7 +67,7 @@ struct __move_backward_impl { .second; --__slast; } - __result = std::__move_backward<_AlgPolicy>(_Traits::__local(__first), _Traits::__end(__slast), std::move(__result)) + __result = std::__move_backward<_AlgPolicy>(_Traits::__local_it(__first), _Traits::__end(__slast), std::move(__result)) .second; return std::make_pair(__last, std::move(__result)); } @@ -87,7 +87,7 @@ struct __move_backward_impl { auto __orig_last = __last; - auto __local_last = _Traits::__local(__result); + auto __local_last = _Traits::__local_it(__result); auto __segment_iterator = _Traits::__segment(__result); while (true) { auto __local_first = _Traits::__begin(__segment_iterator); diff --git a/libcxx/include/__cxx03/__iterator/segmented_iterator.h b/libcxx/include/__cxx03/__iterator/segmented_iterator.h index 7e353d620dc83..9ad207bf34086 100644 --- a/libcxx/include/__cxx03/__iterator/segmented_iterator.h +++ b/libcxx/include/__cxx03/__iterator/segmented_iterator.h @@ -28,7 +28,7 @@ // - static __segment_iterator Traits::__segment(It __it) // Returns an iterator to the segment that the provided iterator is in. // -// - static __local_iterator Traits::__local(It __it) +// - static __local_iterator Traits::__local_it(It __it) // Returns the local iterator pointing to the element that the provided iterator points to. // // - static __local_iterator Traits::__begin(__segment_iterator __it) @@ -58,7 +58,7 @@ struct __segmented_iterator_traits; using __local_iterator = ...; static __segment_iterator __segment(_Iterator); - static __local_iterator __local(_Iterator); + static __local_iterator __local_it(_Iterator); static __local_iterator __begin(__segment_iterator); static __local_iterator __end(__segment_iterator); static _Iterator __compose(__segment_iterator, __local_iterator); diff --git a/libcxx/include/__cxx03/deque b/libcxx/include/__cxx03/deque index fcf9d606f408f..30d45caba2c44 100644 --- a/libcxx/include/__cxx03/deque +++ b/libcxx/include/__cxx03/deque @@ -401,19 +401,19 @@ public: using __local_iterator = _Pointer; static _LIBCPP_HIDE_FROM_ABI __segment_iterator __segment(_Iterator __iter) { return __iter.__m_iter_; } - static _LIBCPP_HIDE_FROM_ABI __local_iterator __local(_Iterator __iter) { return __iter.__ptr_; } + static _LIBCPP_HIDE_FROM_ABI __local_iterator __local_it(_Iterator __iter) { return __iter.__ptr_; } static _LIBCPP_HIDE_FROM_ABI __local_iterator __begin(__segment_iterator __iter) { return *__iter; } static _LIBCPP_HIDE_FROM_ABI __local_iterator __end(__segment_iterator __iter) { return *__iter + _Iterator::__block_size; } - static _LIBCPP_HIDE_FROM_ABI _Iterator __compose(__segment_iterator __segment, __local_iterator __local) { - if (__segment && __local == __end(__segment)) { + static _LIBCPP_HIDE_FROM_ABI _Iterator __compose(__segment_iterator __segment, __local_iterator __local_it) { + if (__segment && __local_it == __end(__segment)) { ++__segment; return _Iterator(__segment, *__segment); } - return _Iterator(__segment, __local); + return _Iterator(__segment, __local_it); } }; diff --git a/libcxx/include/__iterator/segmented_iterator.h b/libcxx/include/__iterator/segmented_iterator.h index 5df9737137101..45c554b0a89f3 100644 --- a/libcxx/include/__iterator/segmented_iterator.h +++ b/libcxx/include/__iterator/segmented_iterator.h @@ -28,7 +28,7 @@ // - static __segment_iterator Traits::__segment(It __it) // Returns an iterator to the segment that the provided iterator is in. // -// - static __local_iterator Traits::__local(It __it) +// - static __local_iterator Traits::__local_it(It __it) // Returns the local iterator pointing to the element that the provided iterator points to. // // - static __local_iterator Traits::__begin(__segment_iterator __it) @@ -59,7 +59,7 @@ struct __segmented_iterator_traits; using __local_iterator = ...; static __segment_iterator __segment(_Iterator); - static __local_iterator __local(_Iterator); + static __local_iterator __local_it(_Iterator); static __local_iterator __begin(__segment_iterator); static __local_iterator __end(__segment_iterator); static _Iterator __compose(__segment_iterator, __local_iterator); diff --git a/libcxx/include/__ranges/join_view.h b/libcxx/include/__ranges/join_view.h index 327b349f476a7..b374e552480ea 100644 --- a/libcxx/include/__ranges/join_view.h +++ b/libcxx/include/__ranges/join_view.h @@ -392,7 +392,7 @@ struct __segmented_iterator_traits<_JoinViewIterator> { return __segment_iterator(__iter.__outer_, __iter.__parent_); } - static constexpr _LIBCPP_HIDE_FROM_ABI __local_iterator __local(_JoinViewIterator __iter) { + static constexpr _LIBCPP_HIDE_FROM_ABI __local_iterator __local_it(_JoinViewIterator __iter) { if (ranges::empty(__iter.__parent_->__base_)) return {}; if (!__iter.__inner_.has_value()) diff --git a/libcxx/include/deque b/libcxx/include/deque index 395a1076fd3c4..d23874ef48a87 100644 --- a/libcxx/include/deque +++ b/libcxx/include/deque @@ -465,19 +465,19 @@ public: using __local_iterator _LIBCPP_NODEBUG = _Pointer; static _LIBCPP_HIDE_FROM_ABI __segment_iterator __segment(_Iterator __iter) { return __iter.__m_iter_; } - static _LIBCPP_HIDE_FROM_ABI __local_iterator __local(_Iterator __iter) { return __iter.__ptr_; } + static _LIBCPP_HIDE_FROM_ABI __local_iterator __local_it(_Iterator __iter) { return __iter.__ptr_; } static _LIBCPP_HIDE_FROM_ABI __local_iterator __begin(__segment_iterator __iter) { return *__iter; } static _LIBCPP_HIDE_FROM_ABI __local_iterator __end(__segment_iterator __iter) { return *__iter + _Iterator::__block_size; } - static _LIBCPP_HIDE_FROM_ABI _Iterator __compose(__segment_iterator __segment, __local_iterator __local) { - if (__segment && __local == __end(__segment)) { + static _LIBCPP_HIDE_FROM_ABI _Iterator __compose(__segment_iterator __segment, __local_iterator __local_it) { + if (__segment && __local_it == __end(__segment)) { ++__segment; return _Iterator(__segment, *__segment); } - return _Iterator(__segment, __local); + return _Iterator(__segment, __local_it); } }; diff --git a/libcxx/src/experimental/include/tzdb/types_private.h b/libcxx/src/experimental/include/tzdb/types_private.h index c86982948b61f..5dd3d87a92487 100644 --- a/libcxx/src/experimental/include/tzdb/types_private.h +++ b/libcxx/src/experimental/include/tzdb/types_private.h @@ -58,11 +58,11 @@ struct __constrained_weekday { // Sun<=25 last Sunday on or before the 25th using __on = variant; -enum class __clock { __local, __standard, __universal }; +enum class __clock { __local_tm, __standard_tm, __universal_tm }; struct __at { seconds __time{0}; - __tz::__clock __clock{__tz::__clock::__local}; + __tz::__clock __clock{__tz::__clock::__local_tm}; }; struct __save { @@ -107,7 +107,7 @@ struct __continuation { year __year = chrono::year::min(); month __in{January}; __tz::__on __on{chrono::day{1}}; - __tz::__at __at{chrono::seconds{0}, __tz::__clock::__local}; + __tz::__at __at{chrono::seconds{0}, __tz::__clock::__local_tm}; }; } // namespace chrono::__tz diff --git a/libcxx/src/experimental/time_zone.cpp b/libcxx/src/experimental/time_zone.cpp index a735800b60317..7171659725277 100644 --- a/libcxx/src/experimental/time_zone.cpp +++ b/libcxx/src/experimental/time_zone.cpp @@ -194,7 +194,7 @@ __format(const __tz::__continuation& __continuation, const string& __letters, se [[nodiscard]] static seconds __at_to_sys_seconds(const __tz::__continuation& __continuation) { switch (__continuation.__at.__clock) { - case __tz::__clock::__local: + case __tz::__clock::__local_tm: return __continuation.__at.__time - __continuation.__stdoff - std::visit( [](const auto& __value) { @@ -214,10 +214,10 @@ __format(const __tz::__continuation& __continuation, const string& __letters, se }, __continuation.__rules); - case __tz::__clock::__universal: + case __tz::__clock::__universal_tm: return __continuation.__at.__time; - case __tz::__clock::__standard: + case __tz::__clock::__standard_tm: return __continuation.__at.__time - __continuation.__stdoff; } std::__libcpp_unreachable(); @@ -266,7 +266,7 @@ class __named_rule_until { // However SAVE can be negative, which would add a value to maximum // leading to undefined behaviour. In practice this often results in // an overflow to a very small value. - __until_ != sys_seconds::max() && __continuation.__at.__clock == __tz::__clock::__local} {} + __until_ != sys_seconds::max() && __continuation.__at.__clock == __tz::__clock::__local_tm} {} // Gives the unadjusted until value, this is useful when the SAVE is not known // at all. @@ -284,7 +284,7 @@ class __named_rule_until { [[nodiscard]] static seconds __at_to_seconds(seconds __stdoff, const __tz::__rule& __rule) { switch (__rule.__at.__clock) { - case __tz::__clock::__local: + case __tz::__clock::__local_tm: // Local time and standard time behave the same. This is not // correct. Local time needs to adjust for the current saved time. // To know the saved time the rules need to be known and sorted. @@ -292,10 +292,10 @@ class __named_rule_until { // saving of the local time later. return __rule.__at.__time - __stdoff; - case __tz::__clock::__universal: + case __tz::__clock::__universal_tm: return __rule.__at.__time; - case __tz::__clock::__standard: + case __tz::__clock::__standard_tm: return __rule.__at.__time - __stdoff; } std::__libcpp_unreachable(); @@ -396,13 +396,13 @@ __get_rules(const __tz::__rules_storage_type& __rules_db, const string& __rule_n [[nodiscard]] static seconds __at_to_seconds(seconds __stdoff, seconds __save, const __tz::__rule& __rule) { switch (__rule.__at.__clock) { - case __tz::__clock::__local: + case __tz::__clock::__local_tm: return __rule.__at.__time - __stdoff - __save; - case __tz::__clock::__universal: + case __tz::__clock::__universal_tm: return __rule.__at.__time; - case __tz::__clock::__standard: + case __tz::__clock::__standard_tm: return __rule.__at.__time - __stdoff; } std::__libcpp_unreachable(); diff --git a/libcxx/src/experimental/tzdb.cpp b/libcxx/src/experimental/tzdb.cpp index ac5c62bb81902..17861764f9298 100644 --- a/libcxx/src/experimental/tzdb.cpp +++ b/libcxx/src/experimental/tzdb.cpp @@ -408,18 +408,18 @@ static void __matches(istream& __input, string_view __expected) { [[nodiscard]] static __tz::__clock __parse_clock(istream& __input) { switch (__input.get()) { // case sensitive case 'w': - return __tz::__clock::__local; + return __tz::__clock::__local_tm; case 's': - return __tz::__clock::__standard; + return __tz::__clock::__standard_tm; case 'u': case 'g': case 'z': - return __tz::__clock::__universal; + return __tz::__clock::__universal_tm; } __input.unget(); - return __tz::__clock::__local; + return __tz::__clock::__local_tm; } [[nodiscard]] static bool __parse_dst(istream& __input, seconds __offset) { diff --git a/libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp b/libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp index 237a206b3a95b..fc8ffe4234389 100644 --- a/libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp +++ b/libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp @@ -479,35 +479,35 @@ R a 0 1 - Ja Su>=31 - 2s - assert(result.rules[0].second.size() == 10); assert(result.rules[0].second[0].__at.__time == std::chrono::hours(2)); - assert(result.rules[0].second[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(result.rules[0].second[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(result.rules[0].second[1].__at.__time == std::chrono::hours(2)); - assert(result.rules[0].second[1].__at.__clock == std::chrono::__tz::__clock::__standard); + assert(result.rules[0].second[1].__at.__clock == std::chrono::__tz::__clock::__standard_tm); assert(result.rules[0].second[2].__at.__time == std::chrono::hours(1) + std::chrono::minutes(28) + std::chrono::seconds(14)); - assert(result.rules[0].second[2].__at.__clock == std::chrono::__tz::__clock::__universal); + assert(result.rules[0].second[2].__at.__clock == std::chrono::__tz::__clock::__universal_tm); assert(result.rules[0].second[3].__at.__time == std::chrono::minutes(19) + std::chrono::seconds(32)); - assert(result.rules[0].second[3].__at.__clock == std::chrono::__tz::__clock::__universal); + assert(result.rules[0].second[3].__at.__clock == std::chrono::__tz::__clock::__universal_tm); assert(result.rules[0].second[4].__at.__time == std::chrono::hours(12)); - assert(result.rules[0].second[4].__at.__clock == std::chrono::__tz::__clock::__universal); + assert(result.rules[0].second[4].__at.__clock == std::chrono::__tz::__clock::__universal_tm); assert(result.rules[0].second[5].__at.__time == std::chrono::hours(15)); - assert(result.rules[0].second[5].__at.__clock == std::chrono::__tz::__clock::__local); + assert(result.rules[0].second[5].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(result.rules[0].second[6].__at.__time == std::chrono::hours(24)); - assert(result.rules[0].second[6].__at.__clock == std::chrono::__tz::__clock::__local); + assert(result.rules[0].second[6].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(result.rules[0].second[7].__at.__time == std::chrono::hours(260)); - assert(result.rules[0].second[7].__at.__clock == std::chrono::__tz::__clock::__local); + assert(result.rules[0].second[7].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(result.rules[0].second[8].__at.__time == -(std::chrono::hours(2) + std::chrono::minutes(30))); - assert(result.rules[0].second[8].__at.__clock == std::chrono::__tz::__clock::__local); + assert(result.rules[0].second[8].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(result.rules[0].second[9].__at.__time == std::chrono::hours(0)); // The man page expresses it in hours - assert(result.rules[0].second[9].__at.__clock == std::chrono::__tz::__clock::__local); + assert(result.rules[0].second[9].__at.__clock == std::chrono::__tz::__clock::__local_tm); } static void test_save() { diff --git a/libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp b/libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp index ded89ed808e17..19115ff9b6b0f 100644 --- a/libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp +++ b/libcxx/test/libcxx/time/time.zone/time.zone.db/zones.pass.cpp @@ -212,32 +212,32 @@ Z nj 0 r f 42 Jul 1 - assert(continuations(result.zones[0])[0].__in == std::chrono::January); assert(std::get(continuations(result.zones[0])[0].__on) == std::chrono::day(1)); assert(continuations(result.zones[0])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[1])[0].__year == std::chrono::year(1000)); assert(continuations(result.zones[1])[0].__in == std::chrono::January); assert(std::get(continuations(result.zones[1])[0].__on) == std::chrono::day(1)); assert(continuations(result.zones[1])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[1])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[1])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[2])[0].__year == std::chrono::year(-1000)); assert(continuations(result.zones[2])[0].__in == std::chrono::November); assert(std::get(continuations(result.zones[2])[0].__on) == std::chrono::day(1)); assert(continuations(result.zones[2])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[2])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[2])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[3])[0].__year == std::chrono::year::max()); assert(continuations(result.zones[3])[0].__in == std::chrono::September); assert(std::get(continuations(result.zones[3])[0].__on) == std::chrono::day(31)); assert(continuations(result.zones[3])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[3])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[3])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[4])[0].__year == std::chrono::year(0)); assert(continuations(result.zones[4])[0].__in == std::chrono::January); assert(std::get(continuations(result.zones[4])[0].__on) == std::chrono::weekday_last{std::chrono::Wednesday}); assert(continuations(result.zones[4])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[4])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[4])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[5])[0].__year == std::chrono::year(-42)); assert(continuations(result.zones[5])[0].__in == std::chrono::June); @@ -246,7 +246,7 @@ Z nj 0 r f 42 Jul 1 - assert(r.__comparison == std::chrono::__tz::__constrained_weekday::__le); assert(r.__day == std::chrono::day(1)); assert(continuations(result.zones[5])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[5])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[5])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[6])[0].__year == std::chrono::year(42)); assert(continuations(result.zones[6])[0].__in == std::chrono::July); @@ -255,26 +255,26 @@ Z nj 0 r f 42 Jul 1 - assert(r.__comparison == std::chrono::__tz::__constrained_weekday::__ge); assert(r.__day == std::chrono::day(12)); assert(continuations(result.zones[6])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[6])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[6])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[7])[0].__year == std::chrono::year(42)); assert(continuations(result.zones[7])[0].__in == std::chrono::July); assert(std::get(continuations(result.zones[7])[0].__on) == std::chrono::day(1)); assert(continuations(result.zones[7])[0].__at.__time == std::chrono::hours(2)); - assert(continuations(result.zones[7])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[7])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[8])[0].__year == std::chrono::year(42)); assert(continuations(result.zones[8])[0].__in == std::chrono::July); assert(std::get(continuations(result.zones[8])[0].__on) == std::chrono::day(1)); assert(continuations(result.zones[8])[0].__at.__time == std::chrono::hours(1) + std::chrono::minutes(28) + std::chrono::seconds(14)); - assert(continuations(result.zones[8])[0].__at.__clock == std::chrono::__tz::__clock::__universal); + assert(continuations(result.zones[8])[0].__at.__clock == std::chrono::__tz::__clock::__universal_tm); assert(continuations(result.zones[9])[0].__year == std::chrono::year(42)); assert(continuations(result.zones[9])[0].__in == std::chrono::July); assert(std::get(continuations(result.zones[9])[0].__on) == std::chrono::day(1)); assert(continuations(result.zones[9])[0].__at.__time == std::chrono::hours(0)); // The man page expresses it in hours - assert(continuations(result.zones[9])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[9])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); } static void test_continuation() { @@ -301,32 +301,32 @@ Z na 0 r f assert(continuations(result.zones[0])[0].__in == std::chrono::January); assert(std::get(continuations(result.zones[0])[0].__on) == std::chrono::day(1)); assert(continuations(result.zones[0])[0].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[0].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[0].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[1].__year == std::chrono::year(1000)); assert(continuations(result.zones[0])[1].__in == std::chrono::January); assert(std::get(continuations(result.zones[0])[1].__on) == std::chrono::day(1)); assert(continuations(result.zones[0])[1].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[1].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[1].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[2].__year == std::chrono::year(-1000)); assert(continuations(result.zones[0])[2].__in == std::chrono::November); assert(std::get(continuations(result.zones[0])[2].__on) == std::chrono::day(1)); assert(continuations(result.zones[0])[2].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[2].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[2].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[3].__year == std::chrono::year::max()); assert(continuations(result.zones[0])[3].__in == std::chrono::September); assert(std::get(continuations(result.zones[0])[3].__on) == std::chrono::day(31)); assert(continuations(result.zones[0])[3].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[3].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[3].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[4].__year == std::chrono::year(0)); assert(continuations(result.zones[0])[4].__in == std::chrono::January); assert(std::get(continuations(result.zones[0])[4].__on) == std::chrono::weekday_last{std::chrono::Wednesday}); assert(continuations(result.zones[0])[4].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[4].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[4].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[5].__year == std::chrono::year(-42)); assert(continuations(result.zones[0])[5].__in == std::chrono::June); @@ -335,7 +335,7 @@ Z na 0 r f assert(r.__comparison == std::chrono::__tz::__constrained_weekday::__le); assert(r.__day == std::chrono::day(1)); assert(continuations(result.zones[0])[5].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[5].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[5].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[6].__year == std::chrono::year(42)); assert(continuations(result.zones[0])[6].__in == std::chrono::July); @@ -344,26 +344,26 @@ Z na 0 r f assert(r.__comparison == std::chrono::__tz::__constrained_weekday::__ge); assert(r.__day == std::chrono::day(12)); assert(continuations(result.zones[0])[6].__at.__time == std::chrono::seconds(0)); - assert(continuations(result.zones[0])[6].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[6].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[7].__year == std::chrono::year(42)); assert(continuations(result.zones[0])[7].__in == std::chrono::July); assert(std::get(continuations(result.zones[0])[7].__on) == std::chrono::day(1)); assert(continuations(result.zones[0])[7].__at.__time == std::chrono::hours(2)); - assert(continuations(result.zones[0])[7].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[7].__at.__clock == std::chrono::__tz::__clock::__local_tm); assert(continuations(result.zones[0])[8].__year == std::chrono::year(42)); assert(continuations(result.zones[0])[8].__in == std::chrono::July); assert(std::get(continuations(result.zones[0])[8].__on) == std::chrono::day(1)); assert(continuations(result.zones[0])[8].__at.__time == std::chrono::hours(1) + std::chrono::minutes(28) + std::chrono::seconds(14)); - assert(continuations(result.zones[0])[8].__at.__clock == std::chrono::__tz::__clock::__universal); + assert(continuations(result.zones[0])[8].__at.__clock == std::chrono::__tz::__clock::__universal_tm); assert(continuations(result.zones[0])[9].__year == std::chrono::year(42)); assert(continuations(result.zones[0])[9].__in == std::chrono::July); assert(std::get(continuations(result.zones[0])[9].__on) == std::chrono::day(1)); assert(continuations(result.zones[0])[9].__at.__time == std::chrono::hours(0)); // The man page expresses it in hours - assert(continuations(result.zones[0])[9].__at.__clock == std::chrono::__tz::__clock::__local); + assert(continuations(result.zones[0])[9].__at.__clock == std::chrono::__tz::__clock::__local_tm); } int main(int, const char**) {