2020-02-19 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/ranges (take_while_view, drop_view, drop_while_view)
+ (elements_view:_Iterator): Initialize data members (LWG 3364).
+
* libsupc++/compare (three_way_comparable): Remove always-false check
that should have been removed with weak_equality (P1959R0).
(three_way_comparable_with): Likewise. Reorder requirements (LWG 3360).
{ return __y._M_end == __x || !std::__invoke(*__y._M_pred, *__x); }
};
- _Vp _M_base;
+ _Vp _M_base = _Vp();
__detail::__box<_Pred> _M_pred;
public:
class drop_view : public view_interface<drop_view<_Vp>>
{
private:
- _Vp _M_base;
- range_difference_t<_Vp> _M_count;
+ _Vp _M_base = _Vp();
+ range_difference_t<_Vp> _M_count = 0;
public:
drop_view() = default;
class drop_while_view : public view_interface<drop_while_view<_Vp, _Pred>>
{
private:
- _Vp _M_base;
+ _Vp _M_base = _Vp();
__detail::__box<_Pred> _M_pred;
public:
{
using _Base = conditional_t<_Const, const _Vp, _Vp>;
- iterator_t<_Base> _M_current;
+ iterator_t<_Base> _M_current = iterator_t<_Base>();
friend _Iterator<!_Const>;