Tag access | |
| typedef Tag | tag_t |
| tag_t & | tag () |
| const tag_t & | tag () const |
Geometry access | |
| typedef Geometry | geometry_t |
| geometry_t & | geometry () |
| const geometry_t & | geometry () const |
Public Types | |
|
typedef Graph< K, WordValue, WeightValue, SeriesValue, Letter, Tag, Geometry > | self_t |
| Self type definition. | |
|
typedef LabelOf< K, WordValue, WeightValue, SeriesValue, Letter >::ret | label_t |
| Typedefs on automaton related graphs elements. | |
| typedef state_value | state_value_t |
| typedef edge_value< label_t > | edge_value_t |
| typedef std::vector< state_value_t > | state_data_t |
| typedef std::vector< edge_value_t > | edge_data_t |
| typedef StateContainer | states_t |
| typedef EdgeContainer | edges_t |
| typedef SeriesValue | series_set_elt_value_t |
|
typedef std::map< hstate_t, series_set_elt_value_t > | initial_t |
|
typedef std::map< hstate_t, series_set_elt_value_t > | final_t |
| typedef misc::Support< initial_t > | initial_support_t |
| typedef misc::Support< final_t > | final_support_t |
Public Member Functions | |
| Graph () | |
| Graph (unsigned initial_number_of_state, unsigned number_of_edge_initially_allocated) | |
| states_t | states () const |
| Return states set. | |
| edges_t | edges () const |
| Return edges set. | |
| initial_support_t | initial () const |
| Initial/final state supports. | |
| final_support_t | final () const |
| self_t & | clone () const |
| FIXME: Not implemented. | |
State's manipulation | |
| bool | has_state (hstate_t n) const |
| hstate_t | add_state () |
| void | del_state (hstate_t n) |
| Remove state n. | |
| void | set_initial (hstate_t s, const series_set_elt_value_t &v, const series_set_elt_value_t &z) |
| Change whether a state is initial or not. | |
| const series_set_elt_value_t & | get_initial (hstate_t, const series_set_elt_value_t &) const |
| void | clear_initial () |
| void | set_final (hstate_t, const series_set_elt_value_t &, const series_set_elt_value_t &) |
| Change whether a state is final or not. | |
| const series_set_elt_value_t & | get_final (hstate_t, const series_set_elt_value_t &) const |
| void | clear_final () |
Edge's manipulation | |
| bool | has_edge (hedge_t n) const |
| hedge_t | add_edge (hstate_t h1, hstate_t h2, const label_t &v) |
| void | del_edge (hedge_t e) |
| hstate_t | src_of (hedge_t e1) const |
| hstate_t | dst_of (hedge_t e2) const |
| const label_t & | label_of (hedge_t n) const |
| void | update (hedge_t, label_t) |
Only automaton related methods | |
| template<class S> | |
| bool | exists (const AutomataBase< S > &s) const |
| Check the consistency of an automata. | |
| template<class OutputIterator, typename Query> | |
| void | delta (OutputIterator res, hstate_t from, const Query &q, delta_kind::states) const |
| Check the consistency of an automata. | |
| template<class OutputIterator, typename Query> | |
| void | delta (OutputIterator res, hstate_t from, const Query &q, delta_kind::edges) const |
| Check the consistency of an automata. | |
| template<class OutputIterator, typename Query> | |
| void | rdelta (OutputIterator res, hstate_t from, const Query &q, delta_kind::states) const |
| Check the consistency of an automata. | |
| template<class OutputIterator, typename Query> | |
| void | rdelta (OutputIterator res, hstate_t from, const Query &q, delta_kind::edges) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | deltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::states, misc::true_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | deltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::states, misc::false_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | deltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::edges, misc::true_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | deltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::edges, misc::false_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | rdeltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::states, misc::true_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | rdeltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::states, misc::false_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | rdeltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::edges, misc::true_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query> | |
| void | rdeltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::edges, misc::false_t) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query, typename DKind> | |
| void | deltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::kind< DKind >) const |
| Check the consistency of an automata. | |
| template<class Functor, typename Query, typename DKind> | |
| void | rdeltaf (Functor &fun, hstate_t from, const Query &q, delta_kind::kind< DKind >) const |
| Check the consistency of an automata. | |
Public Attributes | |
| state_data_t | states_ |
| edge_data_t | edges_ |
| std::set< hstate_t > | removed_states_ |
| std::set< hedge_t > | removed_edges_ |
| tag_t | tag_ |
| final_t | final_ |
| initial_t | initial_ |
Definition at line 83 of file graph.hh.
| void del_state | ( | hstate_t | n | ) | [inline] |
Remove state n.
Definition at line 164 of file graph.hxx.
References SparseInterval::begin(), Graph::del_edge(), SparseInterval::end(), Graph::final_, Graph::has_state(), Graph::initial_, state_value::input_edges, state_value::output_edges, postcondition, precondition, Graph::removed_states_, and Graph::states_.
| void set_initial | ( | hstate_t | s, | |
| const series_set_elt_value_t & | v, | |||
| const series_set_elt_value_t & | z | |||
| ) | [inline] |
Change whether a state is initial or not.
| s | the state | |
| v | its associated label | |
| z | the zero for the labels |
typename automaton_t::series_set_elt_t some_weight = ...; for_all_final_states(f, aut) lhs.set_final(*f, aut.get_final(*f) * some_weight);
some_weight is equal to z, then the state is removed from the set of final states, and invalidates all the iterators: the loop is broken. Definition at line 195 of file graph.hxx.
References Graph::initial_.
| void set_final | ( | hstate_t | , | |
| const series_set_elt_value_t & | , | |||
| const series_set_elt_value_t & | ||||
| ) | [inline] |
Change whether a state is final or not.
| s | the state | |
| v | its associated label | |
| z | the zero for the labels |
Definition at line 223 of file graph.hxx.
References Graph::final_.
1.5.2