00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_CUT_UP_HH
00018 # define VCSN_ALGORITHMS_CUT_UP_HH
00019
00028
00029
00030
00031
00032
00033 # include <vaucanson/automata/concept/copy.hh>
00034 # include <vaucanson/algebra/implementation/series/rat/nodes.hh>
00035 # include <vaucanson/algebra/implementation/series/generalized.hh>
00036 # include <vaucanson/algorithms/standard_of.hh>
00037
00038 namespace vcsn
00039 {
00040
00048 template <typename A, typename AI>
00049 bool is_cut_up(const Element<A, AI>& a);
00050
00051
00065 template <typename A, typename AI>
00066 Element<A, AI>
00067 cut_up(const Element<A, AI>& a);
00068
00069
00083 template <typename A, typename AI>
00084 void
00085 cut_up(const Element<A, AI>& a, Element<A, AI>& res);
00086
00087
00100 template <typename A, typename AI>
00101 void
00102 cut_up_here(Element<A, AI>& a);
00103
00104
00105 }
00106
00107
00108 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00109 # include <vaucanson/algorithms/cut_up.hxx>
00110 # endif // VCSN_USE_INTERFACE_ONLY
00111
00112
00113 #endif // ! VCSN_ALGORITHMS_CUT_UP_HH