Mercurial > hg > octave-nkf
comparison src/ov-int-traits.h @ 4904:71229573b6bf
[project @ 2004-06-14 19:31:52 by jwe]
author | jwe |
---|---|
date | Mon, 14 Jun 2004 19:33:53 +0000 |
parents | |
children | 4c8a2e4e0717 |
comparison
equal
deleted
inserted
replaced
4903:bfe64e459ce3 | 4904:71229573b6bf |
---|---|
1 /* | |
2 | |
3 Copyright (C) 2004 John W. Eaton | |
4 | |
5 This file is part of Octave. | |
6 | |
7 Octave is free software; you can redistribute it and/or modify it | |
8 under the terms of the GNU General Public License as published by the | |
9 Free Software Foundation; either version 2, or (at your option) any | |
10 later version. | |
11 | |
12 Octave is distributed in the hope that it will be useful, but WITHOUT | |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with Octave; see the file COPYING. If not, write to the Free | |
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
20 | |
21 */ | |
22 | |
23 #if !defined (octave_value_int_traits_h) | |
24 #define octave_value_int_traits_h 1 | |
25 | |
26 #include "ov-int8.h" | |
27 #include "ov-int16.h" | |
28 #include "ov-int32.h" | |
29 #include "ov-int64.h" | |
30 | |
31 #include "ov-uint8.h" | |
32 #include "ov-uint16.h" | |
33 #include "ov-uint32.h" | |
34 #include "ov-uint64.h" | |
35 | |
36 template <class T> | |
37 class | |
38 octave_value_int_traits | |
39 { | |
40 public: | |
41 typedef T scalar_type; | |
42 }; | |
43 | |
44 #define OCTAVE_VALUE_INT_TRAITS(MT, ST) \ | |
45 template<> \ | |
46 class \ | |
47 octave_value_int_traits<MT> \ | |
48 { \ | |
49 public: \ | |
50 typedef ST scalar_type; \ | |
51 } | |
52 | |
53 OCTAVE_VALUE_INT_TRAITS(int8NDArray, octave_int8_scalar); | |
54 OCTAVE_VALUE_INT_TRAITS(int16NDArray, octave_int16_scalar); | |
55 OCTAVE_VALUE_INT_TRAITS(int32NDArray, octave_int32_scalar); | |
56 OCTAVE_VALUE_INT_TRAITS(int64NDArray, octave_int64_scalar); | |
57 | |
58 OCTAVE_VALUE_INT_TRAITS(uint8NDArray, octave_uint8_scalar); | |
59 OCTAVE_VALUE_INT_TRAITS(uint16NDArray, octave_uint16_scalar); | |
60 OCTAVE_VALUE_INT_TRAITS(uint32NDArray, octave_uint32_scalar); | |
61 OCTAVE_VALUE_INT_TRAITS(uint64NDArray, octave_uint64_scalar); | |
62 | |
63 #endif | |
64 | |
65 /* | |
66 ;;; Local Variables: *** | |
67 ;;; mode: C++ *** | |
68 ;;; End: *** | |
69 */ |