00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_NORMALIZED_COMPOSITION_HH
00018 # define VCSN_ALGORITHMS_NORMALIZED_COMPOSITION_HH
00019
00020 # include <vaucanson/automata/concept/automata_base.hh>
00021
00036 namespace vcsn {
00037
00050 template <typename S, typename T>
00051 void
00052 compose(const Element<S, T>& lhs,
00053 const Element<S, T>& rhs,
00054 Element<S, T>& ret);
00055
00056
00057
00067 template <typename S, typename T>
00068 Element<S, T>
00069 compose(const Element<S, T>& lhs,
00070 const Element<S, T>& rhs);
00071
00072
00082 template <typename S, typename T>
00083 void
00084 u_compose(const Element<S, T>& lhs,
00085 const Element<S, T>& rhs,
00086 Element<S, T>& ret);
00087
00097 template <typename S, typename T>
00098 Element<S, T>
00099 u_compose(const Element<S, T>& lhs,
00100 const Element<S, T>& rhs);
00101
00104 }
00105
00106 # ifndef VCSN_USE_INTERFACE_ONLY
00107 # include <vaucanson/algorithms/normalized_composition.hxx>
00108 # endif // VCSN_USE_INTERFACE_ONLY
00109
00110
00111 #endif // ! VCSN_ALGORITHMS_NORMALIZED_COMPOSITION_HH