00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
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     } 
00081   } 
00082 } 
00083 
00084 # include <vaucanson/contexts/fmp_transducer_maker.thxx>