RWGOrderedVector man page on IRIX

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



RWGOrderedVector(3C++)					RWGOrderedVector(3C++)

Name
     RWGOrderedVector(val) - Rogue Wave library class

Synopsis
	      #include <rw/gordvec.h>

	      declare(RWGVector,val)
	  declare(RWGOrderedVector,val)
	  implement(RWGVector,val)
	  implement(RWGOrderedVector,val)
	  RWGOrderedVector(val) v;// Ordered vector of objects of val val.

Description
     Class RWGOrderedVector(val) represents an ordered collection of objects
     of val val.  Objects are ordered by the order of insertion and are
     accessible by index.  Duplicates are allowed.  RWGOrderedVector(val) is
     implemented as a vector, using macros defined in the standard C++ header
     file <generic.h>.	Note that it is a value-based collection: items are
     copied in and out of the collection.  The class val must have:
	  a default constructor;

	  well-defined copy semantics (val::val(const val&) or equiv.);

	  well-defined assignment semantics (val::operator=(const val&) or
	  equiv.);

	  well-defined equality semantics (val::operator==(const val&) or
	  equiv.).

     To use this class you must declare and implement its base class as well
     as the class itself.  For example, here is how you declare and implement
     an ordered collection of doubles:.Ex
	 declare(RWGVector,double)		       // Declare base class

	      declare(RWGOrderedVector,double)	// Declare ordered vector
	  // In one and only one .cpp file you must put the following:
	  implement(RWGVector,double)		 // Implement base class
	  implement(RWGOrderedVector,double)	 // Implement ordered vector

     For each val of RWGOrderedVector you must include one (and only one) call
     to the macro implement somewhere in your code for both the

									Page 1

RWGOrderedVector(3C++)					RWGOrderedVector(3C++)

     RWGOrderedVector itself and for its base class RWGVector.

Persistence
     None

Example
     Here's an example that uses an ordered vector of RWCStrings.

	      #include <rw/gordvec.h>
	  #include <rw/cstring.h>
	  #include <rw/rstream.h>
	  declare(RWGVector,RWCString)
	  declare(RWGOrderedVector,RWCString)
	  implement(RWGVector,RWCString)
	  implement(RWGOrderedVector,RWCString)
	  main()  {
	    RWGOrderedVector(RWCString) vec;
	    RWCString one("First");
	    vec.insert(one);
	    vec.insert("Second");   // Automatic val conversion occurs
	    vec.insert("Last");	    // Automatic val conversion occurs
	    for(size_t i=0; i<vec.entries(); i++)  cout << vec[i] << endl;
	    return 0;
	  }

     Program output:

	      First
	  Second
	  Last

Public Constructors
	      RWGOrderedVector(val)(size_t capac=RWDEFAULT_CAPACITY);

     Construct an ordered vector of elements of val val.  The initial capacity
     of the vector will be capac whose default value is RWDEFAULT_CAPACITY.
     The capacity will be automatically increased as necessary should too many
     items be inserted, a relatively expensive process because each item must
     be copied into the new storage.

Public Member Functions
	      val
	  operator()(size_t i) const;
	  val&
	  operator()(size_t i);

     Return the ith value in the vector.  The index i must be between 0 and
     one less than the number of items in the vector.  No bounds checking is
     performed.	 The second variant can be used as an lvalue, the first

									Page 2

RWGOrderedVector(3C++)					RWGOrderedVector(3C++)

     cannot.

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

     Return the ith value in the vector.  The index i must be between 0 and
     one less than the number of items in the vector.  Bounds checking will be
     performed.	 The second variant can be used as an lvalue, the first
     cannot.

	      void
	  clear();

     Remove all items from the collection.

	      const val*
	  data() const;

     Returns a pointer to the raw data of self.	 Should be used with care.

	      size_t
	  entries() const;

     Return the number of items currently in the collection.

	      size_t
	  index(val item) const;

     Perform a linear search of the collection returning the index of the
     first item that isEqual to the argument item.  If no item is found, then
     it returns RW_NPOS.

	      void
	  insert(val item);

     Add the new value item to the end of the collection.

	      void
	  insertAt(size_t indx, val item);

     Add the new value item to the collection at position indx.	 The value of
     indx must be between zero and the length of the collection.  No bounds
     checking is performed.  Old items from index indx upwards will be shifted

									Page 3

RWGOrderedVector(3C++)					RWGOrderedVector(3C++)

     to higher indices.

	      RWBoolean
	  isEmpty() const;

     Returns TRUE if the collection has no entries.  FALSE otherwise.

	      void
	  size_t
	  length() const;

     Synonym for entries().

	      val
	  pop();

     Removes and returns the last item in the vector.

	      void
	  push(val);

     Synonym for insert().

	      removeAt(size_t indx);

     Removes the item at position indx from the collection.  The value of indx
     must be between zero and one less than the length of the collection.  No
     bounds checking is performed.  Old items from index indx+1 will be
     shifted to lower indices.	E.g., the item at index indx+1 will be moved
     to position indx, etc.

	      void
	  resize(size_t newCapacity);

     Change the capacity of the collection to newCapacity, which must be at
     least as large as the present number of items in the collection.  Note
     that the actual number of items in the collection does not change, just
     the capacity.

									Page 4

[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