Fix ABI break I made in r203587; thanks to Richard Smith for the catch.
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@203610 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be3d117702
commit
668a1d8c44
@ -538,16 +538,18 @@ class _LIBCPP_TYPE_VIS_ONLY reverse_iterator
|
|||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
_Iter current;
|
_Iter current;
|
||||||
|
private:
|
||||||
|
mutable _Iter __t; // no longer used as of LWG #2360, not removed due to ABI break
|
||||||
public:
|
public:
|
||||||
typedef _Iter iterator_type;
|
typedef _Iter iterator_type;
|
||||||
typedef typename iterator_traits<_Iter>::difference_type difference_type;
|
typedef typename iterator_traits<_Iter>::difference_type difference_type;
|
||||||
typedef typename iterator_traits<_Iter>::reference reference;
|
typedef typename iterator_traits<_Iter>::reference reference;
|
||||||
typedef typename iterator_traits<_Iter>::pointer pointer;
|
typedef typename iterator_traits<_Iter>::pointer pointer;
|
||||||
|
|
||||||
_LIBCPP_INLINE_VISIBILITY reverse_iterator() : current() {}
|
_LIBCPP_INLINE_VISIBILITY reverse_iterator() : current(), __t() {}
|
||||||
_LIBCPP_INLINE_VISIBILITY explicit reverse_iterator(_Iter __x) : current(__x) {}
|
_LIBCPP_INLINE_VISIBILITY explicit reverse_iterator(_Iter __x) : current(__x), __t() {}
|
||||||
template <class _Up> _LIBCPP_INLINE_VISIBILITY reverse_iterator(const reverse_iterator<_Up>& __u)
|
template <class _Up> _LIBCPP_INLINE_VISIBILITY reverse_iterator(const reverse_iterator<_Up>& __u)
|
||||||
: current(__u.base()) {}
|
: current(__u.base()), __t() {}
|
||||||
_LIBCPP_INLINE_VISIBILITY _Iter base() const {return current;}
|
_LIBCPP_INLINE_VISIBILITY _Iter base() const {return current;}
|
||||||
_LIBCPP_INLINE_VISIBILITY reference operator*() const {_Iter __tmp = current; return *--__tmp;}
|
_LIBCPP_INLINE_VISIBILITY reference operator*() const {_Iter __tmp = current; return *--__tmp;}
|
||||||
_LIBCPP_INLINE_VISIBILITY pointer operator->() const {return _VSTD::addressof(operator*());}
|
_LIBCPP_INLINE_VISIBILITY pointer operator->() const {return _VSTD::addressof(operator*());}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user