From 4b186707ee29b3189728731adf0ebdd2e620a26d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Dumont?= Date: Mon, 15 Oct 2018 05:24:51 +0000 Subject: [PATCH] vector (vector<>::cbegin()): Use C++11 direct initialization. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2018-10-15 François Dumont * include/debug/vector (vector<>::cbegin()): Use C++11 direct initialization. (vector<>::cend()): Likewise. (vector<>::emplace(const_iterator, _Args&&...)): Likewise and use consistent iterator comparison. (vector<>::insert(const_iterator, size_type, const _Tp&)): Likewise. (vector<>::insert(const_iterator, _InputIterator, _InputIterator)): Likewise. (vector<>::erase(const_iterator)): Likewise. (vector<>::erase(const_iterator, const_iterator)): Likewise. From-SVN: r265156 --- libstdc++-v3/ChangeLog | 13 +++++++++++++ libstdc++-v3/include/debug/vector | 23 +++++++++++++---------- 2 files changed, 26 insertions(+), 10 deletions(-) diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 871d6ab4a09..1c2e0ff9c0f 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,16 @@ +2018-10-15 François Dumont + + * include/debug/vector (vector<>::cbegin()): Use C++11 direct + initialization. + (vector<>::cend()): Likewise. + (vector<>::emplace(const_iterator, _Args&&...)): Likewise and use + consistent iterator comparison. + (vector<>::insert(const_iterator, size_type, const _Tp&)): Likewise. + (vector<>::insert(const_iterator, _InputIterator, _InputIterator)): + Likewise. + (vector<>::erase(const_iterator)): Likewise. + (vector<>::erase(const_iterator, const_iterator)): Likewise. + 2018-10-12 Jonathan Wakely Initial commit of Networking TS implementation. diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index ff9f5f47c24..c11ddbb7048 100644 --- a/libstdc++-v3/include/debug/vector +++ b/libstdc++-v3/include/debug/vector @@ -328,11 +328,11 @@ namespace __debug #if __cplusplus >= 201103L const_iterator cbegin() const noexcept - { return const_iterator(_Base::begin(), this); } + { return { _Base::begin(), this }; } const_iterator cend() const noexcept - { return const_iterator(_Base::end(), this); } + { return { _Base::end(), this }; } const_reverse_iterator crbegin() const noexcept @@ -521,7 +521,7 @@ namespace __debug { __glibcxx_check_insert(__position); bool __realloc = this->_M_requires_reallocation(this->size() + 1); - difference_type __offset = __position.base() - _Base::begin(); + difference_type __offset = __position.base() - _Base::cbegin(); _Base_iterator __res = _Base::emplace(__position.base(), std::forward<_Args>(__args)...); if (__realloc) @@ -529,7 +529,7 @@ namespace __debug else this->_M_invalidate_after_nth(__offset); this->_M_update_guaranteed_capacity(); - return iterator(__res, this); + return { __res, this }; } #endif @@ -542,7 +542,8 @@ namespace __debug { __glibcxx_check_insert(__position); bool __realloc = this->_M_requires_reallocation(this->size() + 1); - difference_type __offset = __position.base() - _Base::begin(); + difference_type __offset + = __position.base() - __position._M_get_sequence()->_M_base().begin(); _Base_iterator __res = _Base::insert(__position.base(), __x); if (__realloc) this->_M_invalidate_all(); @@ -577,7 +578,7 @@ namespace __debug else this->_M_invalidate_after_nth(__offset); this->_M_update_guaranteed_capacity(); - return iterator(__res, this); + return { __res, this }; } #else void @@ -623,7 +624,7 @@ namespace __debug else this->_M_invalidate_after_nth(__offset); this->_M_update_guaranteed_capacity(); - return iterator(__res, this); + return { __res, this }; } #else template @@ -661,7 +662,8 @@ namespace __debug #endif { __glibcxx_check_erase(__position); - difference_type __offset = __position.base() - _Base::begin(); + difference_type __offset + = __position.base() - __position._M_get_sequence()->_M_base().begin(); _Base_iterator __res = _Base::erase(__position.base()); this->_M_invalidate_after_nth(__offset); return iterator(__res, this); @@ -680,7 +682,8 @@ namespace __debug if (__first.base() != __last.base()) { - difference_type __offset = __first.base() - _Base::begin(); + difference_type __offset = + __first.base() - __first._M_get_sequence()->_M_base().begin(); _Base_iterator __res = _Base::erase(__first.base(), __last.base()); this->_M_invalidate_after_nth(__offset); @@ -688,7 +691,7 @@ namespace __debug } else #if __cplusplus >= 201103L - return begin() + (__first.base() - cbegin().base()); + return { _Base::begin() + (__first.base() - _Base::cbegin()), this }; #else return __first; #endif