| Class Specialization Automaton An Automaton has directed edges, labeled with input symbols, and a distinct start state, called root. The input symbols require the use of a third parameter: The alphabet of the input symbols.
An automaton, where 0 is the start state.
Graph
Automaton
Word Graph
Graph<Automaton<TAlphabet, TCargo, TSpec> > Parameters
TAlphabet | The alphabet type that is used for the transition labels. Metafunctions: Alphabet Default: char Remarks: Use Alphabet to get the type of the labels in an automaton.
TCargo | The cargo type that can be attached to the edges. Metafunctions: Cargo Default: void Remarks: Use Cargo to get the cargo type of an undirected graph.
TSpec | The specializing type for the graph. Metafunctions: Spec Default: Default, see Default. Remarks: Use WithoutEdgeId here to omit edge ids. Note: If edges do not store ids external property maps do not work.
Specialization of Graph Specializations
Word Graph | A special automaton that stores words instead of single characters along its edges.
Metafunctions
Alphabet | Access to the Alphabet type. (Graph)
Cargo | Type of additional data stored in an object. (Graph)
EdgeDescriptor | Type of an object that represents an edge descriptor. (Graph)
EdgeIdHandler | Type of an object that represents an Id Manager. (Graph)
EdgeType | Edge type of a graph object. (Graph)
Host | Type of the object a given object depends on. (Graph)
Iterator | Type of iterator objects that are used to traverse the container. (Graph)
Spec | The spec of a class. (Graph)
VertexDescriptor | Type of an object that represents a vertex descriptor. (Graph)
Functions
addEdge | Adds a new edge to the graph, either with or without cargo. (Graph)
addEdges | Shortcut to add multiple edges at once. Creates vertices implicitly. (Graph)
addVertex | Adds a new vertex to the graph. (Graph)
assignRoot | Assigns a new root vertex to the graph.
canParseString | Test whether an automaton can parse a string completely.
clear | Resets an object. (Graph)
clearEdges | Removes all edges in a graph. (Graph)
clearVertices | Removes all vertices in a graph. (Graph)
createRoot | Creates the root in a tree or an automaton.
degree | Number of incident edges for a given vertex. (Graph)
empty | Test a container for being empty. (Graph)
findEdge | Finds an edge. (Graph)
getAdjacencyMatrix | Returns an adjacency matrix representation of the graph. (Graph)
getRoot | Get method for the root of a tree or an automaton.
getSuccessor | Gets the successor for a given vertex and an edge label. For an automaton a single character is required whereas for a word graph getSuccessor takes a string.
inDegree | Number of incoming edges for a given vertex. (Graph)
isRoot | Tests whether a given vertex is the root or not.
numEdges | Number of edges in a graph. (Graph)
numVertices | Number of vertices in a graph. (Graph)
outDegree | Number of outgoing edges for a given vertex. (Graph)
parseString | Parses a string one character at a time and moves accordingly in the automaton.
removeEdge | Removes an edge from the graph. For automatons a label is required. (Graph)
removeInEdges | Removes the incoming edges of a given vertex. (Graph)
removeOutEdges | Removes the outgoing edges of a given vertex. (Graph)
removeVertex | Removes a vertex. (Graph)
resizeEdgeMap | Initializes an edge map (Graph)
resizeVertexMap | Initializes a vertex map. (Graph)
root | Gets a reference to the root of the tree.
sourceVertex | Returns the source vertex of an edge. (Graph)
targetVertex | Returns the target vertex of an edge. (Graph)
transpose | Transposes a graph, either in-place or from source to dest. (Graph)
Example Programs All Pairs Shortest Path, Bellman-Ford Algorithm, Breadth-First Search, Depth-First Search, Dijkstras Algorithm, Floyd-Warshall Algorithm, Heaviest Increasing Subsequence, HMM, HMM Silent States, Kruskals Algorithm, Longest Common Subsequence, Longest Increasing Subsequence, Maximum Flow, Prims Algorithm, Shortest Path in DAGs, Strongly Connected Components, Topological Sort, Transitive Closure SeqAn - Sequence Analysis Library - www.seqan.de