Lines Matching full:__first
162 __find_bool_true(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
168 if (__first.__ctz_ != 0)
170 __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
172 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
173 __storage_type __b = *__first.__seg_ & __m;
175 return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
177 return _It(__first.__seg_, __first.__ctz_ + __n);
179 ++__first.__seg_;
182 for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
183 if (*__first.__seg_)
184 return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(*__first.__seg_)));
189 __storage_type __b = *__first.__seg_ & __m;
191 return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
193 return _It(__first.__seg_, static_cast<unsigned>(__n));
198 __find_bool_false(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
204 if (__first.__ctz_ != 0)
206 __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
208 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
209 __storage_type __b = ~*__first.__seg_ & __m;
211 return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
213 return _It(__first.__seg_, __first.__ctz_ + __n);
215 ++__first.__seg_;
218 for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
220 __storage_type __b = ~*__first.__seg_;
222 return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
228 __storage_type __b = ~*__first.__seg_ & __m;
230 return _It(__first.__seg_, static_cast<unsigned>(_VSTD::__ctz(__b)));
232 return _It(__first.__seg_, static_cast<unsigned>(__n));
238 find(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)
241 return __find_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
242 return __find_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
249 __count_bool_true(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
257 if (__first.__ctz_ != 0)
259 __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
261 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
262 __r = _VSTD::__pop_count(*__first.__seg_ & __m);
264 ++__first.__seg_;
267 for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
268 __r += _VSTD::__pop_count(*__first.__seg_);
273 __r += _VSTD::__pop_count(*__first.__seg_ & __m);
280 __count_bool_false(__bit_iterator<_Cp, _IsConst> __first, typename _Cp::size_type __n)
288 if (__first.__ctz_ != 0)
290 __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
292 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
293 __r = _VSTD::__pop_count(~*__first.__seg_ & __m);
295 ++__first.__seg_;
298 for (; __n >= __bits_per_word; ++__first.__seg_, __n -= __bits_per_word)
299 __r += _VSTD::__pop_count(~*__first.__seg_);
304 __r += _VSTD::__pop_count(~*__first.__seg_ & __m);
312 count(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, const _Tp& __value_)
315 return __count_bool_true(__first, static_cast<typename _Cp::size_type>(__last - __first));
316 return __count_bool_false(__first, static_cast<typename _Cp::size_type>(__last - __first));
323 __fill_n_false(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
329 if (__first.__ctz_ != 0)
331 __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
333 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
334 *__first.__seg_ &= ~__m;
336 ++__first.__seg_;
340 _VSTD::memset(_VSTD::__to_raw_pointer(__first.__seg_), 0, __nw * sizeof(__storage_type));
345 __first.__seg_ += __nw;
347 *__first.__seg_ &= ~__m;
353 __fill_n_true(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n)
359 if (__first.__ctz_ != 0)
361 __storage_type __clz_f = static_cast<__storage_type>(__bits_per_word - __first.__ctz_);
363 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
364 *__first.__seg_ |= __m;
366 ++__first.__seg_;
370 _VSTD::memset(_VSTD::__to_raw_pointer(__first.__seg_), -1, __nw * sizeof(__storage_type));
375 __first.__seg_ += __nw;
377 *__first.__seg_ |= __m;
384 fill_n(__bit_iterator<_Cp, false> __first, typename _Cp::size_type __n, bool __value_)
389 __fill_n_true(__first, __n);
391 __fill_n_false(__first, __n);
400 fill(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __last, bool __value_)
402 _VSTD::fill_n(__first, static_cast<typename _Cp::size_type>(__last - __first), __value_);
409 __copy_aligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
416 difference_type __n = __last - __first;
420 if (__first.__ctz_ != 0)
422 unsigned __clz = __bits_per_word - __first.__ctz_;
425 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz - __dn));
426 __storage_type __b = *__first.__seg_ & __m;
431 ++__first.__seg_;
432 // __first.__ctz_ = 0;
434 // __first.__ctz_ == 0;
438 _VSTD::__to_raw_pointer(__first.__seg_),
445 __first.__seg_ += __nw;
447 __storage_type __b = *__first.__seg_ & __m;
458 __copy_unaligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
465 difference_type __n = __last - __first;
469 if (__first.__ctz_ != 0)
471 unsigned __clz_f = __bits_per_word - __first.__ctz_;
474 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
475 __storage_type __b = *__first.__seg_ & __m;
480 if (__result.__ctz_ > __first.__ctz_)
481 *__result.__seg_ |= __b << (__result.__ctz_ - __first.__ctz_);
483 *__result.__seg_ |= __b >> (__first.__ctz_ - __result.__ctz_);
491 *__result.__seg_ |= __b >> (__first.__ctz_ + __ddn);
494 ++__first.__seg_;
495 // __first.__ctz_ = 0;
497 // __first.__ctz_ == 0;
501 for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_)
503 __storage_type __b = *__first.__seg_;
514 __storage_type __b = *__first.__seg_ & __m;
537 copy(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
539 if (__first.__ctz_ == __result.__ctz_)
540 return __copy_aligned(__first, __last, __result);
541 return __copy_unaligned(__first, __last, __result);
548 __copy_backward_aligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
555 difference_type __n = __last - __first;
597 __copy_backward_unaligned(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last,
604 difference_type __n = __last - __first;
684 copy_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
687 return __copy_backward_aligned(__first, __last, __result);
688 return __copy_backward_unaligned(__first, __last, __result);
696 move(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
698 return _VSTD::copy(__first, __last, __result);
706 move_backward(__bit_iterator<_Cp, _IsConst> __first, __bit_iterator<_Cp, _IsConst> __last, __bit_iterator<_Cp, false> __result)
708 return _VSTD::copy(__first, __last, __result);
715 __swap_ranges_aligned(__bit_iterator<__C1, false> __first, __bit_iterator<__C1, false> __last,
722 difference_type __n = __last - __first;
726 if (__first.__ctz_ != 0)
728 unsigned __clz = __bits_per_word - __first.__ctz_;
731 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz - __dn));
732 __storage_type __b1 = *__first.__seg_ & __m;
733 *__first.__seg_ &= ~__m;
737 *__first.__seg_ |= __b2;
740 ++__first.__seg_;
741 // __first.__ctz_ = 0;
743 // __first.__ctz_ == 0;
745 for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_, ++__result.__seg_)
746 swap(*__first.__seg_, *__result.__seg_);
751 __storage_type __b1 = *__first.__seg_ & __m;
752 *__first.__seg_ &= ~__m;
756 *__first.__seg_ |= __b2;
765 __swap_ranges_unaligned(__bit_iterator<__C1, false> __first, __bit_iterator<__C1, false> __last,
772 difference_type __n = __last - __first;
776 if (__first.__ctz_ != 0)
778 unsigned __clz_f = __bits_per_word - __first.__ctz_;
781 __storage_type __m = (~__storage_type(0) << __first.__ctz_) & (~__storage_type(0) >> (__clz_f - __dn));
782 __storage_type __b1 = *__first.__seg_ & __m;
783 *__first.__seg_ &= ~__m;
789 if (__result.__ctz_ > __first.__ctz_)
791 unsigned __s = __result.__ctz_ - __first.__ctz_;
793 *__first.__seg_ |= __b2 >> __s;
797 unsigned __s = __first.__ctz_ - __result.__ctz_;
799 *__first.__seg_ |= __b2 << __s;
809 unsigned __s = __first.__ctz_ + __ddn;
811 *__first.__seg_ |= __b2 << __s;
814 ++__first.__seg_;
815 // __first.__ctz_ = 0;
817 // __first.__ctz_ == 0;
821 for (; __n >= __bits_per_word; __n -= __bits_per_word, ++__first.__seg_)
823 __storage_type __b1 = *__first.__seg_;
827 *__first.__seg_ = __b2 >> __result.__ctz_;
832 *__first.__seg_ |= __b2 << __clz_r;
838 __storage_type __b1 = *__first.__seg_ & __m;
839 *__first.__seg_ &= ~__m;
845 *__first.__seg_ |= __b2 >> __result.__ctz_;
855 *__first.__seg_ |= __b2 << __dn;
905 rotate(__bit_iterator<_Cp, false> __first, __bit_iterator<_Cp, false> __middle, __bit_iterator<_Cp, false> __last)
910 difference_type __d1 = __middle - __first;
912 _I1 __r = __first + __d2;
920 _VSTD::copy(__first, __middle, __b.begin());
921 _VSTD::copy(__b.begin(), __b.end(), _VSTD::copy(__middle, __last, __first));
926 __bit_iterator<_Cp, false> __mp = _VSTD::swap_ranges(__first, __middle, __middle);
927 __first = __middle;
938 _VSTD::copy_backward(__b.begin(), __b.end(), _VSTD::copy_backward(__first, __middle, __last));
943 __bit_iterator<_Cp, false> __mp = __first + __d2;
944 _VSTD::swap_ranges(__first, __mp, __middle);
945 __first = __mp;
1234 template <class _Dp> friend void __fill_n_false(__bit_iterator<_Dp, false> __first, typename _Dp::size_type __n);
1235 template <class _Dp> friend void __fill_n_true(__bit_iterator<_Dp, false> __first, typename _Dp::size_type __n);
1236 template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_aligned(__bit_iterator<_Dp, _IC> __first,
1239 template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_unaligned(__bit_iterator<_Dp, _IC> __first,
1242 template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> copy(__bit_iterator<_Dp, _IC> __first,
1245 template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_backward_aligned(__bit_iterator<_Dp, _IC> __first,
1248 template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> __copy_backward_unaligned(__bit_iterator<_Dp, _IC> __first,
1251 template <class _Dp, bool _IC> friend __bit_iterator<_Dp, false> copy_backward(__bit_iterator<_Dp, _IC> __first,