Vaucanson 1.4
|
00001 // int_boolean_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_boolean_automaton_structures.hh) 00024 00025 # define AUTOMATON_CONTEXT int_boolean_automaton 00026 # define VCSN_CONTEXT_NAMESPACE namespace int_boolean_transducer 00027 00028 # include <vaucanson/contexts/int_letter.thh> 00029 # include <vaucanson/contexts/dynamic_alphabet.thh> 00030 # include <vaucanson/contexts/free_monoid.thh> 00031 00032 namespace vcsn 00033 { 00034 namespace VCSN_GRAPH_IMPL 00035 { 00036 VCSN_CONTEXT_NAMESPACE 00037 { 00038 typedef AUTOMATON_CONTEXT::semiring_elt_t output_semiring_elt_t; 00039 typedef output_semiring_elt_t::set_t output_semiring_t; 00040 typedef output_semiring_elt_t::value_t output_semiring_elt_value_t; 00041 00042 typedef AUTOMATON_CONTEXT::rat_exp_t output_series_set_elt_t; 00043 typedef output_series_set_elt_t::set_t output_series_set_t; 00044 typedef output_series_set_elt_t::value_t output_series_set_elt_value_t; 00045 } // End of namespace VCSN_CONTEXT_NAMESPACE. 00046 } // End of namespace VCSN_GRAPH_IMPL 00047 } // End of namespace vcsn 00048 00049 # include <vaucanson/contexts/ratseries_semiring.thh> 00050 # include <vaucanson/contexts/generic_series.thh> 00051 # include <vaucanson/contexts/generic_automaton_impl.thh> 00052 # include <vaucanson/contexts/transducer.thh> 00053 00054 /* Specializations */ 00055 # include <vaucanson/algebra/implementation/monoid/free_monoid_int.hh> 00056 00057 namespace vcsn 00058 { 00059 namespace VCSN_GRAPH_IMPL 00060 { 00061 VCSN_CONTEXT_NAMESPACE 00062 { 00063 AUTOMATON_TYPES_EXACT(automaton_t); 00064 AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t); 00065 00066 typedef automaton_t::input_monoid_t::alphabet_t first_alphabet_t; 00067 typedef automaton_t::output_monoid_t::alphabet_t second_alphabet_t; 00068 } // End of namespace VCSN_CONTEXT_NAMESPACE 00069 } // End of namespace VCSN_GRAPH_IMPL 00070 } // End of namespace vcsn 00071 00072 # include <vaucanson/contexts/transducer_maker.thh> 00073 00074 # undef AUTOMATON_CONTEXT 00075 # undef VCSN_CONTEXT_NAMESPACE 00076