00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_PROJECTION_HH
00018 # define VCSN_ALGORITHMS_PROJECTION_HH
00019
00030 # include <vaucanson/automata/concept/transducer.hh>
00031
00032 namespace vcsn {
00033
00036 template <typename auto_t, typename trans_t>
00037 void
00038 set_states(const trans_t&, auto_t&,
00039 std::map<hstate_t, hstate_t>&);
00040
00041
00042
00043
00044
00045
00046
00047 template <typename S, typename S2, typename T, typename T2>
00048 void
00049 identity(const Element<S,T>& aut, Element<S2, T2>& res);
00050
00051 template <typename S, typename S2, typename T, typename T2>
00052 Element<S2, T2>
00053 identity(const Element<S,T>& aut);
00054
00056 }
00057
00058 # include <vaucanson/algorithms/image.hh>
00059 # include <vaucanson/algorithms/domain.hh>
00060
00061 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00062 # include <vaucanson/algorithms/projection.hxx>
00063 # endif // VCSN_USE_INTERFACE_ONLY
00064
00065 #endif // ! VCSN_ALGORITHMS_PROJECTION_HH