Vaucanson 1.4
|
00001 // couple_letter.hh: this file is part of the Vaucanson project. 00002 // 00003 // Vaucanson, a generic library for finite state machines. 00004 // 00005 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 The Vaucanson 00006 // Group. 00007 // 00008 // This program is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU General Public License 00010 // as published by the Free Software Foundation; either version 2 00011 // of the License, or (at your option) any later version. 00012 // 00013 // The complete GNU General Public Licence Notice can be found as the 00014 // `COPYING' file in the root directory. 00015 // 00016 // The Vaucanson Group consists of people listed in the `AUTHORS' file. 00017 // 00018 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_LETTER_COUPLE_LETTER_HH 00019 # define VCSN_ALGEBRA_IMPLEMENTATION_LETTER_COUPLE_LETTER_HH 00020 00021 # include <vaucanson/algebra/concept/letter.hh> 00022 00023 // Needed to get defaults for projections. 00024 # include <vaucanson/algebra/implementation/letter/char_letter.hh> 00025 # include <vaucanson/algebra/implementation/letter/int_letter.hh> 00026 00027 // Here are functions to manipulate pairs. 00028 00029 namespace vcsn 00030 { 00031 namespace algebra 00032 { 00033 // Specialization for pairs. 00034 template <typename U, typename V> 00035 struct letter_traits<std::pair<U, V> >; 00036 00037 } // ! algebra 00038 00039 } // ! vcsn 00040 00041 namespace std 00042 { 00043 template <typename U, typename V> 00044 std::ostream& operator<<(std::ostream&, const std::pair<U, V>&); 00045 00046 } // ! std 00047 00048 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB 00049 # include <vaucanson/algebra/implementation/letter/couple_letter.hxx> 00050 # endif // ! VCSN_USE_INTERFACE_ONLY 00051 00052 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_LETTER_COUPLE_LETTER_HH