X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/38723be1d50facc0176455b69b409dcd457ac07a..36a0190ebd5bd9a7302f60f6dcd608b80574e21c:/interface/wx/vector.h?ds=inline diff --git a/interface/wx/vector.h b/interface/wx/vector.h index 412330d380..f8b32e26d2 100644 --- a/interface/wx/vector.h +++ b/interface/wx/vector.h @@ -2,8 +2,7 @@ // Name: vector.h // Purpose: interface of wxVector // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// /** @@ -34,31 +33,6 @@ public: typedef const value_type* const_iterator; typedef value_type& reference; - /** - Reverse iterator interface - */ - class reverse_iterator - { - public: - reverse_iterator(); - explicit reverse_iterator(iterator it); - reverse_iterator(const reverse_iterator& it); - reference operator*() const; - pointer operator->() const; - iterator base() const; - reverse_iterator& operator++(); - reverse_iterator operator++(int); - reverse_iterator& operator--(); - reverse_iterator operator--(int); - reverse_iterator operator+(difference_type n) const; - reverse_iterator& operator+=(difference_type n); - reverse_iterator operator-(difference_type n) const; - reverse_iterator& operator-=(difference_type n); - reference operator[](difference_type n) const; - bool operator ==(const reverse_iterator& it) const; - bool operator !=(const reverse_iterator& it) const; - }; - /** Constructor. */ @@ -77,7 +51,20 @@ public: wxVector(size_type size, const value_type& value); /** - Copy onstructor. + Constructor initializing the vector with the elements in the given + range. + + The @a InputIterator template parameter must be an input iterator type. + This constructor adds all elements from @a first until, not not + including, @a last to the vector. + + @since 2.9.5 + */ + template + wxVector(InputIterator first, InputIterator last); + + /** + Copy constructor. */ wxVector(const wxVector& c); @@ -86,6 +73,27 @@ public: */ ~wxVector(); + /** + Resizes the vector to @a n and assigns @a v to all elements. + + @see resize() + + @since 2.9.5 + */ + void assign(size_type n, const value_type& v); + + /** + Assigns the elements in the given range to the vector. + + The @a InputIterator template parameter must be an input iterator type. + This method clears the vector and then adds all elements from @a first + until, not not including, @a last to it. + + @since 2.9.5 + */ + template + void assign(InputIterator first, InputIterator last); + /** Returns item at position @a idx. */ @@ -128,7 +136,7 @@ public: /** - Returns vector's current capacity, i.e. how much memory is allocated. + Returns vector's current capacity, i.e.\ how much memory is allocated. @see reserve() */ @@ -235,6 +243,17 @@ public: Returns the size of the vector. */ size_type size() const; + + /** + Efficiently exchanges contents of this vector with another one. + + After the execution of this function the contents of this vector is + equal to the original contents of @a v and the contents of @a v becomes + the original contents of this vector without copying the data. + + @since 2.9.1 + */ + void swap(wxVector& v); }; @@ -248,7 +267,7 @@ public: ... // items are added to the vector v... wxVectorSort(v); @endcode - + @see wxVector */ template