@@ -402,8 +402,8 @@ class BuiltInOperationIsConvertible extends BuiltInOperation, @isconvertible {
402
402
* A C++ `__is_nothrow_convertible` built-in operation (used by some implementations
403
403
* of the `<type_traits>` header).
404
404
*
405
- * Returns `true` if the first type can be converted to the second type without
406
- * potentially rasing an exception.
405
+ * Returns `true` if the first type can be converted to the second type and the
406
+ * conversion operator has an empty exception specification .
407
407
* ```
408
408
* bool v = __is_nothrow_convertible(MyType, OtherType);
409
409
* ```
@@ -678,8 +678,7 @@ class BuiltInOperationIsTriviallyAssignable extends BuiltInOperation, @istrivial
678
678
* The `__is_nothrow_assignable` built-in operation (used by some
679
679
* implementations of the `<type_traits>` header).
680
680
*
681
- * Returns true if there exists a `C::operator =(const D& d) nothrow`
682
- * assignment operator (i.e, with an empty exception specification).
681
+ * Returns true if there exists an assignment operator with an empty exception specification.
683
682
* ```
684
683
* bool v = __is_nothrow_assignable(MyType1, MyType2);
685
684
* ```
@@ -694,8 +693,7 @@ class BuiltInOperationIsNothrowAssignable extends BuiltInOperation, @isnothrowas
694
693
* The `__is_assignable` built-in operation (used by some implementations
695
694
* of the `<type_traits>` header).
696
695
*
697
- * Returns true if there exists a `C::operator =(const D& d)` assignment
698
- * operator.
696
+ * Returns true if there exists an assignment operator.
699
697
* ```
700
698
* bool v = __is_assignable(MyType1, MyType2);
701
699
* ```
@@ -710,8 +708,7 @@ class BuiltInOperationIsAssignable extends BuiltInOperation, @isassignable {
710
708
* The `__is_assignable_no_precondition_check` built-in operation (used by some
711
709
* implementations of the `<type_traits>` header).
712
710
*
713
- * Returns true if there exists a `C::operator =(const D& d)` assignment
714
- * operator.
711
+ * Returns true if there exists an assignment operator.
715
712
* ```
716
713
* bool v = __is_assignable_no_precondition_check(MyType1, MyType2);
717
714
* ```
@@ -1207,7 +1204,7 @@ class BuiltInOperationIsPointerInterconvertibleBaseOf extends BuiltInOperation,
1207
1204
* A C++ `__is_pointer_interconvertible_with_class` built-in operation (used
1208
1205
* by some implementations of the `<type_traits>` header).
1209
1206
*
1210
- * Returns `true` if the member pointer is pointer-interconvertible with a
1207
+ * Returns `true` if a member pointer is pointer-interconvertible with a
1211
1208
* class type.
1212
1209
* ```
1213
1210
* template<typename _Tp, typename _Up>
@@ -1229,7 +1226,7 @@ class BuiltInOperationIsPointerInterconvertibleWithClass extends BuiltInOperatio
1229
1226
* A C++ `__builtin_is_pointer_interconvertible_with_class` built-in operation (used
1230
1227
* by some implementations of the `<type_traits>` header).
1231
1228
*
1232
- * Returns `true` if the member pointer is pointer-interconvertible with a class type.
1229
+ * Returns `true` if a member pointer is pointer-interconvertible with a class type.
1233
1230
* ```
1234
1231
* template<typename _Tp, typename _Up>
1235
1232
* constexpr bool is_pointer_interconvertible_with_class(_Up _Tp::*mp) noexcept
@@ -1250,7 +1247,7 @@ class BuiltInOperationBuiltInIsPointerInterconvertible extends BuiltInOperation,
1250
1247
* A C++ `__is_corresponding_member` built-in operation (used
1251
1248
* by some implementations of the `<type_traits>` header).
1252
1249
*
1253
- * Returns `true` if the member pointers refer to corresponding
1250
+ * Returns `true` if two member pointers refer to corresponding
1254
1251
* members in the initial sequences of two class types.
1255
1252
* ```
1256
1253
* template<typename _Tp1, typename _Tp2, typename _Up1, typename _Up2>
@@ -1268,7 +1265,7 @@ class BuiltInOperationIsCorrespondingMember extends BuiltInOperation, @iscorresp
1268
1265
* A C++ `__builtin_is_corresponding_member` built-in operation (used
1269
1266
* by some implementations of the `<type_traits>` header).
1270
1267
*
1271
- * Returns `true` if the member pointers refer to corresponding
1268
+ * Returns `true` if two member pointers refer to corresponding
1272
1269
* members in the initial sequences of two class types.
1273
1270
* ```
1274
1271
* template<typename _Tp1, typename _Tp2, typename _Up1, typename _Up2>
@@ -1770,11 +1767,12 @@ class BuiltInIsTrivial extends BuiltInOperation, @istrivialexpr {
1770
1767
* A C++ `__reference_constructs_from_temporary` built-in operation
1771
1768
* (used by some implementations of the `<type_traits>` header).
1772
1769
*
1773
- * Returns `true` if a type is a trivial type.
1770
+ * Returns `true` if a reference type `_Tp` is bound to an expression of
1771
+ * type `_Up` in direct-initialization, and a temporary object is bound.
1774
1772
* ```
1775
- * template<typename _Tp>
1773
+ * template<typename _Tp, typename _Up >
1776
1774
* struct reference_constructs_from_temporary
1777
- * : public integral_constant<bool, __reference_constructs_from_temporary(_Tp)>
1775
+ * : public integral_constant<bool, __reference_constructs_from_temporary(_Tp, _Up )>
1778
1776
* {};
1779
1777
* ```
1780
1778
*/
@@ -1792,18 +1790,19 @@ class BuiltInOperationReferenceConstructsFromTemporary extends BuiltInOperation,
1792
1790
* A C++ `__reference_converts_from_temporary` built-in operation
1793
1791
* (used by some implementations of the `<type_traits>` header).
1794
1792
*
1795
- * Returns `true` if a type is a trivial type.
1793
+ * Returns `true` if a reference type `_Tp` is bound to an expression of
1794
+ * type `_Up` in copy-initialization, and a temporary object is bound.
1796
1795
* ```
1797
- * template<typename _Tp>
1796
+ * template<typename _Tp, typename _Up >
1798
1797
* struct reference_converts_from_temporary
1799
- * : public integral_constant<bool, __reference_converts_from_temporary(_Tp)>
1798
+ * : public integral_constant<bool, __reference_converts_from_temporary(_Tp, _Up )>
1800
1799
* {};
1801
1800
* ```
1802
1801
*/
1803
1802
class BuiltInOperationReferenceCovertsFromTemporary extends BuiltInOperation ,
1804
1803
@referenceconstructsfromtemporary
1805
1804
{
1806
- override string toString ( ) { result = "__reference_constructs_from_temporary " }
1805
+ override string toString ( ) { result = "__reference_converts_from_temporary " }
1807
1806
1808
1807
override string getAPrimaryQlClass ( ) { result = "BuiltInOperationReferenceCovertsFromTemporary" }
1809
1808
}
@@ -1812,8 +1811,8 @@ class BuiltInOperationReferenceCovertsFromTemporary extends BuiltInOperation,
1812
1811
* A C++ `__reference_binds_to_temporary` built-in operation (used by some
1813
1812
* implementations of the `<tuple>` header).
1814
1813
*
1815
- * Returns `true` if a reference of type `Type1` bound to an expression of
1816
- * type `Type1` binds to a temporary object.
1814
+ * Returns `true` if a reference of type `Type1` is bound to an expression of
1815
+ * type `Type1`, and a temporary object is bound .
1817
1816
* ```
1818
1817
* __reference_binds_to_temporary(Type1, Type2)
1819
1818
*/
@@ -1827,8 +1826,8 @@ class BuiltInOperationReferenceBindsToTemporary extends BuiltInOperation, @refer
1827
1826
/**
1828
1827
* A C++ `__builtin_has_attribute` built-in operation.
1829
1828
*
1830
- * Returns `true` if a type or expression has been declared with an
1831
- * attribute.
1829
+ * Returns `true` if a type or expression has been declared with the
1830
+ * specified attribute.
1832
1831
* ```
1833
1832
* __attribute__ ((aligned(8))) int v;
1834
1833
* bool has_attribute = __builtin_has_attribute(v, aligned);
0 commit comments