File tree Expand file tree Collapse file tree 2 files changed +16
-22
lines changed Expand file tree Collapse file tree 2 files changed +16
-22
lines changed Original file line number Diff line number Diff line change @@ -2151,20 +2151,23 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
21512151 { return __y._M_length <=> __x._M_length ; }
21522152
21532153 private:
2154+ template <input_or_output_iterator _It2> friend class counted_iterator ;
2155+
21542156 _It _M_current = _It();
21552157 iter_difference_t <_It> _M_length = 0 ;
21562158
2157- template <input_or_output_iterator _It2> friend class counted_iterator ;
2158-
21592159 friend constexpr iter_rvalue_reference_t <_It>
2160- iter_move (const counted_iterator& __i) noexcept (noexcept (ranges::iter_move(__i._M_current)))
2160+ iter_move (const counted_iterator& __i)
2161+ noexcept (noexcept (ranges::iter_move(__i._M_current)))
21612162 requires input_iterator<_It>
21622163 { return ranges::iter_move (__i._M_current ); }
21632164
21642165 template <indirectly_swappable<_It> _It2>
2165- friend constexpr void iter_swap (const counted_iterator& __x, const counted_iterator<_It2>& __y) noexcept (noexcept (ranges::iter_swap(__x._M_current, __y._M_current)))
2166- { ranges::iter_swap (__x._M_current , __y._M_current ); }
2167-
2166+ friend constexpr void
2167+ iter_swap (const counted_iterator& __x,
2168+ const counted_iterator<_It2>& __y)
2169+ noexcept (noexcept (ranges::iter_swap(__x._M_current, __y._M_current)))
2170+ { ranges::iter_swap (__x._M_current , __y._M_current ); }
21682171 };
21692172
21702173 template <typename _It>
Original file line number Diff line number Diff line change @@ -611,27 +611,18 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
611611#undef islessgreater
612612#undef isunordered
613613
614- #if defined(FP_NAN)
615- #undef FP_NAN
616- #endif
617- #if defined(FP_INFINITE)
618- #undef FP_INFINITE
619- #endif
620- #if defined(FP_ZERO)
621- #undef FP_ZERO
622- #endif
623- #if defined(FP_SUBNORMAL)
624- #undef FP_SUBNORMAL
625- #endif
626- #if defined(FP_NORMAL)
627- #undef FP_NORMAL
628- #endif
629-
614+ #if !defined(FP_NAN) && !defined(FP_INFINITE) && !defined(FP_ZERO) \
615+ && !defined (FP_SUBNORMAL) && !defined (FP_NORMAL)
630616#define FP_NAN 0
631617#define FP_INFINITE 1
632618#define FP_ZERO 2
633619#define FP_SUBNORMAL 3
634620#define FP_NORMAL 4
621+ #elif !defined(FP_NAN) || !defined(FP_INFINITE) || !defined(FP_ZERO) \
622+ || !defined (FP_SUBNORMAL) || !defined (FP_NORMAL)
623+ #error "Some floating-point number classification macros are missing."
624+ #error "Either define all of them or define none of them so that <cmath> can do it."
625+ #endif
635626
636627#if __cplusplus >= 201103L
637628
You can’t perform that action at this time.
0 commit comments