- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# Graph Class Template Reference

Graph. More...

List of all members.

## 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.
## Public Member Functions
states_t | states () const
| Return states set.
edges_t | edges () const
| Return edges set.
initial_support_t | initial () const
| Initial/final state supports.
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.

## Detailed Description

### template<class K, class WordValue, class WeightValue, class SeriesValue, class Letter, class Tag, class Geometry>
class vcsn::Graph< K, WordValue, WeightValue, SeriesValue, Letter, Tag, Geometry >

Graph.

Definition at line 83 of file graph.hh.

## Member Function Documentation

void del_state | ( | hstate_t | n | ) | `[inline]`

Remove state n.

Precondition:
  n is a state of this graph.

Definition at line 164 of file graph.hxx.

References SparseInterval::begin(), SparseInterval::end(), state_value::input_edges, and state_value::output_edges.

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.

Parameters:

  | s | the state
  | v | its associated label
  | z | the zero for the labels

Note:
  If v == z then state is removed from the set of initial states. Because of this, one cannot simply write

       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);

  because if `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.

void set_final | ( | hstate_t | n,
|  | const series_set_elt_value_t & | v,
|  | const series_set_elt_value_t & | z |
| ) |  |  | `[inline]`

Change whether a state is final or not.

Parameters:

  | s | the state
  | v | its associated label
  | z | the zero for the labels

See also:
  set_initial().

Definition at line 223 of file graph.hxx.