@@ -47,7 +47,7 @@ class vector {
4747 inline operator cmemlink (void ) const { return (cmemlink (m_Data)); }
4848 inline operator cmemlink (void ) { return (cmemlink (m_Data)); }
4949 inline operator memlink (void ) { return (memlink (m_Data)); }
50- inline void reserve (size_type n, bool bExact = true );
50+ inline void reserve (size_type n, bool bExact = false );
5151 inline void resize (size_type n, bool bExact = true );
5252 inline size_type capacity (void ) const { return (m_Data.capacity () / sizeof (T)); }
5353 inline size_type size (void ) const { return (m_Data.size () / sizeof (T)); }
@@ -57,10 +57,14 @@ class vector {
5757 inline const_iterator begin (void ) const { return (const_iterator (m_Data.begin ())); }
5858 inline iterator end (void ) { return (iterator (m_Data.end ())); }
5959 inline const_iterator end (void ) const { return (const_iterator (m_Data.end ())); }
60- inline reverse_iterator rbegin (void ) { return (reverse_iterator (end ())); }
61- inline const_reverse_iterator rbegin (void ) const { return (const_reverse_iterator (end ())); }
62- inline reverse_iterator rend (void ) { return (reverse_iterator (begin ())); }
63- inline const_reverse_iterator rend (void ) const { return (const_reverse_iterator (begin ())); }
60+ inline const_iterator cbegin (void ) const { return (begin ()); }
61+ inline const_iterator cend (void ) const { return (end ()); }
62+ inline reverse_iterator rbegin (void ) { return (reverse_iterator (end ())); }
63+ inline const_reverse_iterator rbegin (void ) const { return (const_reverse_iterator (end ())); }
64+ inline reverse_iterator rend (void ) { return (reverse_iterator (begin ())); }
65+ inline const_reverse_iterator rend (void ) const { return (const_reverse_iterator (begin ())); }
66+ inline const_reverse_iterator crbegin (void ) const { return (rbegin ()); }
67+ inline const_reverse_iterator crend (void ) const { return (rend ()); }
6468 inline iterator iat (size_type i) { assert (i <= size ()); return (begin () + i); }
6569 inline const_iterator iat (size_type i) const { assert (i <= size ()); return (begin () + i); }
6670 inline reference at (size_type i) { assert (i < size ()); return (begin ()[i]); }
@@ -74,6 +78,7 @@ class vector {
7478 inline void push_back (const T& v = T());
7579 inline void pop_back (void ) { m_Data.memlink ::resize (m_Data.size () - sizeof (T)); }
7680 inline void clear (void ) { m_Data.clear (); }
81+ inline void shrink_to_fit (void ) { m_Data.shrink_to_fit (); }
7782 inline void deallocate (void ) noexcept ;
7883 inline void assign (const_iterator i1, const_iterator i2);
7984 inline void assign (size_type n, const T& v);
0 commit comments