Vaucanson 1.4
|
00001 // 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) 2007, 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_(boolean_automaton_structures.hh) 00024 00025 # define AUTOMATON_CONTEXT boolean_automaton 00026 # define VCSN_CONTEXT_NAMESPACE namespace boolean_transducer 00027 00028 # include <vaucanson/contexts/char_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 namespace vcsn 00055 { 00056 namespace VCSN_GRAPH_IMPL 00057 { 00058 VCSN_CONTEXT_NAMESPACE 00059 { 00060 AUTOMATON_TYPES_EXACT(automaton_t); 00061 AUTOMATON_FREEMONOID_TYPES_EXACT(automaton_t); 00062 00063 typedef automaton_t::input_monoid_t::alphabet_t first_alphabet_t; 00064 typedef automaton_t::output_monoid_t::alphabet_t second_alphabet_t; 00065 } // End of namespace VCSN_CONTEXT_NAMESPACE 00066 } // End of namespace VCSN_GRAPH_IMPL 00067 } // End of namespace vcsn 00068 00069 # include <vaucanson/contexts/transducer_maker.thh> 00070 00071 # undef AUTOMATON_CONTEXT 00072 # undef VCSN_CONTEXT_NAMESPACE 00073