normalized.hh

Go to the documentation of this file.
00001 // normalized.hh: 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, 2008 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_NORMALIZED_HH
00018 # define VCSN_ALGORITHMS_NORMALIZED_HH
00019 /* @{ */
00034 // INTERFACE: Automaton normalize(const Automaton& a) { return vcsn::normalize(*a); }
00035 
00036 // INTERFACE: void normalize_here(Automaton& a) { return vcsn::normalize_here(*a); }
00037 
00038 // INTERFACE: bool is_normalized(const Automaton& a) { return vcsn::is_normalized(*a); }
00039 
00040 // INTERFACE: void union_of_normalized_here(Automaton& a1, const Automaton& a2) { return vcsn::union_of_normalized_here(*a1, *a2); }
00041 
00042 // INTERFACE: Automaton union_of_normalized(const Automaton& a1, const Automaton& a2) { return vcsn::union_of_normalized(*a1, *a2); }
00043 
00044 // INTERFACE: void concatenate_of_normalized_here(Automaton& a1, const Automaton& a2) { return vcsn::concatenate_of_normalized_here(*a1, *a2); }
00045 
00046 // INTERFACE: Automaton concatenate_of_normalized(const Automaton& a1, const Automaton& a2) { return vcsn::concatenate_of_normalized(*a1, *a2); }
00047 
00048 // INTERFACE: void star_of_normalized_here(Automaton& a) { return vcsn::star_of_normalized_here(*a); }
00049 
00050 // INTERFACE: Automaton star_of_normalized(const Automaton& a) { return vcsn::star_of_normalized(*a); }
00051 
00052 # include <vaucanson/design_pattern/design_pattern.hh>
00053 
00054 namespace vcsn {
00055 /* @{ */
00057 
00069   template <typename A, typename AI>
00070   Element<A, AI>
00071   normalize(const Element<A, AI>& a);
00072 
00084   template<typename A, typename AI>
00085   void
00086   normalize_here(Element<A, AI>& a);
00087 
00099   template<typename A, typename AI>
00100   bool
00101   is_normalized(const Element<A, AI>& a);
00102 
00116   template<typename A, typename AI1, typename AI2>
00117   void
00118   union_of_normalized_here(Element<A, AI1>& lhs,
00119                            const Element<A, AI2>& rhs);
00120 
00133   template<typename A, typename AI1, typename AI2>
00134   Element<A, AI1>
00135   union_of_normalized(const Element<A, AI1>& lhs,
00136                       const Element<A, AI2>& rhs);
00137 
00151   template<typename A, typename AI1, typename AI2>
00152   void
00153   concatenate_of_normalized_here(Element<A, AI1>& lhs,
00154                                  const Element<A, AI2>& rhs);
00155 
00168   template<typename A, typename AI1, typename AI2>
00169   Element<A, AI1>
00170   concatenate_of_normalized(const Element<A, AI1>& lhs,
00171                             const Element<A, AI2>& rhs);
00172 
00185   template<typename A, typename AI>
00186   void
00187   star_of_normalized_here(Element<A, AI>& a);
00188 
00201   template<typename A, typename AI>
00202   Element<A, AI>
00203   star_of_normalized(const Element<A, AI>& a);
00204 
00207 } // vcsn
00208 
00209 # if !defined VCSN_USE_INTERFACE_ONLY && !defined VCSN_USE_LIB
00210 #  include <vaucanson/algorithms/normalized.hxx>
00211 # endif // VCSN_USE_INTERFACE_ONLY
00212 
00213 #endif // ! VCSN_ALGORITHMS_NORMALIZED_HH

Generated on Thu Oct 9 20:22:40 2008 for Vaucanson by  doxygen 1.5.1