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 106 of file FSARep.h.


Member Typedef Documentation

Definition at line 110 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 197 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 169 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 186 of file FSARep.h.

References newEdge(), and newState().

Referenced by FSA::addRay().

FSARep* FSARep::clone (  )  const [inline]

Definition at line 131 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 212 of file FSARep.h.

References initStates.

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

Definition at line 200 of file FSARep.h.

References theStates.

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

Definition at line 199 of file FSARep.h.

References theStates.

Referenced by FSA::getStates().

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

Definition at line 213 of file FSARep.h.

References termStates.

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 208 of file FSARep.h.

References initStates.

void FSARep::makeNonInitial ( int  s  )  [inline]

Definition at line 210 of file FSARep.h.

References initStates.

void FSARep::makeNonTerminal ( int  s  )  [inline]

Definition at line 211 of file FSARep.h.

References termStates.

void FSARep::makeTerminal ( int  s  )  [inline]

Definition at line 209 of file FSARep.h.

References termStates.

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

Add a new edge to a FSA.

Referenced by addLoop(), and addRay().

int FSARep::newState (  ) 

Add a new state to a FSA.

Referenced by addLoop(), and addRay().

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 108 of file FSARep.h.


Member Data Documentation

set< int > FSARep::initStates [private]

Definition at line 230 of file FSARep.h.

Referenced by getInitStates(), makeInitial(), and makeNonInitial().

int FSARep::maxState [private]

Definition at line 228 of file FSARep.h.

set< int > FSARep::termStates [private]

Definition at line 232 of file FSARep.h.

Referenced by getTermStates(), makeNonTerminal(), and makeTerminal().

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

Definition at line 225 of file FSARep.h.

Referenced by getStates().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Sep 26 18:43:47 2011 for CRyptography And Groups (CRAG) by  doxygen 1.6.1