00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_ACCESSIBLE_HH
00018 # define VCSN_ALGORITHMS_ACCESSIBLE_HH
00019
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046 # include <vaucanson/design_pattern/design_pattern.hh>
00047 # include <vaucanson/automata/concept/automata.hh>
00048
00049 # include <set>
00050
00051 namespace vcsn {
00052
00064 template<typename A, typename AI>
00065 std::set<typename Element<A, AI>::hstate_t>
00066 accessible_states(const Element<A, AI>& a);
00067
00079 template<typename A, typename AI>
00080 Element<A, AI>
00081 accessible(const Element<A, AI>& a);
00082
00095 template<typename A, typename AI>
00096 void
00097 accessible_here(Element<A, AI>& a);
00098
00109 template<typename A, typename AI>
00110 std::set<typename Element<A, AI>::hstate_t>
00111 coaccessible_states(const Element<A, AI>& a);
00112
00125 template<typename A, typename AI>
00126 Element<A, AI>
00127 coaccessible(const Element<A, AI>& a);
00128
00141 template<typename A, typename AI>
00142 void
00143 coaccessible_here(Element<A, AI>& a);
00144
00147 }
00148
00149
00150 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00151 # include <vaucanson/algorithms/accessible.hxx>
00152 # endif // VCSN_USE_INTERFACE_ONLY
00153
00154
00155 #endif // ! VCSN_ALGORITHMS_ACCESSIBLE_HH