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

FSMEdge Class Reference

#include <FSM.hpp>

List of all members.

Public Methods

void * operator new (size_t size, MemStreamer *mem)
void operator delete (void *ptr)
 FSMEdge ()
 FSMEdge (FSMState *tostate, TLabelID mylabel)
 FSMEdge (FSMState *tostate)
 FSMEdge (FSMState *tostate, FSMLabel *mylabels)
unsigned GetType ()
FSMStateGetNextState ()
FSMLabelGetLabelList ()
FSMLabel ** GetLabelListRef ()
TLabelID GetLabelID ()
char DoesMatchLabel (TLabelID labelid)

Public Attributes

FSMEdge * next


Constructor & Destructor Documentation

FSMEdge::FSMEdge   [inline]
 

Definition at line 201 of file FSM.hpp.

00201 {}

FSMEdge::FSMEdge FSMState   tostate,
TLabelID    mylabelid
[inline]
 

Definition at line 112 of file FSM.cpp.

00113 {
00114    type=EDGETYPE_LABEL;
00115    nextstate=tostate;
00116    labelid=mylabelid;
00117 }

FSMEdge::FSMEdge FSMState   tostate [inline]
 

Definition at line 106 of file FSM.cpp.

00107 {
00108    type=EDGETYPE_EMPTY;
00109    nextstate=tostate;
00110 }

FSMEdge::FSMEdge FSMState   tostate,
FSMLabel   mylabels
[inline]
 

Definition at line 119 of file FSM.cpp.

00120 {
00121    type=EDGETYPE_NEGLABELLIST;
00122    nextstate=tostate;
00123    labellist=mylabels;
00124 }


Member Function Documentation

char FSMEdge::DoesMatchLabel TLabelID    mylabelid [inline]
 

Definition at line 126 of file FSM.cpp.

00128 {
00129    if(labelid==LABEL_UNDEFINED)  // This means it matches everything
00130       return type==EDGETYPE_NEGLABELLIST;
00131 
00132    switch(type)
00133    {
00134    case EDGETYPE_LABEL:       return labelid==mylabelid;
00135    case EDGETYPE_NEGLABELLIST:return !IsInLabelList(labellist,mylabelid);
00136    case EDGETYPE_EMPTY:       return 0;
00137    }
00138    return 0;
00139 }

TLabelID FSMEdge::GetLabelID   [inline]
 

Definition at line 211 of file FSM.hpp.

00211 {  return labelid; }

FSMLabel* FSMEdge::GetLabelList   [inline]
 

Definition at line 209 of file FSM.hpp.

00209 {  return labellist; }

FSMLabel** FSMEdge::GetLabelListRef   [inline]
 

Definition at line 210 of file FSM.hpp.

00210 {  return &labellist; }

FSMState* FSMEdge::GetNextState   [inline]
 

Definition at line 208 of file FSM.hpp.

00208 {  return nextstate; }

unsigned FSMEdge::GetType   [inline]
 

Definition at line 207 of file FSM.hpp.

00207 {  return type;   }

void FSMEdge::operator delete void *    ptr [inline]
 

Definition at line 196 of file FSM.hpp.

00196 {}

void * FSMEdge::operator new size_t    size,
MemStreamer   mem
[inline]
 

Definition at line 59 of file FSM.cpp.

00060 {
00061    return mem->GetByteBlock(size);
00062 }


Member Data Documentation

FSMEdge* FSMEdge::next
 

Definition at line 193 of file FSM.hpp.


The documentation for this class was generated from the following files:
Generated on Sat Oct 13 16:08:53 2001 for XMILL by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001