|
3458 | 3458 | \pnum
|
3459 | 3459 | \expects
|
3460 | 3460 | \tcode{Function} meets
|
3461 |
| -the \oldconcept{MoveConstructible} requirements (\tref{cpp17.moveconstructible}). |
| 3461 | +the \oldconcept{MoveConstructible} requirements\iref{cpp17.moveconstructible}. |
3462 | 3462 | \begin{note}
|
3463 | 3463 | \tcode{Function} need not meet the requirements of
|
3464 |
| -\oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}). |
| 3464 | +\oldconcept{CopyConstructible}\iref{cpp17.copyconstructible}. |
3465 | 3465 | \end{note}
|
3466 | 3466 |
|
3467 | 3467 | \pnum
|
|
5029 | 5029 | For the overload with an \tcode{ExecutionPolicy},
|
5030 | 5030 | there might be a performance cost
|
5031 | 5031 | if \tcode{iterator_traits<For\-ward\-It\-er\-ator1>::value_type}
|
5032 |
| -is not \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}). |
| 5032 | +is not \oldconcept{\-Move\-Constructible}\iref{cpp17.moveconstructible}. |
5033 | 5033 | \end{note}
|
5034 | 5034 |
|
5035 | 5035 | \pnum
|
|
5840 | 5840 | \expects
|
5841 | 5841 | For the algorithms in namespace \tcode{std},
|
5842 | 5842 | the type of \tcode{*first}
|
5843 |
| -meets the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 5843 | +meets the \oldconcept{MoveAssignable} requirements\iref{cpp17.moveassignable}. |
5844 | 5844 |
|
5845 | 5845 | \pnum
|
5846 | 5846 | \effects
|
|
5950 | 5950 | For the overloads with an \tcode{ExecutionPolicy},
|
5951 | 5951 | there might be a performance cost
|
5952 | 5952 | if \tcode{iterator_traits<ForwardIterator1>::value_type} does not meet
|
5953 |
| -the \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}) requirements. |
| 5953 | +the \oldconcept{\-Move\-Constructible}\iref{cpp17.moveconstructible} requirements. |
5954 | 5954 | \end{note}
|
5955 | 5955 |
|
5956 | 5956 | \pnum
|
|
6023 | 6023 | For the overloads in namespace \tcode{std},
|
6024 | 6024 | \tcode{pred} is an equivalence relation and
|
6025 | 6025 | the type of \tcode{*first} meets
|
6026 |
| -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 6026 | +the \oldconcept{MoveAssignable} requirements\iref{cpp17.moveassignable}. |
6027 | 6027 |
|
6028 | 6028 | \pnum
|
6029 | 6029 | \effects
|
|
6129 | 6129 | the \oldconcept{ForwardIterator} requirements and
|
6130 | 6130 | its value type is the same as \tcode{T},
|
6131 | 6131 | then \tcode{T} meets
|
6132 |
| - the \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 6132 | + the \oldconcept{CopyAssignable}\iref{cpp17.copyassignable} requirements. |
6133 | 6133 | Otherwise, \tcode{T} meets both
|
6134 |
| - the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
| 6134 | + the \oldconcept{CopyConstructible}\iref{cpp17.copyconstructible} and |
6135 | 6135 | \oldconcept{CopyAssignable} requirements.
|
6136 | 6136 | \begin{note}
|
6137 | 6137 | For the overloads with an \tcode{ExecutionPolicy},
|
|
6279 | 6279 | \tcode{ForwardIterator} meets
|
6280 | 6280 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and
|
6281 | 6281 | the type of \tcode{*first} meets
|
6282 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6283 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6282 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6283 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6284 | 6284 |
|
6285 | 6285 | \pnum
|
6286 | 6286 | \effects
|
|
6671 | 6671 | For algorithms other than those described in~\ref{alg.binary.search},
|
6672 | 6672 | \tcode{comp} shall induce a strict weak ordering on the values.
|
6673 | 6673 |
|
| 6674 | +\indextext{strict weak order} |
6674 | 6675 | \pnum
|
6675 | 6676 | The term \term{strict} refers to the requirement
|
6676 | 6677 | of an irreflexive relation (\tcode{!comp(x, x)} for all \tcode{x}),
|
|
6777 | 6778 | \tcode{RandomAccessIterator} meets
|
6778 | 6779 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
6779 | 6780 | the type of \tcode{*first} meets
|
6780 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6781 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6781 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6782 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6782 | 6783 |
|
6783 | 6784 | \pnum
|
6784 | 6785 | \effects
|
|
6835 | 6836 | \tcode{RandomAccessIterator} meets
|
6836 | 6837 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
6837 | 6838 | the type of \tcode{*first} meets
|
6838 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6839 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6839 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6840 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6840 | 6841 |
|
6841 | 6842 | \pnum
|
6842 | 6843 | \effects
|
|
6905 | 6906 | \tcode{RandomAccessIterator} meets
|
6906 | 6907 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and
|
6907 | 6908 | the type of \tcode{*first} meets
|
6908 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6909 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6909 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6910 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6910 | 6911 |
|
6911 | 6912 | \pnum
|
6912 | 6913 | \effects
|
|
7013 | 7014 | \tcode{RandomAccessIterator} meets
|
7014 | 7015 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements},
|
7015 | 7016 | the type of \tcode{*result_first} meets
|
7016 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7017 |
| -\oldconcept{\-Move\-Assignable} (\tref{cpp17.moveassignable}) requirements. |
| 7017 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7018 | +\oldconcept{\-Move\-Assignable}\iref{cpp17.moveassignable} requirements. |
7018 | 7019 |
|
7019 | 7020 | \pnum
|
7020 | 7021 | For iterators \tcode{a1} and \tcode{b1} in \range{first}{last}, and
|
|
7218 | 7219 | \tcode{RandomAccessIterator} meets
|
7219 | 7220 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and
|
7220 | 7221 | the type of \tcode{*first} meets
|
7221 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7222 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7222 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7223 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
7223 | 7224 |
|
7224 | 7225 | \pnum
|
7225 | 7226 | \effects
|
|
7639 | 7640 | \tcode{BidirectionalIterator} meets
|
7640 | 7641 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
7641 | 7642 | the type of \tcode{*first} meets
|
7642 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7643 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7643 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7644 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
7644 | 7645 |
|
7645 | 7646 | \pnum
|
7646 | 7647 | \effects
|
|
7930 | 7931 | \tcode{BidirectionalIterator} meets
|
7931 | 7932 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and
|
7932 | 7933 | the type of \tcode{*first} meets
|
7933 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7934 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7934 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7935 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
7935 | 7936 |
|
7936 | 7937 | \pnum
|
7937 | 7938 | \effects
|
|
8500 | 8501 | \tcode{RandomAccessIterator} meets
|
8501 | 8502 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and
|
8502 | 8503 | the type of \tcode{*first} meets
|
8503 |
| -the \oldconcept{MoveConstructible} requirements (\tref{cpp17.moveconstructible}) and |
8504 |
| -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 8504 | +the \oldconcept{MoveConstructible} requirements\iref{cpp17.moveconstructible} and |
| 8505 | +the \oldconcept{MoveAssignable} requirements\iref{cpp17.moveassignable}. |
8505 | 8506 |
|
8506 | 8507 | \pnum
|
8507 | 8508 | \effects
|
|
8553 | 8554 | \tcode{RandomAccessIterator} meets
|
8554 | 8555 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and
|
8555 | 8556 | the type of \tcode{*first} meets
|
8556 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
8557 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 8557 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 8558 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
8558 | 8559 |
|
8559 | 8560 | \pnum
|
8560 | 8561 | \effects
|
|
8609 | 8610 | \tcode{RandomAccessIterator} meets
|
8610 | 8611 | the \oldconcept{ValueSwap\-pable} requirements\iref{swappable.requirements} and
|
8611 | 8612 | the type of \tcode{*first} meets
|
8612 |
| -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
8613 |
| -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 8613 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 8614 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
8614 | 8615 |
|
8615 | 8616 | \pnum
|
8616 | 8617 | \effects
|
|
8662 | 8663 | \tcode{RandomAccessIterator} meets
|
8663 | 8664 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and
|
8664 | 8665 | the type of \tcode{*first} meets
|
8665 |
| -the \oldconcept{MoveConst\-ruct\-ible} (\tref{cpp17.moveconstructible}) and |
8666 |
| -\oldconcept{Move\-Assign\-able} (\tref{cpp17.moveassignable}) requirements. |
| 8666 | +the \oldconcept{MoveConst\-ruct\-ible}\iref{cpp17.moveconstructible} and |
| 8667 | +\oldconcept{Move\-Assign\-able}\iref{cpp17.moveassignable} requirements. |
8667 | 8668 |
|
8668 | 8669 | \pnum
|
8669 | 8670 | \effects
|
|
8822 | 8823 | \pnum
|
8823 | 8824 | \expects
|
8824 | 8825 | For the first form, \tcode{T} meets the
|
8825 |
| -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8826 | +\oldconcept{LessThanComparable} requirements\iref{cpp17.lessthancomparable}. |
8826 | 8827 |
|
8827 | 8828 | \pnum
|
8828 | 8829 | \returns
|
|
8864 | 8865 | For the overloads in namespace \tcode{std},
|
8865 | 8866 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements.
|
8866 | 8867 | For the first form, \tcode{T} meets the \oldconcept{LessThanComparable}
|
8867 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 8868 | +requirements\iref{cpp17.lessthancomparable}. |
8868 | 8869 |
|
8869 | 8870 | \pnum
|
8870 | 8871 | \returns
|
|
8900 | 8901 | \pnum
|
8901 | 8902 | \expects
|
8902 | 8903 | For the first form, \tcode{T} meets the
|
8903 |
| -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8904 | +\oldconcept{LessThanComparable} requirements\iref{cpp17.lessthancomparable}. |
8904 | 8905 |
|
8905 | 8906 | \pnum
|
8906 | 8907 | \returns
|
|
8942 | 8943 | For the overloads in namespace \tcode{std},
|
8943 | 8944 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements.
|
8944 | 8945 | For the first form, \tcode{T} meets the \oldconcept{LessThanComparable}
|
8945 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 8946 | +requirements\iref{cpp17.lessthancomparable}. |
8946 | 8947 |
|
8947 | 8948 | \pnum
|
8948 | 8949 | \returns
|
|
8980 | 8981 | \pnum
|
8981 | 8982 | \expects
|
8982 | 8983 | For the first form, \tcode{T} meets the
|
8983 |
| -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8984 | +\oldconcept{LessThanComparable} requirements\iref{cpp17.lessthancomparable}. |
8984 | 8985 |
|
8985 | 8986 | \pnum
|
8986 | 8987 | \returns
|
|
9023 | 9024 | For the overloads in namespace \tcode{std},
|
9024 | 9025 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements.
|
9025 | 9026 | For the first form, type \tcode{T} meets the \oldconcept{LessThanComparable}
|
9026 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 9027 | +requirements\iref{cpp17.lessthancomparable}. |
9027 | 9028 |
|
9028 | 9029 | \pnum
|
9029 | 9030 | \returns
|
|
9215 | 9216 | \tcode{bool(invoke(comp, invoke(proj, hi), invoke(proj, lo)))} is \tcode{false}.
|
9216 | 9217 | For the first form, type \tcode{T}
|
9217 | 9218 | meets the \oldconcept{LessThan\-Comparable}
|
9218 |
| -requirements (\tref{cpp17.lessthancomparable}). |
| 9219 | +requirements\iref{cpp17.lessthancomparable}. |
9219 | 9220 |
|
9220 | 9221 | \pnum
|
9221 | 9222 | \returns
|
|
9780 | 9781 | \pnum
|
9781 | 9782 | \expects
|
9782 | 9783 | \tcode{T} meets
|
9783 |
| -the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) |
9784 |
| -and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 9784 | +the \oldconcept{CopyConstructible}\iref{cpp17.copyconstructible} |
| 9785 | +and \oldconcept{CopyAssignable}\iref{cpp17.copyassignable} requirements. |
9785 | 9786 | In the range \crange{first}{last},
|
9786 | 9787 | \tcode{binary_op} neither modifies elements
|
9787 | 9788 | nor invalidates iterators or subranges.
|
|
9903 | 9904 | \expects
|
9904 | 9905 | \begin{itemize}
|
9905 | 9906 | \item
|
9906 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 9907 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
9907 | 9908 | \item
|
9908 | 9909 | \tcode{binary_op} neither invalidates iterators or subranges,
|
9909 | 9910 | nor modifies elements in the range \crange{first}{last}.
|
|
9947 | 9948 | \pnum
|
9948 | 9949 | \expects
|
9949 | 9950 | \tcode{T} meets
|
9950 |
| -the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) |
9951 |
| -and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 9951 | +the \oldconcept{CopyConstructible}\iref{cpp17.copyconstructible} |
| 9952 | +and \oldconcept{CopyAssignable}\iref{cpp17.copyassignable} requirements. |
9952 | 9953 | In the ranges \crange{first1}{last1} and
|
9953 | 9954 | \crange{first2}{first2 + (last1 - first1)}
|
9954 | 9955 | \tcode{binary_op1} and \tcode{binary_op2}
|
|
10043 | 10044 | \expects
|
10044 | 10045 | \begin{itemize}
|
10045 | 10046 | \item
|
10046 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10047 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10047 | 10048 | \item
|
10048 | 10049 | Neither \tcode{binary_op1} nor \tcode{binary_op2}
|
10049 | 10050 | invalidates subranges, nor modifies elements in the ranges
|
|
10093 | 10094 | \expects
|
10094 | 10095 | \begin{itemize}
|
10095 | 10096 | \item
|
10096 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10097 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10097 | 10098 | \item
|
10098 | 10099 | Neither \tcode{unary_op} nor \tcode{binary_op} invalidates subranges,
|
10099 | 10100 | nor modifies elements in the range \crange{first}{last}.
|
|
10242 | 10243 | \expects
|
10243 | 10244 | \begin{itemize}
|
10244 | 10245 | \item
|
10245 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10246 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10246 | 10247 | \item
|
10247 | 10248 | \tcode{binary_op} neither invalidates iterators or subranges,
|
10248 | 10249 | nor modifies elements in
|
|
10363 | 10364 | \begin{itemize}
|
10364 | 10365 | \item
|
10365 | 10366 | If \tcode{init} is provided,
|
10366 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements; |
| 10367 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements; |
10367 | 10368 | otherwise, \tcode{U}
|
10368 | 10369 | meets the \oldconcept{MoveConstructible} requirements.
|
10369 | 10370 | \item
|
|
10442 | 10443 | \expects
|
10443 | 10444 | \begin{itemize}
|
10444 | 10445 | \item
|
10445 |
| - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10446 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10446 | 10447 | \item
|
10447 | 10448 | Neither \tcode{unary_op} nor \tcode{binary_op}
|
10448 | 10449 | invalidates iterators or subranges, nor modifies elements in
|
|
10541 | 10542 | \begin{itemize}
|
10542 | 10543 | \item
|
10543 | 10544 | If \tcode{init} is provided, \tcode{T} meets the
|
10544 |
| - \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements; |
| 10545 | + \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements; |
10545 | 10546 | otherwise, \tcode{U} meets the
|
10546 | 10547 | \oldconcept{MoveConstructible} requirements.
|
10547 | 10548 | \item
|
|
10642 | 10643 | \begin{itemize}
|
10643 | 10644 | \item
|
10644 | 10645 | For the overloads with no \tcode{ExecutionPolicy},
|
10645 |
| - \tcode{T} meets the \oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) |
| 10646 | + \tcode{T} meets the \oldconcept{MoveAssignable}\iref{cpp17.moveassignable} |
10646 | 10647 | requirements.
|
10647 | 10648 | \item
|
10648 | 10649 | For all overloads, in the ranges \crange{first}{last}
|
|
0 commit comments