Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_ALGORITHMS_IMAGE_HH
00019 # define VCSN_ALGORITHMS_IMAGE_HH
00020
00031
00032
00033 # include <map>
00034
00035 # include <vaucanson/automata/concept/transducer.hh>
00036 # include <vaucanson/automata/concept/automata.hh>
00037 # include <vaucanson/algebra/concept/freemonoid_product.hh>
00038
00039 # include <vaucanson/algebra/implementation/monoid/free_monoid.hh>
00040 # include <vaucanson/algebra/implementation/series/series.hh>
00041
00042 # include <vaucanson/algorithms/projection.hh>
00043
00044 namespace vcsn
00045 {
00046
00047 template <typename S, typename T>
00048 void
00049 image(const Element<S, T>& aut,
00050 typename output_projection_helper<S, T>::ret& res,
00051 bool weighted = true);
00052
00053 template <class S, class T>
00054 typename output_projection_helper<S, T>::ret
00055 image(const Element<S, T>&,
00056 std::map<typename T::hstate_t, typename T::hstate_t>& m);
00057
00058
00060 template <class S, class T>
00061 typename output_projection_helper<S, T>::ret
00062 image(const Element<S, T>&);
00063
00064 }
00065
00066
00067 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00068 # include <vaucanson/algorithms/image.hxx>
00069 # endif // !VCSN_USE_INTERFACE_ONLY
00070
00071 #endif // !VCSN_ALGORITHMS_IMAGE_HH