Vaucanson 1.4
|
00001 // int_z_transducer_structures.hh: this file is part of the Vaucanson project. 00002 // 00003 // Vaucanson, a generic library for finite state machines. 00004 // 00005 // Copyright (C) 2008, 2010 The Vaucanson Group. 00006 // 00007 // This program is free software; you can redistribute it and/or 00008 // modify it under the terms of the GNU General Public License 00009 // as published by the Free Software Foundation; either version 2 00010 // of the License, or (at your option) any later version. 00011 // 00012 // The complete GNU General Public Licence Notice can be found as the 00013 // `COPYING' file in the root directory. 00014 // 00015 // The Vaucanson Group consists of people listed in the `AUTHORS' file. 00016 // 00017 00018 /* 00019 * CPP guard should not be inserted here as 00020 * VCSN_GRAPH_IMPL could be changed. 00021 */ 00022 00023 # include GRAPH_CONTEXT_HEADER_(int_z_automaton_structures.hh) 00024 # include GRAPH_CONTEXT_HEADER_(int_boolean_automaton_structures.hh) 00025 00026 # define AUTOMATON_CONTEXT int_z_automaton 00027 # define VCSN_CONTEXT_NAMESPACE namespace int_z_transducer 00028 00029 # include <vaucanson/contexts/int_letter.thh> 00030 # include <vaucanson/contexts/dynamic_alphabet.thh> 00031 # include <vaucanson/contexts/free_monoid.thh> 00032 00033 namespace vcsn 00034 { 00035 namespace VCSN_GRAPH_IMPL 00036 { 00037 VCSN_CONTEXT_NAMESPACE 00038 { 00039 typedef AUTOMATON_CONTEXT::semiring_elt_t output_semiring_elt_t; 00040 typedef output_semiring_elt_t::set_t output_semiring_t; 00041 typedef output_semiring_elt_t::value_t output_semiring_elt_value_t; 00042 00043 typedef AUTOMATON_CONTEXT::rat_exp_t output_series_set_elt_t; 00044 typedef output_series_set_elt_t::set_t output_series_set_t; 00045 typedef output_series_set_elt_t::value_t output_series_set_elt_value_t; 00046 } // End of namespace VCSN_CONTEXT_NAMESPACE. 00047 } // End of namespace VCSN_GRAPH_IMPL 00048 } // namespace vcsn 00049 00050 # include <vaucanson/contexts/ratseries_semiring.thh> 00051 # include <vaucanson/contexts/generic_series.thh> 00052 # include <vaucanson/contexts/generic_automaton_impl.thh> 00053 # include <vaucanson/contexts/transducer.thh> 00054 00055 /* Specializations */ 00056 # include <vaucanson/algebra/implementation/monoid/free_monoid_int.hh> 00057 00058 namespace vcsn 00059 { 00060 namespace VCSN_GRAPH_IMPL 00061 { 00062 VCSN_CONTEXT_NAMESPACE 00063 { 00064 AUTOMATON_TYPES_EXACT(automaton_t); 00065 AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t); 00066 00067 typedef automaton_t::input_monoid_t::alphabet_t first_alphabet_t; 00068 typedef automaton_t::output_monoid_t::alphabet_t second_alphabet_t; 00069 } // End of namespace VCSN_CONTEXT_NAMESPACE 00070 } // End of namespace VCSN_GRAPH_IMPL 00071 } // End of namespace vcsn 00072 00073 # include <vaucanson/contexts/transducer_maker.thh> 00074 00075 # undef AUTOMATON_CONTEXT 00076 # undef VCSN_CONTEXT_NAMESPACE 00077