From Jason Turner

[meta.unary]

Diff to HTML by rtfpessoa

tmp/tmpoecw_z8f/{from.md → to.md} RENAMED
@@ -1,29 +1,29 @@
1
  ### Unary type traits <a id="meta.unary">[[meta.unary]]</a>
2
 
3
  This subclause contains templates that may be used to query the
4
  properties of a type at compile time.
5
 
6
- Each of these templates shall be a `UnaryTypeTrait` ([[meta.rqmts]])
7
  with a base characteristic of `true_type` if the corresponding condition
8
  is `true`, otherwise `false_type`.
9
 
10
  #### Primary type categories <a id="meta.unary.cat">[[meta.unary.cat]]</a>
11
 
12
  The primary type categories correspond to the descriptions given in
13
- section  [[basic.types]] of the C++standard.
14
 
15
  For any given type `T`, the result of applying one of these templates to
16
  `T` and to cv `T` shall yield the same result.
17
 
18
  [*Note 1*: For any given type `T`, exactly one of the primary type
19
  categories has a `value` member that evaluates to `true`. — *end note*]
20
 
21
  #### Composite type traits <a id="meta.unary.comp">[[meta.unary.comp]]</a>
22
 
23
  These templates provide convenient compositions of the primary type
24
- categories, corresponding to the descriptions given in section 
25
  [[basic.types]].
26
 
27
  For any given type `T`, the result of applying one of these templates to
28
  `T` and to cv `T` shall yield the same result.
29
 
@@ -37,16 +37,16 @@ specializations of any of these templates.
37
 
38
  For all of the class templates `X` declared in this subclause,
39
  instantiating that template with a template-argument that is a class
40
  template specialization may result in the implicit instantiation of the
41
  template argument if and only if the semantics of `X` require that the
42
- argument must be a complete type.
43
 
44
  For the purpose of defining the templates in this subclause, a function
45
  call expression `declval<T>()` for any type `T` is considered to be a
46
  trivial ([[basic.types]], [[special]]) function call that is not an
47
- odr-use ([[basic.def.odr]]) of `declval` in the context of the
48
  corresponding definition notwithstanding the restrictions of 
49
  [[declval]].
50
 
51
  [*Note 1*: A union is a class type that can be marked with
52
  `final`. — *end note*]
@@ -127,8 +127,7 @@ if:
127
 
128
  The set of scalar types for which this condition holds is
129
  *implementation-defined*.
130
 
131
  [*Note 4*: If a type has padding bits, the condition does not hold;
132
- otherwise, the condition holds true for unsigned integral
133
- types. — *end note*]
134
 
 
1
  ### Unary type traits <a id="meta.unary">[[meta.unary]]</a>
2
 
3
  This subclause contains templates that may be used to query the
4
  properties of a type at compile time.
5
 
6
+ Each of these templates shall be a *Cpp17UnaryTypeTrait* [[meta.rqmts]]
7
  with a base characteristic of `true_type` if the corresponding condition
8
  is `true`, otherwise `false_type`.
9
 
10
  #### Primary type categories <a id="meta.unary.cat">[[meta.unary.cat]]</a>
11
 
12
  The primary type categories correspond to the descriptions given in
13
+ subclause  [[basic.types]] of the C++ standard.
14
 
15
  For any given type `T`, the result of applying one of these templates to
16
  `T` and to cv `T` shall yield the same result.
17
 
18
  [*Note 1*: For any given type `T`, exactly one of the primary type
19
  categories has a `value` member that evaluates to `true`. — *end note*]
20
 
21
  #### Composite type traits <a id="meta.unary.comp">[[meta.unary.comp]]</a>
22
 
23
  These templates provide convenient compositions of the primary type
24
+ categories, corresponding to the descriptions given in subclause 
25
  [[basic.types]].
26
 
27
  For any given type `T`, the result of applying one of these templates to
28
  `T` and to cv `T` shall yield the same result.
29
 
 
37
 
38
  For all of the class templates `X` declared in this subclause,
39
  instantiating that template with a template-argument that is a class
40
  template specialization may result in the implicit instantiation of the
41
  template argument if and only if the semantics of `X` require that the
42
+ argument is a complete type.
43
 
44
  For the purpose of defining the templates in this subclause, a function
45
  call expression `declval<T>()` for any type `T` is considered to be a
46
  trivial ([[basic.types]], [[special]]) function call that is not an
47
+ odr-use [[basic.def.odr]] of `declval` in the context of the
48
  corresponding definition notwithstanding the restrictions of 
49
  [[declval]].
50
 
51
  [*Note 1*: A union is a class type that can be marked with
52
  `final`. — *end note*]
 
127
 
128
  The set of scalar types for which this condition holds is
129
  *implementation-defined*.
130
 
131
  [*Note 4*: If a type has padding bits, the condition does not hold;
132
+ otherwise, the condition holds true for integral types. — *end note*]
 
133