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
00066 template <typename S, typename T>
00067 Element<S, T>
00068 compose(const Element<S, T>& lhs,
00069 const Element<S, T>& rhs);
00070
00071
00081 template <typename S, typename T>
00082 void
00083 u_compose(const Element<S, T>& lhs,
00084 const Element<S, T>& rhs,
00085 Element<S, T>& ret);
00086
00095 template <typename S, typename T>
00096 Element<S, T>
00097 u_compose(const Element<S, T>& lhs,
00098 const Element<S, T>& rhs);
00099
00102 }
00103
00104 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00105 # include <vaucanson/algorithms/normalized_composition.hxx>
00106 # endif // VCSN_USE_INTERFACE_ONLY
00107
00108
00109 #endif // ! VCSN_ALGORITHMS_NORMALIZED_COMPOSITION_HH