Claw  1.7.3
Public Types | Public Member Functions | List of all members
claw::automaton< State, Edge, StateComp, EdgeComp > Class Template Reference

Basic automaton structure. More...

#include <automaton.hpp>

Public Types

typedef State state_type
 The type of the states.
 
typedef Edge edge_type
 The type of the symbols on the edges.
 
typedef StateComp state_compare
 The type of the operator used to compare states.
 
typedef EdgeComp edge_compare
 The type of the operator used to compare edge symbols.
 
typedef std::multimap
< edge_type, state_type,
edge_compare
neighbours_list
 The neighbours list associates states to edge symbols.
 
typedef std::map< state_type,
neighbours_list, state_compare
adjacent_list
 Each state is given a set of reachable states with a neighbours list.
 
typedef std::vector< state_typeresult_state_list
 The return type of the methods returning states.
 
typedef std::vector< edge_typeresult_edge_list
 The return type of the methods returning edges.
 

Public Member Functions

void add_edge (const state_type &s1, const state_type &s2, const edge_type &e)
 
void remove_edge (const state_type &s1, const state_type &s2, const edge_type &e)
 
void add_state (const state_type &s)
 
void add_initial_state (const state_type &s)
 
void add_final_state (const state_type &s)
 
bool state_exists (const state_type &s) const
 
bool state_is_final (const state_type &s) const
 
bool state_is_initial (const state_type &s) const
 
void states (result_state_list &v) const
 
void final_states (result_state_list &v) const
 
void initial_states (result_state_list &v) const
 
void alphabet (result_edge_list &v) const
 
template<class InputIterator >
bool match (InputIterator first, InputIterator last) const
 
unsigned int states_count () const
 
void reachables (const state_type &s, const edge_type &e, result_state_list &l) const
 
void reachables (const state_type &s, result_state_list &l) const
 
void edges (const state_type &s1, const state_type &s2, result_edge_list &l) const
 
void edges (const state_type &s1, const edge_type &edge, result_edge_list &l) const
 

Detailed Description

template<class State, class Edge, class StateComp = std::less<State>, class EdgeComp = std::less<Edge>>
class claw::automaton< State, Edge, StateComp, EdgeComp >

Basic automaton structure.

An automaton is a quintuplet (A, E, I ,F, T) where

Template parameters

Definition at line 57 of file automaton.hpp.


The documentation for this class was generated from the following file: