Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

strmod::strmod::GroupChunk Class Reference

A StrChunk that consists of a concatentation of other StrChunks. More...

#include <StrMod/GroupChunk.h>

Inheritance diagram for strmod::strmod::GroupChunk:

Inheritance graph
[legend]
List of all members.

Public Methods

 GroupChunk ()
 Construct an empty GroupChunk.

virtual ~GroupChunk ()
 Dereferences all direct children.

virtual int AreYouA (const lcore::ClassIdent &cid) const
 Asks if a class is of a particular type, or publicly derived from that type.

virtual unsigned int Length () const
 Number of octets this chunk takes up. May be deprecated.

void push_back (const StrChunkPtr &chnk)
 Concatenate a StrChunk to the end of the GroupChunk.

void push_front (const StrChunkPtr &chnk)
 Prepend a StrChunk to this GroupChunk.


Static Public Attributes

const STR_ClassIdent identifier
 A unique identifier for this class.


Protected Methods

virtual const lcore::ClassIdent * i_GetIdent () const
 See class Protocol.

virtual void acceptVisitor (ChunkVisitor &visitor) throw (ChunkVisitor::halt_visitation)
 Accept a ChunkVisitor, and maybe lead it through your children.


Detailed Description

A StrChunk that consists of a concatentation of other StrChunks.

GroupChunks are used to concatenate together a bunch of StrChunks without having to move any of their memory. To the outside, a GroupChunk appears as a single, contiguous StrChunk, but internally it is composed of a list of pointers to it's subsidiary StrChunks.

This class plays the role of Composite in the Composite pattern.

Definition at line 53 of file GroupChunk.h.


Member Function Documentation

int strmod::strmod::GroupChunk::AreYouA const lcore::ClassIdent &    cid const [inline, virtual]
 

Asks if a class is of a particular type, or publicly derived from that type.

Overriden in every derived class (with a static identifier member) to compare against the identifier, then call the AreYouA methods of all the superclasses.

Parameters:
cid Usually <class>::identifier for the class you want to ask if the object is an instance of.

Reimplemented from strmod::strmod::StrChunk.

Definition at line 90 of file GroupChunk.h.


The documentation for this class was generated from the following files:
Generated on Wed Jan 29 00:32:53 2003 for libNet by doxygen1.3-rc1