FSARep Class Reference

#include <FSARep.h>

Inheritance diagram for FSARep:

RefCounter List of all members.

Public Member Functions

FSARepclone () const
void fold (const set< int > *candidates=NULL, list< FoldDetails > *details=NULL)
 Fold a FSA. Outputs details of the fold, that will allow to unfold latter. Argument candidates is a list of vertices to check for fold (all others won't be checked). If candidates=NULL then all vertices will be checked.
void pinch (int state1, int state2)
 Pinch two vertices.
void unfold (const list< FoldDetails > &details)
 Unfold 2 vertices using details of the previous fold.
void liftup (const list< FoldDetails > &details, list< FSAEdge > &path, int init_state)
 Function allows to lift a path in the folded FSA up to unfolded one.
int newState ()
 Add a new state to a FSA.
void eraseState (int state)
 Erase a state from a FSA.
void newEdge (int state1, int state2, int label)
 Add a new edge to a FSA.
void eraseEdge (int state1, int state2, int label)
 Erase an edge from a FSA.
template<class ConstIntIterator>
void addLoop (int vert, ConstIntIterator F, ConstIntIterator L)
 Add a loop to a FSA at a vertex vert labelled with [F,L).
template<class ConstIntIterator>
void addRay (int vert, ConstIntIterator F, ConstIntIterator L)
 Add a ray to a FSA at a vertex vert labelled with [F,L).
void addFSA (int vert1, int vert2, const FSARep &fsa)
 not implemented yet
const map< int, FSAState > & getStates () const
map< int, FSAState > & getStates ()
void makeInitial (int s)
void makeTerminal (int s)
void makeNonInitial (int s)
void makeNonTerminal (int s)
const set< int > & getInitStates () const
const set< int > & getTermStates () const

Private Types

typedef FSAState::edge_type edge_type

Private Member Functions

 FSARep ()

Private Attributes

map< int, FSAStatetheStates
int maxState
set< int > initStates
set< int > termStates

Friends

class FSA

Detailed Description

Definition at line 104 of file FSARep.h.


Member Typedef Documentation

typedef FSAState::edge_type FSARep::edge_type [private]
 

Definition at line 108 of file FSARep.h.


Constructor & Destructor Documentation

FSARep::FSARep  )  [private]
 

Referenced by clone().


Member Function Documentation

void FSARep::addFSA int  vert1,
int  vert2,
const FSARep fsa
[inline]
 

not implemented yet

Definition at line 195 of file FSARep.h.

Referenced by FSA::addFSA().

template<class ConstIntIterator>
void FSARep::addLoop int  vert,
ConstIntIterator  F,
ConstIntIterator  L
[inline]
 

Add a loop to a FSA at a vertex vert labelled with [F,L).

Definition at line 167 of file FSARep.h.

References newEdge(), and newState().

Referenced by FSA::addLoop().

template<class ConstIntIterator>
void FSARep::addRay int  vert,
ConstIntIterator  F,
ConstIntIterator  L
[inline]
 

Add a ray to a FSA at a vertex vert labelled with [F,L).

Definition at line 184 of file FSARep.h.

References FSA::newEdge(), and FSA::newState().

Referenced by FSA::addRay().

FSARep* FSARep::clone  )  const [inline]
 

Definition at line 129 of file FSARep.h.

References FSARep().

void FSARep::eraseEdge int  state1,
int  state2,
int  label
 

Erase an edge from a FSA.

void FSARep::eraseState int  state  ) 
 

Erase a state from a FSA.

void FSARep::fold const set< int > *  candidates = NULL,
list< FoldDetails > *  details = NULL
 

Fold a FSA. Outputs details of the fold, that will allow to unfold latter. Argument candidates is a list of vertices to check for fold (all others won't be checked). If candidates=NULL then all vertices will be checked.

const set< int >& FSARep::getInitStates  )  const [inline]
 

Definition at line 210 of file FSARep.h.

map< int , FSAState >& FSARep::getStates  )  [inline]
 

Definition at line 198 of file FSARep.h.

const map< int , FSAState >& FSARep::getStates  )  const [inline]
 

Definition at line 197 of file FSARep.h.

Referenced by FSA::getStates().

const set< int >& FSARep::getTermStates  )  const [inline]
 

Definition at line 211 of file FSARep.h.

void FSARep::liftup const list< FoldDetails > &  details,
list< FSAEdge > &  path,
int  init_state
 

Function allows to lift a path in the folded FSA up to unfolded one.

void FSARep::makeInitial int  s  )  [inline]
 

Definition at line 206 of file FSARep.h.

void FSARep::makeNonInitial int  s  )  [inline]
 

Definition at line 208 of file FSARep.h.

void FSARep::makeNonTerminal int  s  )  [inline]
 

Definition at line 209 of file FSARep.h.

void FSARep::makeTerminal int  s  )  [inline]
 

Definition at line 207 of file FSARep.h.

void FSARep::newEdge int  state1,
int  state2,
int  label
 

Add a new edge to a FSA.

Referenced by addLoop().

int FSARep::newState  ) 
 

Add a new state to a FSA.

Referenced by addLoop().

void FSARep::pinch int  state1,
int  state2
 

Pinch two vertices.

void FSARep::unfold const list< FoldDetails > &  details  ) 
 

Unfold 2 vertices using details of the previous fold.


Friends And Related Function Documentation

friend class FSA [friend]
 

Definition at line 106 of file FSARep.h.


Member Data Documentation

set< int > FSARep::initStates [private]
 

Definition at line 228 of file FSARep.h.

int FSARep::maxState [private]
 

Definition at line 226 of file FSARep.h.

set< int > FSARep::termStates [private]
 

Definition at line 230 of file FSARep.h.

map< int , FSAState > FSARep::theStates [private]
 

Definition at line 223 of file FSARep.h.


The documentation for this class was generated from the following file:
Generated on Sun Dec 3 10:58:59 2006 for CRyptography And Groups (CRAG) by  doxygen 1.4.6