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

- File List
- File Members

# fmp_transducer_maker.thh

    00001 //                                                             -*- C++ -*-
    00002 // fmp_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) 2005, 2006, 2008, 2010 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 T1, class T2>
    00031       automaton_t make_automaton(const T1& first_alphabet,
    00032                                  const T2& second_alphabet);
    00033
    00034       template <class T1, class T2>
    00035       automaton_t make_automaton(const T1& first_alphabet,
    00036                                  const T2& second_alphabet,
    00037                                  const monoid_rep_t& mrep,
    00038                                  const first_monoid_rep_t& mrep1,
    00039                                  const second_monoid_rep_t& mrep2,
    00040                                  const series_rep_t& srep);
    00041
    00042       template <class FirstInputIterator, class SecondInputIterator>
    00043       automaton_t make_automaton(const FirstInputIterator first_begin,
    00044                                  const FirstInputIterator first_end,
    00045                                  const SecondInputIterator second_begin,
    00046                                  const SecondInputIterator second_end);
    00047
    00048       template <class FirstInputIterator, class SecondInputIterator>
    00049       automaton_t make_automaton(const FirstInputIterator first_begin,
    00050                                  const FirstInputIterator first_end,
    00051                                  const SecondInputIterator second_begin,
    00052                                  const SecondInputIterator second_end,
    00053                                  const monoid_rep_t& mrep,
    00054                                  const first_monoid_rep_t& mrep1,
    00055                                  const second_monoid_rep_t& mrep2,
    00056                                  const series_rep_t& srep);
    00057
    00058       template <class T1, class T2>
    00059       monoid_elt_t make_couple(const T1& first_alphabet,
    00060                                const T2& second_alphabet,
    00061                                const first_monoid_elt_value_t& first_exp,
    00062                                const second_monoid_elt_value_t& second_exp);
    00063
    00064       template <class FirstIterator, class SecondIterator>
    00065       monoid_elt_t make_couple(const FirstIterator first_begin,
    00066                                const FirstIterator first_end,
    00067                                const SecondIterator second_begin,
    00068                                const SecondIterator second_end,
    00069                                const first_monoid_elt_value_t& first_exp,
    00070                                const second_monoid_elt_value_t& second_exp);
    00071
    00072       template <typename TransStruct,
    00073                 typename TransImpl,
    00074                 typename ArgStruct,
    00075                 typename ArgImpl>
    00076       AUTOMATON_CONTEXT::rat_exp_t
    00077       evaluation(const Element<TransStruct, TransImpl>& t,
    00078                  const Element<ArgStruct, ArgImpl>& input);
    00079
    00080       rat_exp_t
    00081       aut_to_exp(const automaton_t& a);
    00082
    00083       template <class Chooser>
    00084       rat_exp_t
    00085       aut_to_exp(const automaton_t& a, const Chooser& c);
    00086     } // End of VCSN_CONTEXT_NAMESPACE.
    00087   } // End of VCSN_GRAPH_IMPL
    00088 } // End of namespace vcsn.
    00089
    00090 # include <vaucanson/contexts/fmp_transducer_maker.thxx>