Skip to content

Commit 7ac3e52

Browse files
authored
[libc++][C++03] Backport #111127, #112843 and #121620 (#155571)
1 parent 0a2eb85 commit 7ac3e52

File tree

7 files changed

+176
-180
lines changed

7 files changed

+176
-180
lines changed

libcxx/include/__cxx03/bitset

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -185,24 +185,24 @@ protected:
185185
__storage_type __first_[_N_words];
186186

187187
typedef __bit_reference<__bitset> reference;
188-
typedef __bit_const_reference<__bitset> const_reference;
189-
typedef __bit_iterator<__bitset, false> iterator;
190-
typedef __bit_iterator<__bitset, true> const_iterator;
188+
typedef __bit_const_reference<__bitset> __const_reference;
189+
typedef __bit_iterator<__bitset, false> __iterator;
190+
typedef __bit_iterator<__bitset, true> __const_iterator;
191191

192192
_LIBCPP_HIDE_FROM_ABI __bitset() _NOEXCEPT;
193193
_LIBCPP_HIDE_FROM_ABI explicit __bitset(unsigned long long __v) _NOEXCEPT;
194194

195195
_LIBCPP_HIDE_FROM_ABI reference __make_ref(size_t __pos) _NOEXCEPT {
196196
return reference(__first_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);
197197
}
198-
_LIBCPP_HIDE_FROM_ABI const_reference __make_ref(size_t __pos) const _NOEXCEPT {
199-
return const_reference(__first_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);
198+
_LIBCPP_HIDE_FROM_ABI __const_reference __make_ref(size_t __pos) const _NOEXCEPT {
199+
return __const_reference(__first_ + __pos / __bits_per_word, __storage_type(1) << __pos % __bits_per_word);
200200
}
201-
_LIBCPP_HIDE_FROM_ABI iterator __make_iter(size_t __pos) _NOEXCEPT {
202-
return iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
201+
_LIBCPP_HIDE_FROM_ABI __iterator __make_iter(size_t __pos) _NOEXCEPT {
202+
return __iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
203203
}
204-
_LIBCPP_HIDE_FROM_ABI const_iterator __make_iter(size_t __pos) const _NOEXCEPT {
205-
return const_iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
204+
_LIBCPP_HIDE_FROM_ABI __const_iterator __make_iter(size_t __pos) const _NOEXCEPT {
205+
return __const_iterator(__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
206206
}
207207

208208
_LIBCPP_HIDE_FROM_ABI void operator&=(const __bitset& __v) _NOEXCEPT;
@@ -302,8 +302,8 @@ _LIBCPP_HIDE_FROM_ABI void __bitset<_N_words, _Size>::flip() _NOEXCEPT {
302302

303303
template <size_t _N_words, size_t _Size>
304304
_LIBCPP_HIDE_FROM_ABI unsigned long __bitset<_N_words, _Size>::to_ulong(false_type) const {
305-
const_iterator __e = __make_iter(_Size);
306-
const_iterator __i = std::find(__make_iter(sizeof(unsigned long) * CHAR_BIT), __e, true);
305+
__const_iterator __e = __make_iter(_Size);
306+
__const_iterator __i = std::find(__make_iter(sizeof(unsigned long) * CHAR_BIT), __e, true);
307307
if (__i != __e)
308308
__throw_overflow_error("bitset to_ulong overflow error");
309309

@@ -317,8 +317,8 @@ inline _LIBCPP_HIDE_FROM_ABI unsigned long __bitset<_N_words, _Size>::to_ulong(t
317317

318318
template <size_t _N_words, size_t _Size>
319319
_LIBCPP_HIDE_FROM_ABI unsigned long long __bitset<_N_words, _Size>::to_ullong(false_type) const {
320-
const_iterator __e = __make_iter(_Size);
321-
const_iterator __i = std::find(__make_iter(sizeof(unsigned long long) * CHAR_BIT), __e, true);
320+
__const_iterator __e = __make_iter(_Size);
321+
__const_iterator __i = std::find(__make_iter(sizeof(unsigned long long) * CHAR_BIT), __e, true);
322322
if (__i != __e)
323323
__throw_overflow_error("bitset to_ullong overflow error");
324324

@@ -410,24 +410,24 @@ protected:
410410
__storage_type __first_;
411411

412412
typedef __bit_reference<__bitset> reference;
413-
typedef __bit_const_reference<__bitset> const_reference;
414-
typedef __bit_iterator<__bitset, false> iterator;
415-
typedef __bit_iterator<__bitset, true> const_iterator;
413+
typedef __bit_const_reference<__bitset> __const_reference;
414+
typedef __bit_iterator<__bitset, false> __iterator;
415+
typedef __bit_iterator<__bitset, true> __const_iterator;
416416

417417
_LIBCPP_HIDE_FROM_ABI __bitset() _NOEXCEPT;
418418
_LIBCPP_HIDE_FROM_ABI explicit __bitset(unsigned long long __v) _NOEXCEPT;
419419

420420
_LIBCPP_HIDE_FROM_ABI reference __make_ref(size_t __pos) _NOEXCEPT {
421421
return reference(&__first_, __storage_type(1) << __pos);
422422
}
423-
_LIBCPP_HIDE_FROM_ABI const_reference __make_ref(size_t __pos) const _NOEXCEPT {
424-
return const_reference(&__first_, __storage_type(1) << __pos);
423+
_LIBCPP_HIDE_FROM_ABI __const_reference __make_ref(size_t __pos) const _NOEXCEPT {
424+
return __const_reference(&__first_, __storage_type(1) << __pos);
425425
}
426-
_LIBCPP_HIDE_FROM_ABI iterator __make_iter(size_t __pos) _NOEXCEPT {
427-
return iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
426+
_LIBCPP_HIDE_FROM_ABI __iterator __make_iter(size_t __pos) _NOEXCEPT {
427+
return __iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
428428
}
429-
_LIBCPP_HIDE_FROM_ABI const_iterator __make_iter(size_t __pos) const _NOEXCEPT {
430-
return const_iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
429+
_LIBCPP_HIDE_FROM_ABI __const_iterator __make_iter(size_t __pos) const _NOEXCEPT {
430+
return __const_iterator(&__first_ + __pos / __bits_per_word, __pos % __bits_per_word);
431431
}
432432

433433
_LIBCPP_HIDE_FROM_ABI void operator&=(const __bitset& __v) _NOEXCEPT;
@@ -522,17 +522,17 @@ protected:
522522
friend struct __bit_array<__bitset>;
523523

524524
typedef __bit_reference<__bitset> reference;
525-
typedef __bit_const_reference<__bitset> const_reference;
526-
typedef __bit_iterator<__bitset, false> iterator;
527-
typedef __bit_iterator<__bitset, true> const_iterator;
525+
typedef __bit_const_reference<__bitset> __const_reference;
526+
typedef __bit_iterator<__bitset, false> __iterator;
527+
typedef __bit_iterator<__bitset, true> __const_iterator;
528528

529529
_LIBCPP_HIDE_FROM_ABI __bitset() _NOEXCEPT;
530530
_LIBCPP_HIDE_FROM_ABI explicit __bitset(unsigned long long) _NOEXCEPT;
531531

532532
_LIBCPP_HIDE_FROM_ABI reference __make_ref(size_t) _NOEXCEPT { return reference(nullptr, 1); }
533-
_LIBCPP_HIDE_FROM_ABI const_reference __make_ref(size_t) const _NOEXCEPT { return const_reference(nullptr, 1); }
534-
_LIBCPP_HIDE_FROM_ABI iterator __make_iter(size_t) _NOEXCEPT { return iterator(nullptr, 0); }
535-
_LIBCPP_HIDE_FROM_ABI const_iterator __make_iter(size_t) const _NOEXCEPT { return const_iterator(nullptr, 0); }
533+
_LIBCPP_HIDE_FROM_ABI __const_reference __make_ref(size_t) const _NOEXCEPT { return __const_reference(nullptr, 1); }
534+
_LIBCPP_HIDE_FROM_ABI __iterator __make_iter(size_t) _NOEXCEPT { return __iterator(nullptr, 0); }
535+
_LIBCPP_HIDE_FROM_ABI __const_iterator __make_iter(size_t) const _NOEXCEPT { return __const_iterator(nullptr, 0); }
536536

537537
_LIBCPP_HIDE_FROM_ABI void operator&=(const __bitset&) _NOEXCEPT {}
538538
_LIBCPP_HIDE_FROM_ABI void operator|=(const __bitset&) _NOEXCEPT {}
@@ -563,15 +563,15 @@ class _LIBCPP_TEMPLATE_VIS bitset
563563
: private __bitset<_Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1, _Size> {
564564
public:
565565
static const unsigned __n_words = _Size == 0 ? 0 : (_Size - 1) / (sizeof(size_t) * CHAR_BIT) + 1;
566-
typedef __bitset<__n_words, _Size> base;
566+
typedef __bitset<__n_words, _Size> __base;
567567

568568
public:
569-
typedef typename base::reference reference;
570-
typedef typename base::const_reference const_reference;
569+
typedef typename __base::reference reference;
570+
typedef typename __base::__const_reference __const_reference;
571571

572572
// 23.3.5.1 constructors:
573573
_LIBCPP_HIDE_FROM_ABI bitset() _NOEXCEPT {}
574-
_LIBCPP_HIDE_FROM_ABI bitset(unsigned long long __v) _NOEXCEPT : base(__v) {}
574+
_LIBCPP_HIDE_FROM_ABI bitset(unsigned long long __v) _NOEXCEPT : __base(__v) {}
575575
template <class _CharT, __enable_if_t<_IsCharLikeType<_CharT>::value, int> = 0>
576576
_LIBCPP_HIDE_FROM_ABI explicit bitset(
577577
const _CharT* __str,
@@ -613,11 +613,11 @@ public:
613613

614614
// element access:
615615
#ifdef _LIBCPP_ABI_BITSET_VECTOR_BOOL_CONST_SUBSCRIPT_RETURN_BOOL
616-
_LIBCPP_HIDE_FROM_ABI bool operator[](size_t __p) const { return base::__make_ref(__p); }
616+
_LIBCPP_HIDE_FROM_ABI bool operator[](size_t __p) const { return __base::__make_ref(__p); }
617617
#else
618-
_LIBCPP_HIDE_FROM_ABI const_reference operator[](size_t __p) const { return base::__make_ref(__p); }
618+
_LIBCPP_HIDE_FROM_ABI __const_reference operator[](size_t __p) const { return __base::__make_ref(__p); }
619619
#endif
620-
_LIBCPP_HIDE_FROM_ABI reference operator[](size_t __p) { return base::__make_ref(__p); }
620+
_LIBCPP_HIDE_FROM_ABI reference operator[](size_t __p) { return __base::__make_ref(__p); }
621621
_LIBCPP_HIDE_FROM_ABI unsigned long to_ulong() const;
622622
_LIBCPP_HIDE_FROM_ABI unsigned long long to_ullong() const;
623623
template <class _CharT, class _Traits, class _Allocator>
@@ -656,51 +656,51 @@ private:
656656
_CharT __c = __str[__mp - 1 - __i];
657657
(*this)[__i] = _Traits::eq(__c, __one);
658658
}
659-
std::fill(base::__make_iter(__i), base::__make_iter(_Size), false);
659+
std::fill(__base::__make_iter(__i), __base::__make_iter(_Size), false);
660660
}
661661

662-
_LIBCPP_HIDE_FROM_ABI size_t __hash_code() const _NOEXCEPT { return base::__hash_code(); }
662+
_LIBCPP_HIDE_FROM_ABI size_t __hash_code() const _NOEXCEPT { return __base::__hash_code(); }
663663

664664
friend struct hash<bitset>;
665665
};
666666

667667
template <size_t _Size>
668668
inline _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::operator&=(const bitset& __rhs) _NOEXCEPT {
669-
base::operator&=(__rhs);
669+
__base::operator&=(__rhs);
670670
return *this;
671671
}
672672

673673
template <size_t _Size>
674674
inline _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::operator|=(const bitset& __rhs) _NOEXCEPT {
675-
base::operator|=(__rhs);
675+
__base::operator|=(__rhs);
676676
return *this;
677677
}
678678

679679
template <size_t _Size>
680680
inline _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::operator^=(const bitset& __rhs) _NOEXCEPT {
681-
base::operator^=(__rhs);
681+
__base::operator^=(__rhs);
682682
return *this;
683683
}
684684

685685
template <size_t _Size>
686686
_LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::operator<<=(size_t __pos) _NOEXCEPT {
687687
__pos = std::min(__pos, _Size);
688-
std::copy_backward(base::__make_iter(0), base::__make_iter(_Size - __pos), base::__make_iter(_Size));
689-
std::fill_n(base::__make_iter(0), __pos, false);
688+
std::copy_backward(__base::__make_iter(0), __base::__make_iter(_Size - __pos), __base::__make_iter(_Size));
689+
std::fill_n(__base::__make_iter(0), __pos, false);
690690
return *this;
691691
}
692692

693693
template <size_t _Size>
694694
_LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::operator>>=(size_t __pos) _NOEXCEPT {
695695
__pos = std::min(__pos, _Size);
696-
std::copy(base::__make_iter(__pos), base::__make_iter(_Size), base::__make_iter(0));
697-
std::fill_n(base::__make_iter(_Size - __pos), __pos, false);
696+
std::copy(__base::__make_iter(__pos), __base::__make_iter(_Size), __base::__make_iter(0));
697+
std::fill_n(__base::__make_iter(_Size - __pos), __pos, false);
698698
return *this;
699699
}
700700

701701
template <size_t _Size>
702702
inline _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::set() _NOEXCEPT {
703-
std::fill_n(base::__make_iter(0), _Size, true);
703+
std::fill_n(__base::__make_iter(0), _Size, true);
704704
return *this;
705705
}
706706

@@ -715,7 +715,7 @@ _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::set(size_t __pos, bool __val
715715

716716
template <size_t _Size>
717717
inline _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::reset() _NOEXCEPT {
718-
std::fill_n(base::__make_iter(0), _Size, false);
718+
std::fill_n(__base::__make_iter(0), _Size, false);
719719
return *this;
720720
}
721721

@@ -737,7 +737,7 @@ inline _LIBCPP_HIDE_FROM_ABI bitset<_Size> bitset<_Size>::operator~() const _NOE
737737

738738
template <size_t _Size>
739739
inline _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::flip() _NOEXCEPT {
740-
base::flip();
740+
__base::flip();
741741
return *this;
742742
}
743743

@@ -746,19 +746,19 @@ _LIBCPP_HIDE_FROM_ABI bitset<_Size>& bitset<_Size>::flip(size_t __pos) {
746746
if (__pos >= _Size)
747747
__throw_out_of_range("bitset flip argument out of range");
748748

749-
reference __r = base::__make_ref(__pos);
749+
reference __r = __base::__make_ref(__pos);
750750
__r = ~__r;
751751
return *this;
752752
}
753753

754754
template <size_t _Size>
755755
inline _LIBCPP_HIDE_FROM_ABI unsigned long bitset<_Size>::to_ulong() const {
756-
return base::to_ulong();
756+
return __base::to_ulong();
757757
}
758758

759759
template <size_t _Size>
760760
inline _LIBCPP_HIDE_FROM_ABI unsigned long long bitset<_Size>::to_ullong() const {
761-
return base::to_ullong();
761+
return __base::to_ullong();
762762
}
763763

764764
template <size_t _Size>
@@ -795,12 +795,12 @@ bitset<_Size>::to_string(char __zero, char __one) const {
795795

796796
template <size_t _Size>
797797
inline _LIBCPP_HIDE_FROM_ABI size_t bitset<_Size>::count() const _NOEXCEPT {
798-
return static_cast<size_t>(std::count(base::__make_iter(0), base::__make_iter(_Size), true));
798+
return static_cast<size_t>(std::count(__base::__make_iter(0), __base::__make_iter(_Size), true));
799799
}
800800

801801
template <size_t _Size>
802802
inline _LIBCPP_HIDE_FROM_ABI bool bitset<_Size>::operator==(const bitset& __rhs) const _NOEXCEPT {
803-
return std::equal(base::__make_iter(0), base::__make_iter(_Size), __rhs.__make_iter(0));
803+
return std::equal(__base::__make_iter(0), __base::__make_iter(_Size), __rhs.__make_iter(0));
804804
}
805805

806806
template <size_t _Size>
@@ -818,12 +818,12 @@ _LIBCPP_HIDE_FROM_ABI bool bitset<_Size>::test(size_t __pos) const {
818818

819819
template <size_t _Size>
820820
inline _LIBCPP_HIDE_FROM_ABI bool bitset<_Size>::all() const _NOEXCEPT {
821-
return base::all();
821+
return __base::all();
822822
}
823823

824824
template <size_t _Size>
825825
inline _LIBCPP_HIDE_FROM_ABI bool bitset<_Size>::any() const _NOEXCEPT {
826-
return base::any();
826+
return __base::any();
827827
}
828828

829829
template <size_t _Size>

0 commit comments

Comments
 (0)