OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libstdc++-v3/] [include/] [tr1/] [type_traits_fwd.h] - Blame information for rev 17

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 17 jlechner
// TR1 type_traits -*- C++ -*-
2
 
3
// Copyright (C) 2004 Free Software Foundation, Inc.
4
//
5
// This file is part of the GNU ISO C++ Library.  This library is free
6
// software; you can redistribute it and/or modify it under the
7
// terms of the GNU General Public License as published by the
8
// Free Software Foundation; either version 2, or (at your option)
9
// any later version.
10
 
11
// This library is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
// GNU General Public License for more details.
15
 
16
// You should have received a copy of the GNU General Public License along
17
// with this library; see the file COPYING.  If not, write to the Free
18
// Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
19
// USA.
20
 
21
// As a special exception, you may use this file as part of a free software
22
// library without restriction.  Specifically, if other files instantiate
23
// templates or use macros or inline functions from this file, or you compile
24
// this file and link it with other files to produce an executable, this
25
// file does not by itself cause the resulting executable to be covered by
26
// the GNU General Public License.  This exception does not however
27
// invalidate any other reasons why the executable file might be covered by
28
// the GNU General Public License.
29
 
30
/** @file type_traits_fwd.h
31
 *  This is an internal header file, included by other library headers.
32
 *  You should not attempt to use it directly.
33
 */
34
 
35
#ifndef _TYPE_TRAITS_FWD_H
36
#define _TYPE_TRAITS_FWD_H 1
37
 
38
#include <cstddef>
39
 
40
// namespace std::tr1
41
namespace std
42
{
43
namespace tr1
44
{
45
  /// @brief  helper classes [4.3].
46
  template<typename _Tp, _Tp __v>
47
    struct integral_constant;
48
  typedef integral_constant<bool, true>     true_type;
49
  typedef integral_constant<bool, false>    false_type;
50
 
51
  /// @brief  primary type categories [4.5.1].
52
  template<typename _Tp>
53
    struct is_void;
54
 
55
  template<typename _Tp>
56
    struct is_integral;
57
 
58
  template<typename _Tp>
59
    struct is_floating_point;
60
 
61
  template<typename _Tp>
62
    struct is_array;
63
 
64
  template<typename _Tp>
65
    struct is_pointer;
66
 
67
  template<typename _Tp>
68
    struct is_reference;
69
 
70
  template<typename _Tp>
71
    struct is_member_object_pointer;
72
 
73
  template<typename _Tp>
74
    struct is_member_function_pointer;
75
 
76
  template<typename _Tp>
77
    struct is_enum;
78
 
79
  template<typename _Tp>
80
    struct is_union;
81
 
82
  template<typename _Tp>
83
    struct is_class;
84
 
85
  template<typename _Tp>
86
    struct is_function;
87
 
88
  /// @brief  composite type traits [4.5.2].
89
  template<typename _Tp>
90
    struct is_arithmetic;
91
 
92
  template<typename _Tp>
93
    struct is_fundamental;
94
 
95
  template<typename _Tp>
96
    struct is_object;
97
 
98
  template<typename _Tp>
99
    struct is_scalar;
100
 
101
  template<typename _Tp>
102
    struct is_compound;
103
 
104
  template<typename _Tp>
105
    struct is_member_pointer;
106
 
107
  // Extension.
108
  template<typename _Tp>
109
    struct __is_union_or_class;
110
 
111
  /// @brief  type properties [4.5.3].
112
  template<typename _Tp>
113
    struct is_const;
114
 
115
  template<typename _Tp>
116
    struct is_volatile;
117
 
118
  template<typename _Tp>
119
    struct is_pod;
120
 
121
  template<typename _Tp>
122
    struct is_empty;
123
 
124
  template<typename _Tp>
125
    struct is_polymorphic;
126
 
127
  template<typename _Tp>
128
    struct is_abstract;
129
 
130
  template<typename _Tp>
131
    struct has_trivial_constructor;
132
 
133
  template<typename _Tp>
134
    struct has_trivial_copy;
135
 
136
  template<typename _Tp>
137
    struct has_trivial_assign;
138
 
139
  template<typename _Tp>
140
    struct has_trivial_destructor;
141
 
142
  template<typename _Tp>
143
    struct has_nothrow_constructor;
144
 
145
  template<typename _Tp>
146
    struct has_nothrow_copy;
147
 
148
  template<typename _Tp>
149
    struct has_nothrow_assign;
150
 
151
  template<typename _Tp>
152
    struct has_virtual_destructor;
153
 
154
  template<typename _Tp>
155
    struct is_signed;
156
 
157
  template<typename _Tp>
158
    struct is_unsigned;
159
 
160
  template<typename _Tp>
161
    struct alignment_of;
162
 
163
  template<typename _Tp>
164
    struct rank;
165
 
166
  template<typename _Tp, unsigned _Uint = 0>
167
    struct extent;
168
 
169
  /// @brief  relationships between types [4.6].
170
  template<typename _Tp, typename _Up>
171
    struct is_same;
172
 
173
  template<typename _From, typename _To>
174
    struct is_convertible;
175
 
176
  template<typename _Base, typename _Derived>
177
    struct is_base_of;
178
 
179
  /// @brief  const-volatile modifications [4.7.1].
180
  template<typename _Tp>
181
    struct remove_const;
182
 
183
  template<typename _Tp>
184
    struct remove_volatile;
185
 
186
  template<typename _Tp>
187
    struct remove_cv;
188
 
189
  template<typename _Tp>
190
    struct add_const;
191
 
192
  template<typename _Tp>
193
    struct add_volatile;
194
 
195
  template<typename _Tp>
196
    struct add_cv;
197
 
198
  /// @brief  reference modifications [4.7.2].
199
  template<typename _Tp>
200
    struct remove_reference;
201
 
202
  template<typename _Tp>
203
    struct add_reference;
204
 
205
  /// @brief  array modififications [4.7.3].
206
  template<typename _Tp>
207
    struct remove_extent;
208
 
209
  template<typename _Tp>
210
    struct remove_all_extents;
211
 
212
  /// @brief  pointer modifications [4.7.4].
213
  template<typename _Tp>
214
    struct remove_pointer;
215
 
216
  template<typename _Tp>
217
    struct add_pointer;
218
 
219
  /// @brief  other transformations [4.8].
220
  template<std::size_t _Len, std::size_t _Align>
221
    struct aligned_storage;
222
}
223
}
224
 
225
#endif

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.