Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

Core::CharacterArray Class Reference

CharacterArray is string implementor which stores pure Characters in an Array. More...

#include <CharacterArray.h>

Inheritance diagram for Core::CharacterArray:

Inheritance graph
[legend]
Collaboration diagram for Core::CharacterArray:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CharacterArray (int size)
virtual ~CharacterArray (void)
virtual StringclassName (void) const
 Answer receiver class name.
virtual Characterat (int index) const
virtual void put (int index, Character *object)
virtual int byteSize (void)
virtual long size (void) const
virtual void changeSize (long newSize)
virtual bool isEqual (StringImpl *object)
virtual bool isEqualToBytes (unsigned char *object)
virtual bool isEqualToShorts (unsigned short *object)
virtual CharacterArrayasCharacterArray (void)
virtual bool isCharacterArray (void) const

Protected Attributes

Arraycontent

Detailed Description

CharacterArray is string implementor which stores pure Characters in an Array.

This is the bulkiest implementor.

It is really poor in functionality so use String instead.

Definition at line 40 of file CharacterArray.h.


Constructor & Destructor Documentation

CharacterArray::CharacterArray int  size  ) 
 

Definition at line 31 of file CharacterArray.cc.

References content.

00032 {
00033     content = new Array(size);
00034 }

CharacterArray::~CharacterArray void   )  [virtual]
 

Definition at line 36 of file CharacterArray.cc.

References content.

00037 {
00038     delete content;
00039 }


Member Function Documentation

CharacterArray * CharacterArray::asCharacterArray void   )  [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 103 of file CharacterArray.cc.

00104 {
00105     return this;
00106 }

Character * CharacterArray::at int  index  )  const [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 48 of file CharacterArray.cc.

References Core::Array::at(), and content.

00049 {
00050     return dynamic_cast<Character *>(content->at(index));
00051 }

int CharacterArray::byteSize void   )  [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 58 of file CharacterArray.cc.

00059 {
00060     return 4;
00061 }

void CharacterArray::changeSize long  newSize  )  [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 69 of file CharacterArray.cc.

References Core::Array::changeSize(), and content.

00070 {
00071     content->changeSize(newSize);
00072 }

String * CharacterArray::className void   )  const [virtual]
 

Answer receiver class name.

Because there isn't any standard way to obtain class name this method comes to place.

Every class should rewrite this method but many didn't (yet).

Reimplemented from Core::Object.

Definition at line 42 of file CharacterArray.cc.

00043 {
00044     return new String("CharacterArray");
00045 }

bool CharacterArray::isCharacterArray void   )  const [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 109 of file CharacterArray.cc.

00110 {
00111     return true;
00112 }

bool CharacterArray::isEqual StringImpl object  )  [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 75 of file CharacterArray.cc.

References size().

00076 {
00077     for (int i = 0; i < size(); i++) {
00078         if (!this->at(i)->isEqual(string->at(i)))
00079             return false;
00080     }
00081     return true;
00082 }

bool CharacterArray::isEqualToBytes unsigned char *  object  )  [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 84 of file CharacterArray.cc.

References size().

00085 {
00086     for (int i = 0; i < size(); i++) {
00087         if (this->at(i)->asInteger() != string[i])
00088             return false;
00089     }
00090     return true;
00091 }

bool CharacterArray::isEqualToShorts unsigned short *  object  )  [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 93 of file CharacterArray.cc.

References size().

00094 {
00095     for (int i = 0; i < size(); i++) {
00096         if (this->at(i)->asInteger() != string[i])
00097             return false;
00098     }
00099     return true;
00100 }

void CharacterArray::put int  index,
Character object
[virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 53 of file CharacterArray.cc.

References content, and Core::Array::put().

Referenced by Core::StringImpl::asCharacterArray().

00054 {
00055     content->put(index, object);
00056 }

long CharacterArray::size void   )  const [virtual]
 

Reimplemented from Core::StringImpl.

Definition at line 63 of file CharacterArray.cc.

References content, and Core::Array::size().

Referenced by isEqual(), isEqualToBytes(), and isEqualToShorts().

00064 {
00065     return content->size();
00066 }


Member Data Documentation

Array* Core::CharacterArray::content [protected]
 

Definition at line 43 of file CharacterArray.h.

Referenced by at(), changeSize(), CharacterArray(), put(), size(), and ~CharacterArray().


The documentation for this class was generated from the following files:
Generated on Mon Nov 27 09:51:15 2006 for Smalltalk like C++ Class Library by  doxygen 1.4.2