Vaucanson  1.4.1
element_op_traits.hh
Go to the documentation of this file.
1 // element_op_traits.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 The Vaucanson Group.
6 //
7 // This program is free software; you can redistribute it and/or
8 // modify it under the terms of the GNU General Public License
9 // as published by the Free Software Foundation; either version 2
10 // of the License, or (at your option) any later version.
11 //
12 // The complete GNU General Public Licence Notice can be found as the
13 // `COPYING' file in the root directory.
14 //
15 // The Vaucanson Group consists of people listed in the `AUTHORS' file.
16 //
17 #ifndef VCSN_DESIGN_PATTERN_ELEMENT_OP_TRAITS_HH
18 # define VCSN_DESIGN_PATTERN_ELEMENT_OP_TRAITS_HH
19 
30 
31 namespace vcsn {
32 
36  /*--------------.
37  | op_add_traits |
38  `--------------*/
39 
43  template<typename S1, typename S2, typename T1, typename T2>
45  {
46  typedef Element<S1, T1> ret_t;
47  };
48 
49  /*--------------.
50  | op_sub_traits |
51  `--------------*/
52 
56  template<typename S1, typename S2, typename T1, typename T2>
58  {
59  typedef Element<S1, T1> ret_t;
60  };
61 
62  /*--------------.
63  | op_mul_traits |
64  `--------------*/
65 
69  template<typename S1, typename S2, typename T1, typename T2>
71  {
72  typedef Element<S1, T1> ret_t;
73  };
74 
75  /*--------------.
76  | op_div_traits |
77  `--------------*/
78 
82  template<typename S1, typename S2, typename T1, typename T2>
84  {
85  typedef Element<S1, T1> ret_t;
86  };
87 
88 
89  /*--------------.
90  | op_mod_traits |
91  `--------------*/
92 
96  template<typename S1, typename S2, typename T1, typename T2>
98  {
99  typedef Element<S1, T1> ret_t;
100  };
101 
105 } // vcsn
106 
107 #endif // ! VCSN_DESIGN_PATTERN_ELEMENT_OP_TRAITS_HH