From f016d3b424ed822fa5cd6b27c1411f42acd3db57 Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Fri, 21 Mar 2008 14:51:28 +0000 Subject: [PATCH] misc wxVector docs fixes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52647 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- interface/vector.h | 133 +++++++++++++++++++++++++++------------------ 1 file changed, 80 insertions(+), 53 deletions(-) diff --git a/interface/vector.h b/interface/vector.h index 66dee41fa9..34cee68737 100644 --- a/interface/vector.h +++ b/interface/vector.h @@ -7,64 +7,81 @@ ///////////////////////////////////////////////////////////////////////////// /** - @class wxVectorT @wxheader{vector.h} - wxVectorT is a template class which implements most of the std::vector - class and can be used like it. If wxWidgets is compiled in STL mode, - wxVector will just be a typedef to std::vector. Just like for std::vector, - objects stored in wxVectorT need to be @e assignable but don't have to - be @e default constructible. + wxVector is a template class which implements most of the @c std::vector + class and can be used like it. - You can refer to the STL documentation for further information. + If wxWidgets is compiled in STL mode, wxVector will just be a typedef to @c + std::vector. Just like for @c std::vector, objects stored in wxVector + need to be @e assignable but don't have to be @e default constructible. + + Please refer to the STL documentation for further information. @library{wxbase} - @category{FIXME} + @category{containers} - @see @ref overview_wxcontaineroverview, wxListT(), wxArrayT() + @see @ref overview_container, wxListT, wxArrayT */ +template class wxVector { public: - //@{ + typedef size_t size_type; + typedef T value_type; + typedef value_type* iterator; + typedef const value_type* const_iterator; + typedef value_type& reference; + /** Constructor. */ - wxVectorT(); - wxVectorT(const wxVector& c); - //@} + wxVector(); + + /** + Copy onstructor. + */ + wxVector(const wxVector& c); /** Destructor. */ - ~wxVectorT(); + ~wxVector(); + + /** + Returns item at position @e idx. + */ + const value_type& at(size_type idx) const; - //@{ /** Returns item at position @e idx. */ - const value_type at(size_type idx); - const value_type at(size_type idx); - //@} + value_type& at(size_type idx); - //@{ /** - Return last item. + Return the last item. */ - const value_type back(); - const value_type back(); - //@} + const value_type& back() const; + + /** + Return the last item. + */ + value_type& back(); + + /** + Return iterator to beginning of the vector. + */ + const_iterator begin() const; - //@{ /** Return iterator to beginning of the vector. */ - const_iterator begin(); - const iterator begin(); - //@} + iterator begin(); /** + Returns vector's current capacity, i.e. how much memory is allocated. + @see reserve() */ size_type capacity() const; @@ -78,52 +95,62 @@ public: */ bool empty() const; - //@{ /** Returns iterator to the end of the vector. */ - const_iterator end(); - const iterator end(); - //@} + const_iterator end() const; + + /** + Returns iterator to the end of the vector. + */ + iterator end(); - //@{ /** - Erase items. When using values other than built-in integrals - or classes with reference counting this can be an inefficient - operation. + Erase item pointed to by iterator @a it. + + @return Iterator pointing to the item immediately after the erased one. */ iterator erase(iterator it); + + /** + Erase items in the range @a first to @a last (@a last is not erased). + + @return Iterator pointing to the item immediately after the + erased range. + */ iterator erase(iterator first, iterator last); - //@} - //@{ /** - Returns first item. + Returns the first item. */ - const value_type front(); - const value_type front(); - //@} + const value_type& front() const; /** - ) - Insert an item. When using values other than built-in integrals - or classes with reference counting this can be an inefficient - operation. + Returns the first item. */ - iterator insert(iterator it); + value_type& front(); + + /** + Insert item @a v at given position @a it. + + @return Iterator for the inserted item. + */ + iterator insert(iterator it, const value_type& v = value_type()); /** Assignment operator. */ wxVectorT& operator operator=(const wxVector& vb); - //@{ /** Returns item at position @e idx. */ - const value_type operator[](size_type idx); - const value_type operator[](size_type idx); - //@} + const value_type& operator[](size_type idx) const; + + /** + Returns item at position @e idx. + */ + value_type& operator[](size_type idx); /** Removes the last item. @@ -136,9 +163,9 @@ public: void push_back(const value_type& v); /** - Reserves more memory of @a n is greater then - wxVector::size. Other this call has - no effect. + Reserves memory for at least @a n items. + + @see capacity() */ void reserve(size_type n); }; -- 2.45.2