From 6d84ee94dbd994e1e5cc735505098e0d7d3e6242 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Fri, 14 Jul 2017 16:02:47 +0300 Subject: Update mse with latest changes. --- src/debug/mse/msemstdvector.h | 30 ++++++++++++++++++++++++------ 1 file changed, 24 insertions(+), 6 deletions(-) diff --git a/src/debug/mse/msemstdvector.h b/src/debug/mse/msemstdvector.h index 0099486f0..fa7d848bc 100644 --- a/src/debug/mse/msemstdvector.h +++ b/src/debug/mse/msemstdvector.h @@ -245,20 +245,16 @@ namespace mse { friend class /*_Myt*/vector<_Ty, _A>; }; - iterator begin() - { // return iterator for beginning of mutable sequence + iterator begin() { // return iterator for beginning of mutable sequence iterator retval; retval.m_msevector_shptr = this->m_shptr; (retval.m_ss_iterator) = m_shptr->ss_begin(); return retval; } - - const_iterator begin() const - { // return iterator for beginning of nonmutable sequence + const_iterator begin() const { // return iterator for beginning of nonmutable sequence const_iterator retval; retval.m_msevector_cshptr = this->m_shptr; (retval.m_ss_const_iterator) = m_shptr->ss_begin(); return retval; } - iterator end() { // return iterator for end of mutable sequence iterator retval; retval.m_msevector_shptr = this->m_shptr; (retval.m_ss_iterator) = m_shptr->ss_end(); @@ -280,6 +276,28 @@ namespace mse { return retval; } + typedef std::reverse_iterator reverse_iterator; + typedef std::reverse_iterator const_reverse_iterator; + + reverse_iterator rbegin() { // return iterator for beginning of reversed mutable sequence + return (reverse_iterator(end())); + } + const_reverse_iterator rbegin() const { // return iterator for beginning of reversed nonmutable sequence + return (const_reverse_iterator(end())); + } + reverse_iterator rend() { // return iterator for end of reversed mutable sequence + return (reverse_iterator(begin())); + } + const_reverse_iterator rend() const { // return iterator for end of reversed nonmutable sequence + return (const_reverse_iterator(begin())); + } + const_reverse_iterator crbegin() const { // return iterator for beginning of reversed nonmutable sequence + return (rbegin()); + } + const_reverse_iterator crend() const { // return iterator for end of reversed nonmutable sequence + return (rend()); + } + vector(const const_iterator &start, const const_iterator &end, const _A& _Al = _A()) : m_shptr(std::make_shared<_MV>(start.msevector_ss_const_iterator_type(), end.msevector_ss_const_iterator_type(), _Al)) {} -- cgit v1.2.3-60-g2f50