X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ae3c17b4013e80b99976c750c19fca47729517f6..574be073c070a9bbe81ad68e98187b0b9e82c2df:/interface/wx/vector.h diff --git a/interface/wx/vector.h b/interface/wx/vector.h index 65e39a4a1d..093c7d1ca8 100644 --- a/interface/wx/vector.h +++ b/interface/wx/vector.h @@ -7,7 +7,6 @@ ///////////////////////////////////////////////////////////////////////////// /** - @wxheader{vector.h} wxVector is a template class which implements most of the @c std::vector class and can be used like it. @@ -28,16 +27,55 @@ class wxVector { public: typedef size_t size_type; + typedef size_t difference_type; typedef T value_type; + typedef value_type* pointer; typedef value_type* iterator; 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. */ wxVector(); + /** + Constructor initializing the vector with the given number of + default-constructed objects. + */ + wxVector(size_type size); + + /** + Constructor initializing the vector with the given number of + copies of the given object. + */ + wxVector(size_type size, const value_type& value); + /** Copy onstructor. */ @@ -78,6 +116,17 @@ public: */ iterator begin(); + /** + Return reverse iterator to end of the vector. + */ + reverse_iterator rbegin(); + + /** + Return reverse iterator to beginning of the vector. + */ + reverse_iterator rend(); + + /** Returns vector's current capacity, i.e. how much memory is allocated. @@ -169,6 +218,19 @@ public: */ void reserve(size_type n); + /** + Makes the vector of size @a n. + + If @a n is less than the current size(), the elements at the end of the + vector are erased. If it is greater, then the vector is completed with + either the copies of the given object @a v or @c value_type() objects + until it becomes of size @a n. + */ + //@{ + void resize(size_type n); + void resize(size_type n, const value_type& v); + //@} + /** Returns the size of the vector. */