diff options
author | François Dumont <fdumont@gcc.gnu.org> | 2018-10-15 05:24:51 +0000 |
---|---|---|
committer | François Dumont <fdumont@gcc.gnu.org> | 2018-10-15 05:24:51 +0000 |
commit | 4b186707ee29b3189728731adf0ebdd2e620a26d (patch) | |
tree | 5b0bd9c7af106547682e46f7a6e191bdaea54b6b /libstdc++-v3 | |
parent | 524af591fd548e466380e3d54abd5f501be28a94 (diff) | |
download | gcc-4b186707ee29b3189728731adf0ebdd2e620a26d.zip gcc-4b186707ee29b3189728731adf0ebdd2e620a26d.tar.gz gcc-4b186707ee29b3189728731adf0ebdd2e620a26d.tar.bz2 |
vector (vector<>::cbegin()): Use C++11 direct initialization.
2018-10-15 François Dumont <fdumont@gcc.gnu.org>
* 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
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 13 | ||||
-rw-r--r-- | libstdc++-v3/include/debug/vector | 23 |
2 files changed, 26 insertions, 10 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 871d6ab..1c2e0ff 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,16 @@ +2018-10-15 François Dumont <fdumont@gcc.gnu.org> + + * 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 <jwakely@redhat.com> Initial commit of Networking TS implementation. diff --git a/libstdc++-v3/include/debug/vector b/libstdc++-v3/include/debug/vector index ff9f5f4..c11ddbb 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<class _InputIterator> @@ -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 |