Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_SUB_NORMALIZE_HH
00018 # define VCSN_ALGORITHMS_SUB_NORMALIZE_HH
00019
00020
00035
00036
00037
00038
00039 # include <vaucanson/algebra/concept/freemonoid_product.hh>
00040 # include <vaucanson/automata/concept/copy.hh>
00041 # include <vaucanson/algorithms/cut_up.hh>
00042 # include <vector>
00043
00044 namespace vcsn
00045 {
00046
00056 template <class S, class T>
00057 Element<S, T>
00058 sub_normalize(const Element<S, T>& a);
00059
00067 template <class S, class T1, class T2>
00068 void
00069 sub_normalize(const Element<S, T1>& a, Element<S, T2>& res);
00070
00071
00077 template <class S, class T>
00078 void
00079 sub_normalize_here(Element<S, T>& a);
00080
00081
00089 template <class S, class T>
00090 bool is_sub_normalized(const Element<S, T>& a);
00091
00094 }
00095
00096 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00097 # include <vaucanson/algorithms/sub_normalize.hxx>
00098 # endif // VCSN_USE_INTERFACE_ONLY
00099
00100 #endif // ! VCSN_ALGORITHMS_SUB_NORMALIZE_HH