|
8736 | 8736 | \tcode{is_nothrow_move_constructible_v<T> || is_nothrow_move_constructible_v<E>} |
8737 | 8737 | is \tcode{true}. |
8738 | 8738 | \end{itemize} |
| 8739 | + |
| 8740 | +\pnum |
| 8741 | +This operator is trivial if: |
| 8742 | +\begin{itemize} |
| 8743 | +\item \tcode{is_trivially_copy_constructible_v<T>} is \tcode{true}, and |
| 8744 | +\item \tcode{is_trivially_copy_assignable_v<T>} is \tcode{true}, and |
| 8745 | +\item \tcode{is_trivially_destructible_v<T>} is \tcode{true}, and |
| 8746 | +\item \tcode{is_trivially_copy_constructible_v<E>} is \tcode{true}, and |
| 8747 | +\item \tcode{is_trivially_copy_assignable_v<E>} is \tcode{true}, and |
| 8748 | +\item \tcode{is_trivially_destructible_v<E>} is \tcode{true}. |
| 8749 | +\end{itemize} |
8739 | 8750 | \end{itemdescr} |
8740 | 8751 |
|
8741 | 8752 | \indexlibrarymember{operator=}{expected}% |
|
8793 | 8804 | is_nothrow_move_assignable_v<T> && is_nothrow_move_constructible_v<T> && |
8794 | 8805 | is_nothrow_move_assignable_v<E> && is_nothrow_move_constructible_v<E> |
8795 | 8806 | \end{codeblock} |
| 8807 | + |
| 8808 | +\pnum |
| 8809 | +This operator is trivial if: |
| 8810 | +\begin{itemize} |
| 8811 | +\item \tcode{is_trivially_move_constructible_v<T>} is \tcode{true}, and |
| 8812 | +\item \tcode{is_trivially_move_assignable_v<T>} is \tcode{true}, and |
| 8813 | +\item \tcode{is_trivially_destructible_v<T>} is \tcode{true}, and |
| 8814 | +\item \tcode{is_trivially_move_constructible_v<E>} is \tcode{true}, and |
| 8815 | +\item \tcode{is_trivially_move_assignable_v<E>} is \tcode{true}, and |
| 8816 | +\item \tcode{is_trivially_destructible_v<E>} is \tcode{true}. |
| 8817 | +\end{itemize} |
8796 | 8818 | \end{itemdescr} |
8797 | 8819 |
|
8798 | 8820 | \indexlibrarymember{operator=}{expected}% |
|
9940 | 9962 | This operator is defined as deleted unless |
9941 | 9963 | \tcode{is_copy_assignable_v<E>} is \tcode{true} and |
9942 | 9964 | \tcode{is_copy_constructible_v<E>} is \tcode{true}. |
| 9965 | + |
| 9966 | +\pnum |
| 9967 | +This operator is trivial if |
| 9968 | +\tcode{is_trivially_copy_constructible_v<E>}, |
| 9969 | +\tcode{is_trivially_copy_assigna\-ble_v<E>}, and |
| 9970 | +\tcode{is_trivially_destructible_v<E>} |
| 9971 | +are all \tcode{true}. |
9943 | 9972 | \end{itemdescr} |
9944 | 9973 |
|
9945 | 9974 | \indexlibrarymember{operator=}{expected<void>}% |
|
9979 | 10008 | \remarks |
9980 | 10009 | The exception specification is equivalent to |
9981 | 10010 | \tcode{is_nothrow_move_constructible_v<E> \&\& is_nothrow_move_assignable_v<E>}. |
| 10011 | + |
| 10012 | +\pnum |
| 10013 | +This operator is trivial if |
| 10014 | +\tcode{is_trivially_move_constructible_v<E>}, |
| 10015 | +\tcode{is_trivially_move_assigna\-ble_v<E>}, and |
| 10016 | +\tcode{is_trivially_destructible_v<E>} |
| 10017 | +are all \tcode{true}. |
9982 | 10018 | \end{itemdescr} |
9983 | 10019 |
|
9984 | 10020 | \indexlibrarymember{operator=}{expected<void>}% |
|
0 commit comments