00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 #ifndef VCSN_BOOLEAN_TRANSDUCER_STRUCTURES_HH
00019 # define VCSN_BOOLEAN_TRANSDUCER_STRUCTURES_HH
00020 
00021 # include <vaucanson/boolean_automaton_structures.hh>
00022 
00023 # define AUTOMATON_CONTEXT boolean_automaton
00024 # define VCSN_CONTEXT_NAMESPACE namespace boolean_transducer
00025 
00026 # include <vaucanson/contexts/char_letter.thh>
00027 # include <vaucanson/contexts/dynamic_alphabet.thh>
00028 # include <vaucanson/contexts/free_monoid.thh>
00029 
00030 namespace vcsn
00031 {
00032   VCSN_CONTEXT_NAMESPACE
00033   {
00034     typedef AUTOMATON_CONTEXT::semiring_elt_t   output_semiring_elt_t;
00035     typedef output_semiring_elt_t::set_t        output_semiring_t;
00036     typedef output_semiring_elt_t::value_t      output_semiring_elt_value_t;
00037 
00038     typedef AUTOMATON_CONTEXT::rat_exp_t        output_series_set_elt_t;
00039     typedef output_series_set_elt_t::set_t      output_series_set_t;
00040     typedef output_series_set_elt_t::value_t    output_series_set_elt_value_t;
00041   } 
00042 } 
00043 
00044 # include <vaucanson/contexts/ratseries_semiring.thh>
00045 # include <vaucanson/contexts/polynom_series.thh>
00046 # include <vaucanson/contexts/generic_automaton_impl.thh>
00047 # include <vaucanson/contexts/transducer.thh>
00048 
00049 namespace vcsn
00050 {
00051   VCSN_CONTEXT_NAMESPACE
00052   {
00053     AUTOMATON_TYPES_EXACT(automaton_t);
00054     AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t);
00055   } 
00056 } 
00057 
00058 # include <vaucanson/contexts/transducer_maker.thh>
00059 
00060 # undef AUTOMATON_CONTEXT
00061 # undef VCSN_CONTEXT_NAMESPACE
00062 
00063 #endif // !VCSN_BOOLEAN_TRANSDUCER_STRUCTURES_HH