00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef VCSN_ALGORITHMS_BACKWARD_REALTIME_HXX
00018 # define VCSN_ALGORITHMS_BACKWARD_REALTIME_HXX
00019
00020 # include <vaucanson/algorithms/backward_realtime.hh>
00021 # include <vaucanson/algorithms/realtime.hh>
00022
00023 namespace vcsn {
00024
00025
00026
00027
00028
00029 template <class A_, typename Auto_>
00030 void
00031 do_backward_realtime_here(const AutomataBase<A_>&b, Auto_& a)
00032 {
00033 do_realtime_here (b, a, misc::backward);
00034 }
00035
00036
00037 template<typename A, typename T>
00038 void
00039 backward_realtime_here(Element<A, T>& a)
00040 {
00041 do_backward_realtime_here(a.structure(), a);
00042 }
00043
00044
00045
00046
00047
00048 template <class A_, typename Auto_>
00049 Auto_
00050 do_backward_realtime(const AutomataBase<A_>&b, const Auto_& a)
00051 {
00052 return do_realtime (b, a, misc::backward);
00053 }
00054
00055 template<typename A, typename T>
00056 Element<A, T>
00057 backward_realtime(const Element<A, T>& a)
00058 {
00059 return do_backward_realtime(a.structure(), a);
00060 }
00061
00062 }
00063
00064 #endif // ! VCSN_ALGORITHMS_BACKWARD_REALTIME_HXX