RWTValSortedVector man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



RWTValSortedVector(3C++)			      RWTValSortedVector(3C++)

Name
     RWTValSortedVector<T> - Rogue Wave library class

Synopsis
	      #include <rw/tvsrtvec.h>

	      RWTValSortedVector<T> sortvec;

Please Note!
     If you do not have the Standard C++ Library, use the interface described
     here.  Otherwise, use the interface to RWTValSortedVector described in
     the Class Reference.

Description
     RWTValSortedVector<T> is an ordered collection.  That is, the items in
     the collection have a meaningful ordered relationship with respect to
     each other and can be accessed by an index number.	 In the case of
     RWTValSortedVector<T>, objects are inserted such that objects "less than"
     themselves are before the object, objects "greater than" themselves after
     the object.  An insertion sort is used.  Duplicates are allowed. Stores a
     copy of the inserted item into the collection according to an ordering
     determined by the less-than (<) operator.	The class T must have:
	  well-defined copy semantics (T::T(const T&) or equivalent);

	  well-defined assignment semantics (T::operator=(const T&) or
	  equivalent);

	  well-defined equality semantics (T::operator==(const T&));

	  well-defined less-than semantics (T::operator<(const T&));

	  a default constructor.

     Note that a sorted vector has a length (the number of items returned by
     length() or entries()) and a capacity.  Necessarily, the capacity is
     always greater than or equal to the length.  Although elements beyond the
     collection's length are not used, nevertheless, in a value-based
     collection, they are occupied.  If each instance of class T requires
     considerable resources, then you should ensure that the collection's
     capacity is not much greater than its length, otherwise unnecessary
     resources will be tied up.Although it is possible to alter objects that
     are contained in aTValSortedVector<T>, it is dangerous since the changes
     may affect the way that operator<() and operator==() behave, causing the
     RWTValSortedVector<T> to become unsorted.

Persistence

									Page 1

RWTValSortedVector(3C++)			      RWTValSortedVector(3C++)

     Isomorphic

Example
     This example inserts a set of dates into a sorted vector in no particular
     order, then prints them out in order.

	      #include <rw/tvsrtvec.h>
	  #include <rw/rwdate.h>
	  #include <rw/rstream.h>
	  {
	    RWTValSortedVector<RWDate> vec;
	    vec.insert(RWDate(10, "Aug", 1999));
	    vec.insert(RWDate(9, "Aug", 1999));
	    vec.insert(RWDate(1, "Sept", 1999));
	    vec.insert(RWDate(14, "May", 1999));
	    vec.insert(RWDate(1, "Sept", 1999));     // Add a duplicate
	    vec.insert(RWDate(2, "June", 1999));
	    for (int i=0; i<vec.length(); i++)
	      cout << vec[i] << endl;
	    return 0;
	  }

     Program output

	      May 14, 1999
	  June 2, 1999
	  August 9, 1999
	  August 10, 1999
	  September 1, 1999
	  September 1, 1999

Public Constructor
	      RWTValSortedVector(size_t capac = RWDEFAULT_CAPACITY);

     Create an empty sorted vector with an initial capacity equal to capac.
     The vector will be automatically resized should the number of items
     exceed this amount.

Public Operators
	      T&
	  operator()(size_t i);
	  const T&
	  operator()(size_t i) const;

     Returns the ith value in the vector.  The first variant can be used as an
     lvalue, the second cannot.	 The index i must be between zero and the
     number of items in the collection less one.  No bounds checking is
     performed.	 When used as an lvalue, care must be taken so as not to
     disturb the sortedness of the collection.

									Page 2

RWTValSortedVector(3C++)			      RWTValSortedVector(3C++)

	      T&
	  operator[](size_t i);
	  const T&
	  operator[](size_t i) const;

     Returns the ith value in the vector.  The first variant can be used as an
     lvalue, the second cannot.	 The index i must be between zero and the
     number of items in the collection less one, or an exception of type
     RWBoundsError will be thrown. When used as an lvalue, care must be taken
     so as not to disturb the sortedness of the collection.

Public Member Functions
	      T&
	  at(size_t i);
	  const T&
	  at(size_t i) const;

     Return the ith value in the vector.  The first variant can be used as an
     lvalue, the second cannot.	 The index i must be between 0 and the length
     of the vector less one, or an exception of type RWBoundsError will be
     thrown.  When used as an lvalue, care must be taken so as not to disturb
     the sortedness of the collection.

	      void
	  clear();

     Removes all items from the collection.

	      RWBoolean
	  contains(const T& a) const;

     Returns TRUE if the collection contains an item that is equal to a.  A
     binary search is done.  Equality is measured by the class-defined
     equality operator.

	      const T*
	  data() const;

     Returns a pointer to the raw data of the vector.  The contents should not
     be changed.  Should be used with care.

	      size_t
	  entries() const;

     Returns the number of items currently in the collection.

									Page 3

RWTValSortedVector(3C++)			      RWTValSortedVector(3C++)

	      RWBoolean
	  find(const T& target, T& ret) const;

     Performs a binary search and returns TRUE if the vector contains an
     object that is equal to the object target and puts a copy of the matching
     object into ret.  Returns FALSE otherwise and does not touch ret.
     Equality is measured by the class-defined equality operator.

	      const T&
	  first() const;

     Returns the first item in the collection.	An exception of type
     RWBoundsError will occur if the vector is empty.

	      size_t
	  index(const T& a) const;

     Performs a binary search, returning the index of the first item that is
     equal to a.  Returns RW_NPOS if there is no such item.  Equality is
     measured by the class-defined equality operator.

	      void
	  insert(const T& a);

     Performs a binary search, inserting a after all items that compare less
     than or equal to it, but before all items that do not.  "Less Than" is
     measured by the class-defined '<' operator for type T. The collection
     will be resized automatically if this causes the number of items to
     exceed the capacity.

	      RWBoolean
	  isEmpty() const;

     Returns TRUE if there are no items in the collection, FALSE otherwise.

	      const T&
	  last() const;

     Returns the last item in the collection.  If there are no items in the
     collection then an exception of type RWBoundsError will occur.

	      size_t
	  length() const;

     Returns the number of items currently in the collection.

									Page 4

RWTValSortedVector(3C++)			      RWTValSortedVector(3C++)

	      size_t
	  occurrencesOf(const T& a) const;

     Performs a binary search, returning the number of items that are equal to
     a.	 Equality is measured by the class-defined equality operator.

	      RWBoolean
	  remove(const T& a);

     Performs a binary search, removing the first object which is equal to the
     object a and returns TRUE.	 Returns FALSE if there is no such object.
     Equality is measured by the class-defined equality operator.

	      size_t
	  removeAll(const T& a);

     Removes all items which are equal to a, returning the number removed.
     Equality is measured by the class-defined equality operator.

	      T
	  removeAt(size_t i);

     Removes and returns the object at index i.	 An exception of type
     RWBoundsError will be thrown if i is not a valid index.  Valid indices
     are from zero to the number of items in the list less one.

	      T
	  removeFirst();

     Removes and returns the first object in the collection.  An exception of
     type RWBoundsError will be thrown if the list is empty.

	      T
	  removeLast();

     Removes and returns the last object in the collection.  An exception of
     type RWBoundsError will be thrown if the list is empty.

	      void
	  resize(size_t N);

     Changes the capacity of the collection to N.  Note that the number of

									Page 5

RWTValSortedVector(3C++)			      RWTValSortedVector(3C++)

     objects in the collection does not change, just the capacity.

Related Global Operators
	      RWvostream&
	  operator<<(RWvostream& strm,
		 const RWTValSortedVector<T>& coll);
	  RWFile&
	  operator<<(RWFile& strm, const RWTValSortedVector<T>& coll);

     Saves the collection coll onto the output stream strm, or a reference to
     it if it has already been saved.

	      RWvistream&
	  operator>>(RWvistream& strm, RWTValSortedVector<T>& coll);
	  RWFile&
	  operator>>(RWFile& strm, RWTValSortedVector<T>& coll);

     Restores the contents of the collection coll from the input stream strm.

	      RWvistream&
	  operator>>(RWvistream& strm, RWTValSortedVector<T>*& p);
	  RWFile&
	  operator>>(RWFile& strm, RWTValSortedVector<T>*& p);

     Looks at the next object on the input stream strm and either creates a
     new collection off the heap and sets p to point to it, or sets p to point
     to a previously read instance.  If a collection is created off the heap,
     then you are responsible for deleting it.

									Page 6

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net