| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 | 
							- /////////////////////////////////////////////////////////////////////////////
 
- // Name:        vector.h
 
- // Purpose:     interface of wxVector<T>
 
- // Author:      wxWidgets team
 
- // Licence:     wxWindows licence
 
- /////////////////////////////////////////////////////////////////////////////
 
- /**
 
-     wxVector<T> is a template class which implements most of the @c std::vector
 
-     class and can be used like it.
 
-     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<T>
 
-     need to be @e assignable but don't have to be @e "default constructible".
 
-     Please refer to the STL documentation for further information.
 
-     @nolibrary
 
-     @category{containers}
 
-     @see @ref overview_container, wxList<T>, wxArray<T>, wxVectorSort<T>
 
- */
 
- template<typename T>
 
- class wxVector<T>
 
- {
 
- 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;
 
-     /**
 
-         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);
 
-     /**
 
-         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 <class InputIterator>
 
-     wxVector(InputIterator first, InputIterator last);
 
-     /**
 
-         Copy constructor.
 
-     */
 
-     wxVector(const wxVector<T>& c);
 
-     /**
 
-         Destructor.
 
-     */
 
-     ~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 <class InputIterator>
 
-     void assign(InputIterator first, InputIterator last);
 
-     /**
 
-         Returns item at position @a idx.
 
-     */
 
-     const value_type& at(size_type idx) const;
 
-     /**
 
-         Returns item at position @a idx.
 
-     */
 
-     value_type& at(size_type idx);
 
-     /**
 
-         Return the last item.
 
-     */
 
-     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.
 
-     */
 
-     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.
 
-         @see reserve()
 
-     */
 
-     size_type capacity() const;
 
-     /**
 
-         Clears the vector.
 
-     */
 
-     void clear();
 
-     /**
 
-         Returns @true if the vector is empty.
 
-     */
 
-     bool empty() const;
 
-     /**
 
-         Returns iterator to the end of the vector.
 
-     */
 
-     const_iterator end() const;
 
-     /**
 
-         Returns iterator to the end of the vector.
 
-     */
 
-     iterator end();
 
-     /**
 
-         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 the first item.
 
-     */
 
-     const value_type& front() const;
 
-     /**
 
-         Returns the first item.
 
-     */
 
-     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.
 
-     */
 
-     wxVector& operator=(const wxVector& vb);
 
-     /**
 
-         Returns item at position @a idx.
 
-     */
 
-     const value_type& operator[](size_type idx) const;
 
-     /**
 
-         Returns item at position @a idx.
 
-     */
 
-     value_type& operator[](size_type idx);
 
-     /**
 
-         Removes the last item.
 
-     */
 
-     void pop_back();
 
-     /**
 
-         Adds an item to the end of the vector.
 
-     */
 
-     void push_back(const value_type& v);
 
-     /**
 
-         Reserves memory for at least @a n items.
 
-         @see capacity()
 
-     */
 
-     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.
 
-     */
 
-     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);
 
- };
 
- /**
 
-    Sort the contents of a @c wxVector<T>.  In a STL build this function will
 
-    be defined as a thin wrapper around std::sort.  To be sortable the
 
-    contained type must support the less-than operator.
 
-    @code
 
-    wxVector<SomeClass> v;
 
-    ... // items are added to the vector v...
 
-    wxVectorSort(v);
 
-    @endcode
 
-    @see wxVector<T>
 
- */
 
- template<typename T>
 
- void wxVectorSort(wxVector<T>& v);
 
 
  |