From Jason Turner

[meta.unary.prop]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpdcl44va6/{from.md → to.md} +10 -9
tmp/tmpdcl44va6/{from.md → to.md} RENAMED
@@ -1,9 +1,9 @@
1
  #### Type properties <a id="meta.unary.prop">[[meta.unary.prop]]</a>
2
 
3
- These templates provide access to some of the more important properties
4
- of types.
5
 
6
  It is unspecified whether the library defines any full or partial
7
  specializations of any of these templates.
8
 
9
  For all of the class templates `X` declared in this subclause,
@@ -89,20 +89,21 @@ effects such as the instantiation of class template specializations and
89
  function template specializations, the generation of implicitly-defined
90
  functions, and so on. Such side effects are not in the “immediate
91
  context” and can result in the program being ill-formed. — *end note*]
92
 
93
  The predicate condition for a template specialization
94
- `has_unique_object_representations<T>` shall be satisfied if and only
95
- if:
96
 
97
  - `T` is trivially copyable, and
98
  - any two objects of type `T` with the same value have the same object
99
- representation, where two objects of array or non-union class type are
100
- considered to have the same value if their respective sequences of
101
- direct subobjects have the same values, and two objects of union type
102
- are considered to have the same value if they have the same active
103
- member and the corresponding members have the same value.
 
 
104
 
105
  The set of scalar types for which this condition holds is
106
  *implementation-defined*.
107
 
108
  [*Note 4*: If a type has padding bits, the condition does not hold;
 
1
  #### Type properties <a id="meta.unary.prop">[[meta.unary.prop]]</a>
2
 
3
+ The templates specified in [[meta.unary.prop]] provide access to some of
4
+ the more important properties of types.
5
 
6
  It is unspecified whether the library defines any full or partial
7
  specializations of any of these templates.
8
 
9
  For all of the class templates `X` declared in this subclause,
 
89
  function template specializations, the generation of implicitly-defined
90
  functions, and so on. Such side effects are not in the “immediate
91
  context” and can result in the program being ill-formed. — *end note*]
92
 
93
  The predicate condition for a template specialization
94
+ `has_unique_object_representations<T>` shall be satisfied if and only if
 
95
 
96
  - `T` is trivially copyable, and
97
  - any two objects of type `T` with the same value have the same object
98
+ representation, where
99
+ - two objects of array or non-union class type are considered to have
100
+ the same value if their respective sequences of direct subobjects
101
+ have the same values, and
102
+ - two objects of union type are considered to have the same value if
103
+ they have the same active member and the corresponding members have
104
+ the same value.
105
 
106
  The set of scalar types for which this condition holds is
107
  *implementation-defined*.
108
 
109
  [*Note 4*: If a type has padding bits, the condition does not hold;