00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 #ifndef VCSN_ALGORITHMS_FORWARD_REALTIME_HXX
00018 # define VCSN_ALGORITHMS_FORWARD_REALTIME_HXX
00019 
00020 # include <vaucanson/algorithms/forward_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_forward_realtime_here(const AutomataBase<A_>&b, Auto_& a)
00032   {
00033     do_realtime_here (b, a, misc::forward);
00034   }
00035 
00036   template<typename A, typename T>
00037   void
00038   forward_realtime_here(Element<A, T>& a)
00039   {
00040     do_forward_realtime_here(a.structure(), a);
00041   }
00042 
00043   
00044 
00045 
00046 
00047   template<typename A_, typename Auto_>
00048   Auto_
00049   do_forward_realtime(const AutomataBase<A_>&b, const Auto_& a)
00050   {
00051     return do_realtime (b, a, misc::forward);
00052   }
00053 
00054 
00055   template<typename A, typename T>
00056   Element<A, T>
00057   forward_realtime(const Element<A, T>& a)
00058   {
00059     return do_forward_realtime(a.structure(), a);
00060   }
00061 
00062 } 
00063 
00064 #endif // ! VCSN_ALGORITHMS_FORWARD_REALTIME_HXX