|
743 | 743 | the object referenced by \tcode{*ptr} is an atomic object\iref{intro.races}.
|
744 | 744 |
|
745 | 745 | \pnum
|
746 |
| -The template argument for \tcode{T} |
747 |
| -shall be trivially copyable\iref{basic.types}. |
| 746 | +The program is ill-formed if \tcode{is_trivially_copyable_v<T>} is \tcode{false}. |
748 | 747 |
|
749 | 748 | \pnum
|
750 | 749 | The lifetime\iref{basic.life} of an object referenced by \tcode{*ptr}
|
|
836 | 835 |
|
837 | 836 | \begin{itemdescr}
|
838 | 837 | \pnum
|
839 |
| -\requires The referenced object shall be aligned to \tcode{required_alignment}. |
| 838 | +\expects |
| 839 | +The referenced object is aligned to \tcode{required_alignment}. |
840 | 840 |
|
841 | 841 | \pnum
|
842 |
| -\effects |
843 |
| -Constructs an atomic reference that references the object. |
| 842 | +\ensures |
| 843 | +\tcode{*this} references \tcode{obj}. |
844 | 844 |
|
845 | 845 | \pnum
|
846 | 846 | \throws
|
|
857 | 857 |
|
858 | 858 | \begin{itemdescr}
|
859 | 859 | \pnum
|
860 |
| -\effects |
861 |
| -Constructs an atomic reference |
862 |
| -that references the object referenced by \tcode{ref}. |
| 860 | +\ensures |
| 861 | +\tcode{*this} references the object referenced by \tcode{ref}. |
863 | 862 | \end{itemdescr}
|
864 | 863 |
|
865 | 864 | \indexlibrarymember{store}{atomic_ref}%
|
|
872 | 871 |
|
873 | 872 | \begin{itemdescr}
|
874 | 873 | \pnum
|
875 |
| -\requires The \tcode{order} argument shall not be |
| 874 | +\expects |
| 875 | +The \tcode{order} argument is neither |
876 | 876 | \tcode{memory_order_consume},
|
877 | 877 | \tcode{memory_order_acquire}, nor
|
878 | 878 | \tcode{memory_order_acq_rel}.
|
|
912 | 912 |
|
913 | 913 | \begin{itemdescr}
|
914 | 914 | \pnum
|
915 |
| -\requires The \tcode{order} argument shall not be |
| 915 | +\expects |
| 916 | +The \tcode{order} argument is neither |
916 | 917 | \tcode{memory_order_release} nor \tcode{memory_order_acq_rel}.
|
917 | 918 |
|
918 | 919 | \pnum
|
|
984 | 985 |
|
985 | 986 | \begin{itemdescr}
|
986 | 987 | \pnum
|
987 |
| -\requires The \tcode{failure} argument shall not be |
| 988 | +\expects |
| 989 | +The \tcode{failure} argument is neither |
988 | 990 | \tcode{memory_order_release} nor \tcode{memory_order_acq_rel}.
|
989 | 991 |
|
990 | 992 | \pnum
|
|
1443 | 1445 |
|
1444 | 1446 | \begin{itemdescr}
|
1445 | 1447 | \pnum
|
1446 |
| -\requires \tcode{T} shall be an object type, |
1447 |
| -otherwise the program is ill-formed. |
| 1448 | +\mandates |
| 1449 | +\tcode{T} is a complete object type. |
1448 | 1450 |
|
1449 | 1451 | \pnum
|
1450 | 1452 | \effects
|
|
1710 | 1712 |
|
1711 | 1713 | \begin{itemdescr}
|
1712 | 1714 | \pnum
|
1713 |
| -\requires The \tcode{order} argument shall not be \tcode{memory_order::consume}, |
| 1715 | +\expects |
| 1716 | +The \tcode{order} argument is neither \tcode{memory_order::consume}, |
1714 | 1717 | \tcode{memory_order::acquire}, nor \tcode{memory_order::acq_rel}.
|
1715 | 1718 |
|
1716 | 1719 | \pnum
|
|
1752 | 1755 |
|
1753 | 1756 | \begin{itemdescr}
|
1754 | 1757 | \pnum
|
1755 |
| -\requires The \tcode{order} argument shall not be \tcode{memory_order::release} nor \tcode{memory_order::acq_rel}. |
| 1758 | +\expects |
| 1759 | +The \tcode{order} argument is neither \tcode{memory_order::release} nor \tcode{memory_order::acq_rel}. |
1756 | 1760 |
|
1757 | 1761 | \pnum
|
1758 | 1762 | \effects
|
|
1836 | 1840 |
|
1837 | 1841 | \begin{itemdescr}
|
1838 | 1842 | \pnum
|
1839 |
| -\requires The \tcode{failure} argument shall not be \tcode{memory_order::release} nor |
| 1843 | +\expects |
| 1844 | +The \tcode{failure} argument is neither \tcode{memory_order::release} nor |
1840 | 1845 | \tcode{memory_order::acq_rel}.
|
1841 | 1846 |
|
1842 | 1847 | \pnum
|
|
2539 | 2544 |
|
2540 | 2545 | \begin{itemdescr}
|
2541 | 2546 | \pnum
|
2542 |
| -\requires T shall be an object type, otherwise the program is ill-formed. |
| 2547 | +\mandates |
| 2548 | +\tcode{T} is a complete object type. |
2543 | 2549 | \begin{note}
|
2544 | 2550 | Pointer arithmetic on \tcode{void*} or function pointers is ill-formed.
|
2545 | 2551 | \end{note}
|
|
3414 | 3420 |
|
3415 | 3421 | \begin{itemdescr}
|
3416 | 3422 | \pnum
|
3417 |
| -\requires The \tcode{order} argument shall not be \tcode{memory_order::consume}, |
| 3423 | +\expects |
| 3424 | +The \tcode{order} argument is neither \tcode{memory_order::consume}, |
3418 | 3425 | \tcode{memory_order::acquire}, nor \tcode{memory_order::acq_rel}.
|
3419 | 3426 |
|
3420 | 3427 | \pnum
|
|
0 commit comments