|
3407 | 3407 | \pnum
|
3408 | 3408 | \expects
|
3409 | 3409 | \tcode{Function} meets
|
3410 |
| -the \oldconcept{MoveConstructible} requirements (\tref{cpp17.moveconstructible}). |
| 3410 | +the \oldconcept{MoveConstructible} requirements\iref{utility.req.cpp17.moveconstructible}. |
3411 | 3411 | \begin{note}
|
3412 | 3412 | \tcode{Function} need not meet the requirements of
|
3413 |
| -\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}). |
| 3413 | +\oldconcept{CopyConstructible}\iref{utility.req.cpp17.copyconstructible}. |
3414 | 3414 | \end{note}
|
3415 | 3415 |
|
3416 | 3416 | \pnum
|
|
4961 | 4961 | For the overload with an \tcode{ExecutionPolicy},
|
4962 | 4962 | there might be a performance cost
|
4963 | 4963 | if \tcode{iterator_traits<For\-ward\-It\-er\-ator1>::value_type}
|
4964 |
| -is not \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}). |
| 4964 | +is not \oldconcept{\-Move\-Constructible}\iref{utility.req.cpp17.moveconstructible}. |
4965 | 4965 | \end{note}
|
4966 | 4966 |
|
4967 | 4967 | \pnum
|
|
5756 | 5756 | \expects
|
5757 | 5757 | For the algorithms in namespace \tcode{std},
|
5758 | 5758 | the type of \tcode{*first}
|
5759 |
| -meets the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 5759 | +meets the \oldconcept{MoveAssignable} requirements\iref{utility.req.cpp17.moveassignable}. |
5760 | 5760 |
|
5761 | 5761 | \pnum
|
5762 | 5762 | \effects
|
|
5864 | 5864 | For the overloads with an \tcode{ExecutionPolicy},
|
5865 | 5865 | there might be a performance cost
|
5866 | 5866 | if \tcode{iterator_traits<ForwardIterator1>::value_type} does not meet
|
5867 |
| -the \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}) requirements. |
| 5867 | +the \oldconcept{\-Move\-Constructible}\iref{utility.req.cpp17.moveconstructible} requirements. |
5868 | 5868 | \end{note}
|
5869 | 5869 |
|
5870 | 5870 | \pnum
|
|
5937 | 5937 | For the overloads in namepace \tcode{std},
|
5938 | 5938 | \tcode{pred} is an equivalence relation and
|
5939 | 5939 | the type of \tcode{*first} meets
|
5940 |
| -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 5940 | +the \oldconcept{MoveAssignable} requirements\iref{utility.req.cpp17.moveassignable}. |
5941 | 5941 |
|
5942 | 5942 | \pnum
|
5943 | 5943 | \effects
|
|
6043 | 6043 | the \oldconcept{ForwardIterator} requirements and
|
6044 | 6044 | its value type is the same as \tcode{T},
|
6045 | 6045 | then \tcode{T} meets
|
6046 |
| - the \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 6046 | + the \oldconcept{CopyAssignable}\iref{utility.req.cpp17.copyassignable} requirements. |
6047 | 6047 | Otherwise, \tcode{T} meets both
|
6048 |
| - the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
| 6048 | + the \oldconcept{CopyConstructible}\iref{utility.req.cpp17.copyconstructible} and |
6049 | 6049 | \oldconcept{CopyAssignable} requirements.
|
6050 | 6050 | \begin{note}
|
6051 | 6051 | For the overloads with an \tcode{ExecutionPolicy},
|
|
6193 | 6193 | \tcode{ForwardIterator} meets
|
6194 | 6194 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and
|
6195 | 6195 | the type of \tcode{*first} meets
|
6196 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6197 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6196 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 6197 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
6198 | 6198 |
|
6199 | 6199 | \pnum
|
6200 | 6200 | \effects
|
|
6691 | 6691 | \tcode{RandomAccessIterator} meets
|
6692 | 6692 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
6693 | 6693 | the type of \tcode{*first} meets
|
6694 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6695 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6694 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 6695 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
6696 | 6696 |
|
6697 | 6697 | \pnum
|
6698 | 6698 | \effects
|
|
6749 | 6749 | \tcode{RandomAccessIterator} meets
|
6750 | 6750 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
6751 | 6751 | the type of \tcode{*first} meets
|
6752 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6753 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6752 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 6753 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
6754 | 6754 |
|
6755 | 6755 | \pnum
|
6756 | 6756 | \effects
|
|
6819 | 6819 | \tcode{RandomAccessIterator} meets
|
6820 | 6820 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and
|
6821 | 6821 | the type of \tcode{*first} meets
|
6822 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6823 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6822 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 6823 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
6824 | 6824 |
|
6825 | 6825 | \pnum
|
6826 | 6826 | \effects
|
|
6927 | 6927 | \tcode{RandomAccessIterator} meets
|
6928 | 6928 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements},
|
6929 | 6929 | the type of \tcode{*result_first} meets
|
6930 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6931 |
| -\oldconcept{\-Move\-Assignable} (\tref{cpp17.moveassignable}) requirements. |
| 6930 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 6931 | +\oldconcept{\-Move\-Assignable}\iref{utility.req.cpp17.moveassignable} requirements. |
6932 | 6932 |
|
6933 | 6933 | \pnum
|
6934 | 6934 | For iterators \tcode{a1} and \tcode{b1} in \range{first}{last}, and
|
|
7132 | 7132 | \tcode{RandomAccessIterator} meets
|
7133 | 7133 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and
|
7134 | 7134 | the type of \tcode{*first} meets
|
7135 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7136 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7135 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 7136 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
7137 | 7137 |
|
7138 | 7138 | \pnum
|
7139 | 7139 | \effects
|
|
7540 | 7540 | \tcode{BidirectionalIterator} meets
|
7541 | 7541 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
7542 | 7542 | the type of \tcode{*first} meets
|
7543 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7544 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7543 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 7544 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
7545 | 7545 |
|
7546 | 7546 | \pnum
|
7547 | 7547 | \effects
|
|
7831 | 7831 | \tcode{BidirectionalIterator} meets
|
7832 | 7832 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
7833 | 7833 | the type of \tcode{*first} meets
|
7834 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7835 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7834 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 7835 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
7836 | 7836 |
|
7837 | 7837 | \pnum
|
7838 | 7838 | \effects
|
|
8399 | 8399 | is a valid heap with respect to \tcode{comp} and \tcode{proj}.
|
8400 | 8400 | For the overloads in namespace \tcode{std},
|
8401 | 8401 | the type of \tcode{*first} meets
|
8402 |
| -the \oldconcept{MoveConstructible} requirements (\tref{cpp17.moveconstructible}) and |
8403 |
| -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 8402 | +the \oldconcept{MoveConstructible} requirements\iref{utility.req.cpp17.moveconstructible} and |
| 8403 | +the \oldconcept{MoveAssignable} requirements\iref{utility.req.cpp17.moveassignable}. |
8404 | 8404 |
|
8405 | 8405 | \pnum
|
8406 | 8406 | \effects
|
|
8452 | 8452 | \tcode{RandomAccessIterator} meets
|
8453 | 8453 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and
|
8454 | 8454 | the type of \tcode{*first} meets
|
8455 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
8456 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 8455 | +the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} and |
| 8456 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
8457 | 8457 |
|
8458 | 8458 | \pnum
|
8459 | 8459 | \effects
|
|
8506 | 8506 | \expects
|
8507 | 8507 | For the overloads in namespace \tcode{std},
|
8508 | 8508 | the type of \tcode{*first} meets
|
8509 |
| -the \oldconcept{Move\-Constructible} (\tref{cpp17.moveconstructible}) and |
8510 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 8509 | +the \oldconcept{Move\-Constructible}\iref{utility.req.cpp17.moveconstructible} and |
| 8510 | +\oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} requirements. |
8511 | 8511 |
|
8512 | 8512 | \pnum
|
8513 | 8513 | \effects
|
|
8559 | 8559 | \tcode{RandomAccessIterator} meets
|
8560 | 8560 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and
|
8561 | 8561 | the type of \tcode{*first} meets
|
8562 |
| -the \oldconcept{MoveConst\-ruct\-ible} (\tref{cpp17.moveconstructible}) and |
8563 |
| -\oldconcept{Move\-Assign\-able} (\tref{cpp17.moveassignable}) requirements. |
| 8562 | +the \oldconcept{MoveConst\-ruct\-ible}\iref{utility.req.cpp17.moveconstructible} and |
| 8563 | +\oldconcept{Move\-Assign\-able}\iref{utility.req.cpp17.moveassignable} requirements. |
8564 | 8564 |
|
8565 | 8565 | \pnum
|
8566 | 8566 | \effects
|
|
8719 | 8719 | \pnum
|
8720 | 8720 | \expects
|
8721 | 8721 | For the first form, \tcode{T} meets the
|
8722 |
| -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8722 | +\oldconcept{LessThanComparable} requirements\iref{utility.req.cpp17.lessthancomparable}. |
8723 | 8723 |
|
8724 | 8724 | \pnum
|
8725 | 8725 | \returns
|
|
8761 | 8761 | For the overloads in namespace \tcode{std},
|
8762 | 8762 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements.
|
8763 | 8763 | For the first form, \tcode{T} meets the \oldconcept{LessThanComparable}
|
8764 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 8764 | +requirements\iref{utility.req.cpp17.lessthancomparable}. |
8765 | 8765 |
|
8766 | 8766 | \pnum
|
8767 | 8767 | \returns
|
|
8797 | 8797 | \pnum
|
8798 | 8798 | \expects
|
8799 | 8799 | For the first form, \tcode{T} meets the
|
8800 |
| -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8800 | +\oldconcept{LessThanComparable} requirements\iref{utility.req.cpp17.lessthancomparable}. |
8801 | 8801 |
|
8802 | 8802 | \pnum
|
8803 | 8803 | \returns
|
|
8839 | 8839 | For the overloads in namespace \tcode{std},
|
8840 | 8840 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements.
|
8841 | 8841 | For the first form, \tcode{T} meets the \oldconcept{LessThanComparable}
|
8842 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 8842 | +requirements\iref{utility.req.cpp17.lessthancomparable}. |
8843 | 8843 |
|
8844 | 8844 | \pnum
|
8845 | 8845 | \returns
|
|
8877 | 8877 | \pnum
|
8878 | 8878 | \expects
|
8879 | 8879 | For the first form, \tcode{T} meets the
|
8880 |
| -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8880 | +\oldconcept{LessThanComparable} requirements\iref{utility.req.cpp17.lessthancomparable}. |
8881 | 8881 |
|
8882 | 8882 | \pnum
|
8883 | 8883 | \returns
|
|
8920 | 8920 | For the overloads in namespace \tcode{std},
|
8921 | 8921 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements.
|
8922 | 8922 | For the first form, type \tcode{T} meets the \oldconcept{LessThanComparable}
|
8923 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 8923 | +requirements\iref{utility.req.cpp17.lessthancomparable}. |
8924 | 8924 |
|
8925 | 8925 | \pnum
|
8926 | 8926 | \returns
|
|
9112 | 9112 | \tcode{bool(invoke(comp, invoke(proj, hi), invoke(proj, lo)))} is \tcode{false}.
|
9113 | 9113 | For the first form, type \tcode{T}
|
9114 | 9114 | meets the \oldconcept{LessThan\-Comparable}
|
9115 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 9115 | +requirements\iref{utility.req.cpp17.lessthancomparable}. |
9116 | 9116 |
|
9117 | 9117 | \pnum
|
9118 | 9118 | \returns
|
|
9665 | 9665 | \pnum
|
9666 | 9666 | \expects
|
9667 | 9667 | \tcode{T} meets
|
9668 |
| -the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) |
9669 |
| -and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 9668 | +the \oldconcept{CopyConstructible}\iref{utility.req.cpp17.copyconstructible} |
| 9669 | +and \oldconcept{CopyAssignable}\iref{utility.req.cpp17.copyassignable} requirements. |
9670 | 9670 | In the range \crange{first}{last},
|
9671 | 9671 | \tcode{binary_op} neither modifies elements
|
9672 | 9672 | nor invalidates iterators or subranges.
|
|
9788 | 9788 | \expects
|
9789 | 9789 | \begin{itemize}
|
9790 | 9790 | \item
|
9791 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 9791 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} requirements. |
9792 | 9792 | \item
|
9793 | 9793 | \tcode{binary_op} neither invalidates iterators or subranges,
|
9794 | 9794 | nor modifies elements in the range \crange{first}{last}.
|
|
9832 | 9832 | \pnum
|
9833 | 9833 | \expects
|
9834 | 9834 | \tcode{T} meets
|
9835 |
| -the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) |
9836 |
| -and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 9835 | +the \oldconcept{CopyConstructible}\iref{utility.req.cpp17.copyconstructible} |
| 9836 | +and \oldconcept{CopyAssignable}\iref{utility.req.cpp17.copyassignable} requirements. |
9837 | 9837 | In the ranges \crange{first1}{last1} and
|
9838 | 9838 | \crange{first2}{first2 + (last1 - first1)}
|
9839 | 9839 | \tcode{binary_op1} and \tcode{binary_op2}
|
|
9928 | 9928 | \expects
|
9929 | 9929 | \begin{itemize}
|
9930 | 9930 | \item
|
9931 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 9931 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} requirements. |
9932 | 9932 | \item
|
9933 | 9933 | Neither \tcode{binary_op1} nor \tcode{binary_op2}
|
9934 | 9934 | invalidates subranges, nor modifies elements in the ranges
|
|
9978 | 9978 | \expects
|
9979 | 9979 | \begin{itemize}
|
9980 | 9980 | \item
|
9981 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 9981 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} requirements. |
9982 | 9982 | \item
|
9983 | 9983 | Neither \tcode{unary_op} nor \tcode{binary_op} invalidates subranges,
|
9984 | 9984 | nor modifies elements in the range \crange{first}{last}.
|
|
10127 | 10127 | \expects
|
10128 | 10128 | \begin{itemize}
|
10129 | 10129 | \item
|
10130 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10130 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} requirements. |
10131 | 10131 | \item
|
10132 | 10132 | \tcode{binary_op} neither invalidates iterators or subranges,
|
10133 | 10133 | nor modifies elements in
|
|
10248 | 10248 | \begin{itemize}
|
10249 | 10249 | \item
|
10250 | 10250 | If \tcode{init} is provided,
|
10251 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements; |
| 10251 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} requirements; |
10252 | 10252 | otherwise, \tcode{U}
|
10253 | 10253 | meets the \oldconcept{MoveConstructible} requirements.
|
10254 | 10254 | \item
|
|
10327 | 10327 | \expects
|
10328 | 10328 | \begin{itemize}
|
10329 | 10329 | \item
|
10330 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10330 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} requirements. |
10331 | 10331 | \item
|
10332 | 10332 | Neither \tcode{unary_op} nor \tcode{binary_op}
|
10333 | 10333 | invalidates iterators or subranges, nor modifies elements in
|
|
10426 | 10426 | \begin{itemize}
|
10427 | 10427 | \item
|
10428 | 10428 | If \tcode{init} is provided, \tcode{T} meets the
|
10429 |
| - \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements; |
| 10429 | + \oldconcept{MoveConstructible}\iref{utility.req.cpp17.moveconstructible} requirements; |
10430 | 10430 | otherwise, \tcode{U} meets the
|
10431 | 10431 | \oldconcept{MoveConstructible} requirements.
|
10432 | 10432 | \item
|
|
10527 | 10527 | \begin{itemize}
|
10528 | 10528 | \item
|
10529 | 10529 | For the overloads with no \tcode{ExecutionPolicy},
|
10530 |
| - \tcode{T} meets the \oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) |
| 10530 | + \tcode{T} meets the \oldconcept{MoveAssignable}\iref{utility.req.cpp17.moveassignable} |
10531 | 10531 | requirements.
|
10532 | 10532 | \item
|
10533 | 10533 | For all overloads, in the ranges \crange{first}{last}
|
|
0 commit comments