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 # include <vaucanson/automata/concept/copy.hh>
00029 # include <vaucanson/algebra/implementation/series/rat/nodes.hh>
00030 # include <vaucanson/algebra/implementation/series/generalized.hh>
00031 # include <vaucanson/algorithms/standard_of.hh>
00032
00033 namespace vcsn
00034 {
00035
00043 template <typename A, typename AI>
00044 bool is_cut_up(const Element<A, AI>& a);
00045
00046
00060 template <typename A, typename AI>
00061 Element<A, AI>
00062 cut_up(const Element<A, AI>& a);
00063
00064
00078 template <typename A, typename AI>
00079 void
00080 cut_up(const Element<A, AI>& a, Element<A, AI>& res);
00081
00082
00095 template <typename A, typename AI>
00096 void
00097 cut_up_here(Element<A, AI>& a);
00098
00099
00100 }
00101
00102
00103 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00104 # include <vaucanson/algorithms/cut_up.hxx>
00105 # endif // VCSN_USE_INTERFACE_ONLY
00106
00107
00108 #endif // ! VCSN_ALGORITHMS_CUT_UP_HH