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