- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

# backward_realtime.hxx

    00001 // backward_realtime.hxx: this file is part of the Vaucanson project.
    00002 //
    00003 // Vaucanson, a generic library for finite state machines.
    00004 //
    00005 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006 The Vaucanson Group.
    00006 //
    00007 // This program is free software; you can redistribute it and/or
    00008 // modify it under the terms of the GNU General Public License
    00009 // as published by the Free Software Foundation; either version 2
    00010 // of the License, or (at your option) any later version.
    00011 //
    00012 // The complete GNU General Public Licence Notice can be found as the
    00013 // `COPYING' file in the root directory.
    00014 //
    00015 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
    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   | backward_realtime_here.  |
    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   | backward_realtime.  |
    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 } // vcsn
    00063
    00064 #endif // ! VCSN_ALGORITHMS_BACKWARD_REALTIME_HXX