blob: fee39325121b9e273701f1f1f1098fd3bb4a7393 [file] [log] [blame]
Brian Silverman4a2409e2018-08-04 23:24:02 -07001[/
2 Copyright 2007 John Maddock.
3 Distributed under the Boost Software License, Version 1.0.
4 (See accompanying file LICENSE_1_0.txt or copy at
5 http://www.boost.org/LICENSE_1_0.txt).
6]
7
8[section:transform Type Traits that Transform One Type to Another]
9
10The following templates transform one type to another,
11based upon some well-defined rule.
12Each template has a single member called `type` that is the
13result of applying the transformation to the template argument `T`.
14
15[*Synopsis:]
16
17 template <class T>
18 struct __add_const;
19
20 template <class T>
21 struct __add_cv;
22
23 template <class T>
24 struct __add_lvalue_reference;
25
26 template <class T>
27 struct __add_pointer;
28
29 template <class T>
30 struct __add_reference;
31
32 template <class T>
33 struct __add_rvalue_reference;
34
35 template <class T>
36 struct __add_volatile;
37
38 template <bool B, class T, class U>
39 struct __conditional;
40
41 template <class... T>
42 struct __common_type;
43
44 template <class T, class U>
45 struct __copy_cv;
46
47 template <class T>
48 struct __decay;
49
50 template <class T>
51 struct __floating_point_promotion;
52
53 template <class T>
54 struct __integral_promotion;
55
56 template <class T>
57 struct __make_signed;
58
59 template <class T>
60 struct __make_unsigned;
61
62 template <class T>
63 struct __promote;
64
65 template <class T>
66 struct __remove_all_extents;
67
68 template <class T>
69 struct __remove_const;
70
71 template <class T>
72 struct __remove_cv;
73
74 template <class T>
75 struct __remove_extent;
76
77 template <class T>
78 struct __remove_pointer;
79
80 template <class T>
81 struct __remove_reference;
82
83 template <class T>
84 struct __remove_volatile;
85
86 template <class T>
87 struct __type_identity;
88
89[endsect]
90