00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef VCSN_FMP_TRANSDUCER_STRUCTURES_HH
00019 # define VCSN_FMP_TRANSDUCER_STRUCTURES_HH
00020 
00021 # include <vaucanson/boolean_automaton_structures.hh>
00022 
00023 # define AUTOMATON_CONTEXT boolean_automaton
00024 # define VCSN_CONTEXT_NAMESPACE namespace fmp_transducer
00025 
00026 namespace vcsn
00027 {
00028   VCSN_CONTEXT_NAMESPACE
00029   {
00030     typedef AUTOMATON_CONTEXT::monoid_elt_t     first_monoid_elt_t;
00031     typedef first_monoid_elt_t::set_t           first_monoid_t;
00032     typedef first_monoid_elt_t::value_t         first_monoid_elt_value_t;
00033     typedef first_monoid_t::alphabet_t          first_alphabet_t;
00034 
00035     typedef AUTOMATON_CONTEXT::monoid_elt_t     second_monoid_elt_t;
00036     typedef second_monoid_elt_t::set_t          second_monoid_t;
00037     typedef second_monoid_elt_t::value_t        second_monoid_elt_value_t;
00038     typedef second_monoid_t::alphabet_t         second_alphabet_t;
00039   } 
00040 } 
00041 
00042 # include <vaucanson/contexts/free_monoid_product.thh>
00043 # include <vaucanson/contexts/boolean_semiring.thh>
00044 # include <vaucanson/contexts/polynom_series.thh>
00045 # include <vaucanson/contexts/generic_automaton_impl.thh>
00046 # include <vaucanson/contexts/automaton.thh>
00047 
00048 # include <vaucanson/contexts/fmp_transducer_maker.thh>
00049 
00050 # undef AUTOMATON_CONTEXT
00051 # undef VCSN_CONTEXT_NAMESPACE
00052 
00053 #endif // !VCSN_FMP_TRANSDUCER_STRUCTURES_HH