cBag Class Reference
[Container classes]

#include <carray.h>

Inheritance diagram for cBag:

cObject cPolymorphic List of all members.

Detailed Description

Use of this class is DISCOURAGED, it is provided for backward compatibility only.

Use std::vector instead.

Container class to hold small non-class items (int, double, etc). cBag stores full copy of each item inserted and NOT the pointer.

cBag is a container class which is designed to hold non-cObject items without constructors/destructors (ints, doubles, small structs etc.). cBag stores full, bit-by-bit copies of the items inserted (and not the pointers). cBag works as an array, but if it gets full, it grows automatically by a specified delta.


Public Member Functions

Constructors, destructor, assignment.
 cBag (const cBag &bag)
 cBag (const char *name=NULL, int esiz=4, int siz=0, int delt=5)
virtual ~cBag ()
cBagoperator= (const cBag &bag)
Redefined cObject member functions
virtual cPolymorphicdup () const
virtual std::string info () const
virtual void netPack (cCommBuffer *buffer)
virtual void netUnpack (cCommBuffer *buffer)
Container functions.
void setup (int esiz, int siz, int delt=5)
void clear ()
int items () const
int add (void *obj)
int addAt (int m, void *obj)
int find (void *obj) const
void * get (int m)
const void * get (int m) const
void * operator[] (int m)
const void * operator[] (int m) const
bool isUsed (int m) const
void * remove (int m)


Constructor & Destructor Documentation

cBag::cBag const cBag bag  ) 
 

Copy constructor.

cBag::cBag const char *  name = NULL,
int  esiz = 4,
int  siz = 0,
int  delt = 5
[explicit]
 

Constructor.

Parameters are: name, the size of elements in bytes, the initial size of the container and the delta (by which the size will grow if it gets full).

virtual cBag::~cBag  )  [inline, virtual]
 

Destructor.

The items in the object will be deleted.


Member Function Documentation

int cBag::add void *  obj  ) 
 

Inserts a new item into the array.

A copy will be made of the item pointed to by data. The return value is the item's index in the array.

int cBag::addAt int  m,
void *  obj
 

Inserts a new item into the array at the given position.

void cBag::clear  ) 
 

Clears the whole contents of the cBag.

virtual cPolymorphic* cBag::dup  )  const [inline, virtual]
 

Creates and returns an exact copy of this object.

See cObject for more details.

Reimplemented from cObject.

int cBag::find void *  obj  )  const
 

Returns the index of the first item in the array that equals the item pointed to by obj.

The comparison is done byte-by-byte. If no such item was found, -1 is returned.

const void* cBag::get int  m  )  const
 

Returns a pointer to the mth item in the array or NULL if the mth position is not used.

void* cBag::get int  m  ) 
 

Returns a pointer to the mth item in the array or NULL if the mth position is not used.

virtual std::string cBag::info  )  const [virtual]
 

Produces a one-line description of object contents into the buffer passed as argument.

See cObject for more details.

Reimplemented from cPolymorphic.

bool cBag::isUsed int  m  )  const
 

Returns true if the mth position exists and an item was inserted there.

int cBag::items  )  const [inline]
 

Returns the index of last used position+1.

This is the same as the number of contained objects if there are no 'holes' in the array. (Removals may create holes.)

virtual void cBag::netPack cCommBuffer buffer  )  [virtual]
 

Serializes the object into a PVM or MPI send buffer.

Used by the simulation kernel for parallel execution. See cObject for more details.

Reimplemented from cObject.

virtual void cBag::netUnpack cCommBuffer buffer  )  [virtual]
 

Deserializes the object from a PVM or MPI receive buffer Used by the simulation kernel for parallel execution.

See cObject for more details.

Reimplemented from cObject.

cBag& cBag::operator= const cBag bag  ) 
 

Assignment operator.

The name member doesn't get copied; see cObject's operator=() for more details. Duplication and assignment work all right with cBag.

const void* cBag::operator[] int  m  )  const [inline]
 

The same as get(int m).

With the indexing operator, cBag can be used as a vector.

void* cBag::operator[] int  m  )  [inline]
 

The same as get(int m).

With the indexing operator, cBag can be used as a vector.

void* cBag::remove int  m  ) 
 

Marks the mth position as free and returns pointer to corresponding item.

Should be used with care as subsequent add() calls may overwrite the data at that position.

void cBag::setup int  esiz,
int  siz,
int  delt = 5
 

Clears the current contents and changes element size, initial array size and delta parameters.


The documentation for this class was generated from the following file:
Generated on Sat Oct 21 17:47:56 2006 for OMNeT++/OMNEST Simulation Library by  doxygen 1.4.6