00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef VCSN_ALGORITHMS_AUT_PROJECTION_HH
00019 # define VCSN_ALGORITHMS_AUT_PROJECTION_HH
00020
00032
00033
00034
00035 # include <map>
00036
00037 # include <vaucanson/automata/concept/automata.hh>
00038
00039 namespace vcsn
00040 {
00041 template <typename S, typename T>
00042 void
00043 first_projection(const Element<S, T>&,
00044 typename projection_traits<S, T>::first_projection_t&);
00045
00046 template <typename S, typename T>
00047 typename projection_traits<S, T>::first_projection_t
00048 first_projection(const Element<S, T>&);
00049
00050 template <typename S, typename T>
00051 void
00052 second_projection(const Element<S, T>&,
00053 typename projection_traits<S, T>::second_projection_t&);
00054
00055 template <typename S, typename T>
00056 typename projection_traits<S, T>::second_projection_t
00057 second_projection(const Element<S, T>&);
00058
00059 }
00060
00061 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00062 # include <vaucanson/algorithms/aut_projection.hxx>
00063 # endif // ! VCSN_USE_INTERFACE_ONLY
00064
00065 #endif // ! VCSN_ALGORITHMS_AUT_PROJECTION_HH