Vaucanson  1.4.1
accessible.hh
Go to the documentation of this file.
1 // accessible.hh: this file is part of the Vaucanson project.
2 //
3 // Vaucanson, a generic library for finite state machines.
4 //
5 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2008 The Vaucanson Group.
6 //
7 // This program is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License
9 // as published by the Free Software Foundation; either version 2
10 // of the License, or (at your option) any later version.
11 //
12 // The complete GNU General Public Licence Notice can be found as the
13 // `COPYING' file in the root directory.
14 //
15 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
16 //
17 #ifndef VCSN_ALGORITHMS_ACCESSIBLE_HH
18 # define VCSN_ALGORITHMS_ACCESSIBLE_HH
19 
34 // INTERFACE: HList accessible_states(const Automaton& a) { return list_of_set(vcsn::accessible_states(*a)); }
35 
36 // INTERFACE: Automaton accessible(const Automaton& a) { return vcsn::accessible(*a); }
37 
38 // INTERFACE: void accessible_here(Automaton& a) { return vcsn::accessible_here(*a); }
39 
40 // INTERFACE: HList coaccessible_states(const Automaton& a) { return list_of_set(vcsn::coaccessible_states(*a)); }
41 
42 // INTERFACE: Automaton coaccessible(const Automaton& a) { return vcsn::coaccessible(*a); }
43 
44 // INTERFACE: void coaccessible_here(Automaton& a) { return vcsn::coaccessible_here(*a); }
45 
46 # include <vaucanson/design_pattern/design_pattern.hh>
47 # include <vaucanson/automata/concept/automata.hh>
48 
49 # include <set>
50 
51 namespace vcsn {
52 
64  template<typename A, typename AI>
65  std::set<typename Element<A, AI>::hstate_t>
66  accessible_states(const Element<A, AI>& a);
67 
79  template<typename A, typename AI>
80  Element<A, AI>
81  accessible(const Element<A, AI>& a);
82 
95  template<typename A, typename AI>
96  void
97  accessible_here(Element<A, AI>& a);
98 
109  template<typename A, typename AI>
110  std::set<typename Element<A, AI>::hstate_t>
111  coaccessible_states(const Element<A, AI>& a);
112 
125  template<typename A, typename AI>
126  Element<A, AI>
127  coaccessible(const Element<A, AI>& a);
128 
141  template<typename A, typename AI>
142  void
143  coaccessible_here(Element<A, AI>& a);
144 
147 } // vcsn
148 
149 
150 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
151 # include <vaucanson/algorithms/accessible.hxx>
152 # endif // VCSN_USE_INTERFACE_ONLY
153 
154 
155 #endif // ! VCSN_ALGORITHMS_ACCESSIBLE_HH