automaton_maker.thh

00001 //                                                             -*- C++ -*-
00002 // automaton_maker.thh: this file is part of the Vaucanson project.
00003 //
00004 // Vaucanson, a generic library for finite state machines.
00005 //
00006 // Copyright (C) 2007, 2008 The Vaucanson Group.
00007 //
00008 // This program is free software; you can redistribute it and/or
00009 // modify it under the terms of the GNU General Public License
00010 // as published by the Free Software Foundation; either version 2
00011 // of the License, or (at your option) any later version.
00012 //
00013 // The complete GNU General Public Licence Notice can be found as the
00014 // `COPYING' file in the root directory.
00015 //
00016 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
00017 //
00018 
00019 /*
00020  * CPP guard should not be inserted here as
00021  * VCSN_CONTEXT_NAMESPACE could be changed.
00022  */
00023 
00024 namespace vcsn
00025 {
00026   namespace VCSN_GRAPH_IMPL
00027   {
00028     VCSN_CONTEXT_NAMESPACE
00029     {
00030       template <class T>
00031       automaton_t make_automaton(const T& alphabet);
00032 
00033       template <class InputIterator>
00034       automaton_t make_automaton(InputIterator begin,
00035                                  InputIterator end);
00036 
00037       template <class T>
00038       automaton_letter_t make_automaton_letter(const T& alphabet);
00039 
00040       template <class InputIterator>
00041       automaton_letter_t make_automaton_letter(InputIterator begin,
00042                                                InputIterator end);
00043 
00044       template <class T>
00045       gen_automaton_t make_gen_automaton(const T& alphabet);
00046 
00047       template <class InputIterator>
00048       gen_automaton_t make_gen_automaton(InputIterator begin,
00049                                        InputIterator end);
00050 
00051       template <class Iterator>
00052       rat_exp_t
00053       make_rat_exp(const Iterator& begin,
00054                    const Iterator& end,
00055                    const std::string& exp = vcsn::algebra::letter_traits<typename Iterator::value_type>::default_zero(),
00056                    const vcsn::algebra::token_representation<typename Iterator::value_type> tok_rep = vcsn::algebra::token_representation<typename Iterator::value_type>());
00057 
00058       template <class T>
00059       rat_exp_t
00060       make_rat_exp(const T& alphabet, const std::string& exp = vcsn::algebra::letter_traits<typename T::letter_t>::default_zero(),
00061                    const vcsn::algebra::token_representation<typename T::letter_t> tok_rep = vcsn::algebra::token_representation<typename T::letter_t>());
00062 
00063       template <class SeriesSet, class SeriesImpl>
00064       automaton_t
00065       standard_of(const Element<SeriesSet, SeriesImpl>& e);
00066 
00067 
00068       template <class SeriesSet, class SeriesImpl>
00069       automaton_t
00070       thompson_of(const Element<SeriesSet, SeriesImpl>& e);
00071 
00072       rat_exp_t
00073       aut_to_exp(const automaton_t& a);
00074 
00075       template <class Chooser>
00076       rat_exp_t
00077       aut_to_exp(const automaton_t& a, const Chooser& c);
00078     }
00079   }
00080 }
00081 
00082 # include <vaucanson/contexts/automaton_maker.thxx>
00083 

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