Lines Matching defs:__n
39 __advance(_InputIter& __i, typename iterator_traits<_InputIter>::difference_type __n, input_iterator_tag) {
40 for (; __n > 0; --__n)
46 __advance(_BiDirIter& __i, typename iterator_traits<_BiDirIter>::difference_type __n, bidirectional_iterator_tag) {
47 if (__n >= 0)
48 for (; __n > 0; --__n)
51 for (; __n < 0; ++__n)
57 __advance(_RandIter& __i, typename iterator_traits<_RandIter>::difference_type __n, random_access_iterator_tag) {
58 __i += __n;
67 _Difference __n = static_cast<_Difference>(std::__convert_to_integral(__orig_n));
69 _LIBCPP_ASSERT_PEDANTIC(__n >= 0 || __has_bidirectional_iterator_category<_InputIter>::value,
71 std::__advance(__i, __n, typename iterator_traits<_InputIter>::iterator_category());
84 _LIBCPP_HIDE_FROM_ABI static constexpr void __advance_forward(_Ip& __i, iter_difference_t<_Ip> __n) {
85 while (__n > 0) {
86 --__n;
92 _LIBCPP_HIDE_FROM_ABI static constexpr void __advance_backward(_Ip& __i, iter_difference_t<_Ip> __n) {
93 while (__n < 0) {
94 ++__n;
102 _LIBCPP_HIDE_FROM_ABI constexpr void operator()(_Ip& __i, iter_difference_t<_Ip> __n) const {
105 __n >= 0 || bidirectional_iterator<_Ip>, "If `n < 0`, then `bidirectional_iterator<I>` must be true.");
109 __i += __n;
113 __advance_forward(__i, __n);
115 __advance_backward(__i, __n);
119 __advance_forward(__i, __n);
153 operator()(_Ip& __i, iter_difference_t<_Ip> __n, _Sp __bound_sentinel) const {
155 _LIBCPP_ASSERT_PEDANTIC((__n >= 0) || (bidirectional_iterator<_Ip> && same_as<_Ip, _Sp>),
162 if (const auto __m = __bound_sentinel - __i; __magnitude_geq(__n, __m)) {
164 return __n - __m;
168 (*this)(__i, __n);
173 while (__n > 0 && __i != __bound_sentinel) {
175 --__n;
180 while (__n < 0 && __i != __bound_sentinel) {
182 ++__n;
185 return __n;