Vaucanson  1.4.1
couple_letter.hh
1 // couple_letter.hh: this file is part of the Vaucanson project.
2 //
3 // Vaucanson, a generic library for finite state machines.
4 //
5 // Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2008 The Vaucanson
6 // Group.
7 //
8 // This program is free software; you can redistribute it and/or
9 // modify it under the terms of the GNU General Public License
10 // as published by the Free Software Foundation; either version 2
11 // of the License, or (at your option) any later version.
12 //
13 // The complete GNU General Public Licence Notice can be found as the
14 // `COPYING' file in the root directory.
15 //
16 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
17 //
18 #ifndef VCSN_ALGEBRA_IMPLEMENTATION_LETTER_COUPLE_LETTER_HH
19 # define VCSN_ALGEBRA_IMPLEMENTATION_LETTER_COUPLE_LETTER_HH
20 
21 # include <vaucanson/algebra/concept/letter.hh>
22 
23 // Needed to get defaults for projections.
24 # include <vaucanson/algebra/implementation/letter/char_letter.hh>
25 # include <vaucanson/algebra/implementation/letter/int_letter.hh>
26 
27 // Here are functions to manipulate pairs.
28 
29 namespace vcsn
30 {
31  namespace algebra
32  {
33  // Specialization for pairs.
34  template <typename U, typename V>
35  struct letter_traits<std::pair<U, V> >;
36 
37  } // ! algebra
38 
39 } // ! vcsn
40 
41 namespace std
42 {
43  template <typename U, typename V>
44  std::ostream& operator<<(std::ostream&, const std::pair<U, V>&);
45 
46 } // ! std
47 
48 # if !defined VCSN_USE_INTERFACE_ONLY || defined VCSN_USE_LIB
49 # include <vaucanson/algebra/implementation/letter/couple_letter.hxx>
50 # endif // ! VCSN_USE_INTERFACE_ONLY
51 
52 #endif // ! VCSN_ALGEBRA_IMPLEMENTATION_LETTER_COUPLE_LETTER_HH