|
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 |
|
5022 | 5022 | For the overload with an \tcode{ExecutionPolicy}, |
5023 | 5023 | there might be a performance cost |
5024 | 5024 | if \tcode{iterator_traits<For\-ward\-It\-er\-ator1>::value_type} |
5025 | | -is not \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}). |
| 5025 | +is not \oldconcept{\-Move\-Constructible}\iref{cpp17.moveconstructible}. |
5026 | 5026 | \end{note} |
5027 | 5027 |
|
5028 | 5028 | \pnum |
|
5835 | 5835 | \expects |
5836 | 5836 | For the algorithms in namespace \tcode{std}, |
5837 | 5837 | the type of \tcode{*first} |
5838 | | -meets the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 5838 | +meets the \oldconcept{MoveAssignable} requirements\iref{cpp17.moveassignable}. |
5839 | 5839 |
|
5840 | 5840 | \pnum |
5841 | 5841 | \effects |
|
5945 | 5945 | For the overloads with an \tcode{ExecutionPolicy}, |
5946 | 5946 | there might be a performance cost |
5947 | 5947 | if \tcode{iterator_traits<ForwardIterator1>::value_type} does not meet |
5948 | | -the \oldconcept{\-Move\-Constructible} (\tref{cpp17.moveconstructible}) requirements. |
| 5948 | +the \oldconcept{\-Move\-Constructible}\iref{cpp17.moveconstructible} requirements. |
5949 | 5949 | \end{note} |
5950 | 5950 |
|
5951 | 5951 | \pnum |
|
6018 | 6018 | For the overloads in namespace \tcode{std}, |
6019 | 6019 | \tcode{pred} is an equivalence relation and |
6020 | 6020 | the type of \tcode{*first} meets |
6021 | | -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 6021 | +the \oldconcept{MoveAssignable} requirements\iref{cpp17.moveassignable}. |
6022 | 6022 |
|
6023 | 6023 | \pnum |
6024 | 6024 | \effects |
|
6124 | 6124 | the \oldconcept{ForwardIterator} requirements and |
6125 | 6125 | its value type is the same as \tcode{T}, |
6126 | 6126 | then \tcode{T} meets |
6127 | | - the \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 6127 | + the \oldconcept{CopyAssignable}\iref{cpp17.copyassignable} requirements. |
6128 | 6128 | Otherwise, \tcode{T} meets both |
6129 | | - the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) and |
| 6129 | + the \oldconcept{CopyConstructible}\iref{cpp17.copyconstructible} and |
6130 | 6130 | \oldconcept{CopyAssignable} requirements. |
6131 | 6131 | \begin{note} |
6132 | 6132 | For the overloads with an \tcode{ExecutionPolicy}, |
|
6274 | 6274 | \tcode{ForwardIterator} meets |
6275 | 6275 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and |
6276 | 6276 | the type of \tcode{*first} meets |
6277 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6278 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6277 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6278 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6279 | 6279 |
|
6280 | 6280 | \pnum |
6281 | 6281 | \effects |
|
6666 | 6666 | For algorithms other than those described in~\ref{alg.binary.search}, |
6667 | 6667 | \tcode{comp} shall induce a strict weak ordering on the values. |
6668 | 6668 |
|
| 6669 | +\indextext{strict weak order} |
6669 | 6670 | \pnum |
6670 | 6671 | The term \term{strict} refers to the requirement |
6671 | 6672 | of an irreflexive relation (\tcode{!comp(x, x)} for all \tcode{x}), |
|
6772 | 6773 | \tcode{RandomAccessIterator} meets |
6773 | 6774 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and |
6774 | 6775 | the type of \tcode{*first} meets |
6775 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6776 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6776 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6777 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6777 | 6778 |
|
6778 | 6779 | \pnum |
6779 | 6780 | \effects |
|
6830 | 6831 | \tcode{RandomAccessIterator} meets |
6831 | 6832 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and |
6832 | 6833 | the type of \tcode{*first} meets |
6833 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6834 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6834 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6835 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6835 | 6836 |
|
6836 | 6837 | \pnum |
6837 | 6838 | \effects |
|
6900 | 6901 | \tcode{RandomAccessIterator} meets |
6901 | 6902 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and |
6902 | 6903 | the type of \tcode{*first} meets |
6903 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
6904 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 6904 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 6905 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
6905 | 6906 |
|
6906 | 6907 | \pnum |
6907 | 6908 | \effects |
|
7008 | 7009 | \tcode{RandomAccessIterator} meets |
7009 | 7010 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements}, |
7010 | 7011 | the type of \tcode{*result_first} meets |
7011 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7012 | | -\oldconcept{\-Move\-Assignable} (\tref{cpp17.moveassignable}) requirements. |
| 7012 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7013 | +\oldconcept{\-Move\-Assignable}\iref{cpp17.moveassignable} requirements. |
7013 | 7014 |
|
7014 | 7015 | \pnum |
7015 | 7016 | For iterators \tcode{a1} and \tcode{b1} in \range{first}{last}, and |
|
7213 | 7214 | \tcode{RandomAccessIterator} meets |
7214 | 7215 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements}, and |
7215 | 7216 | the type of \tcode{*first} meets |
7216 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7217 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7217 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7218 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
7218 | 7219 |
|
7219 | 7220 | \pnum |
7220 | 7221 | \effects |
|
7634 | 7635 | \tcode{BidirectionalIterator} meets |
7635 | 7636 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and |
7636 | 7637 | the type of \tcode{*first} meets |
7637 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7638 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7638 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7639 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
7639 | 7640 |
|
7640 | 7641 | \pnum |
7641 | 7642 | \effects |
|
7925 | 7926 | \tcode{BidirectionalIterator} meets |
7926 | 7927 | the \oldconcept{Value\-Swappable} requirements\iref{swappable.requirements} and |
7927 | 7928 | the type of \tcode{*first} meets |
7928 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
7929 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 7929 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 7930 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
7930 | 7931 |
|
7931 | 7932 | \pnum |
7932 | 7933 | \effects |
|
8495 | 8496 | \tcode{RandomAccessIterator} meets |
8496 | 8497 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and |
8497 | 8498 | the type of \tcode{*first} meets |
8498 | | -the \oldconcept{MoveConstructible} requirements (\tref{cpp17.moveconstructible}) and |
8499 | | -the \oldconcept{MoveAssignable} requirements (\tref{cpp17.moveassignable}). |
| 8499 | +the \oldconcept{MoveConstructible} requirements\iref{cpp17.moveconstructible} and |
| 8500 | +the \oldconcept{MoveAssignable} requirements\iref{cpp17.moveassignable}. |
8500 | 8501 |
|
8501 | 8502 | \pnum |
8502 | 8503 | \effects |
|
8548 | 8549 | \tcode{RandomAccessIterator} meets |
8549 | 8550 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and |
8550 | 8551 | the type of \tcode{*first} meets |
8551 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
8552 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 8552 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 8553 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
8553 | 8554 |
|
8554 | 8555 | \pnum |
8555 | 8556 | \effects |
|
8604 | 8605 | \tcode{RandomAccessIterator} meets |
8605 | 8606 | the \oldconcept{ValueSwap\-pable} requirements\iref{swappable.requirements} and |
8606 | 8607 | the type of \tcode{*first} meets |
8607 | | -the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) and |
8608 | | -\oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) requirements. |
| 8608 | +the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} and |
| 8609 | +\oldconcept{MoveAssignable}\iref{cpp17.moveassignable} requirements. |
8609 | 8610 |
|
8610 | 8611 | \pnum |
8611 | 8612 | \effects |
|
8657 | 8658 | \tcode{RandomAccessIterator} meets |
8658 | 8659 | the \oldconcept{ValueSwappable} requirements\iref{swappable.requirements} and |
8659 | 8660 | the type of \tcode{*first} meets |
8660 | | -the \oldconcept{MoveConst\-ruct\-ible} (\tref{cpp17.moveconstructible}) and |
8661 | | -\oldconcept{Move\-Assign\-able} (\tref{cpp17.moveassignable}) requirements. |
| 8661 | +the \oldconcept{MoveConst\-ruct\-ible}\iref{cpp17.moveconstructible} and |
| 8662 | +\oldconcept{Move\-Assign\-able}\iref{cpp17.moveassignable} requirements. |
8662 | 8663 |
|
8663 | 8664 | \pnum |
8664 | 8665 | \effects |
|
8817 | 8818 | \pnum |
8818 | 8819 | \expects |
8819 | 8820 | For the first form, \tcode{T} meets the |
8820 | | -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8821 | +\oldconcept{LessThanComparable} requirements\iref{cpp17.lessthancomparable}. |
8821 | 8822 |
|
8822 | 8823 | \pnum |
8823 | 8824 | \returns |
|
8859 | 8860 | For the overloads in namespace \tcode{std}, |
8860 | 8861 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements. |
8861 | 8862 | For the first form, \tcode{T} meets the \oldconcept{LessThanComparable} |
8862 | | -requirements (\tref{cpp17.lessthancomparable}). |
| 8863 | +requirements\iref{cpp17.lessthancomparable}. |
8863 | 8864 |
|
8864 | 8865 | \pnum |
8865 | 8866 | \returns |
|
8895 | 8896 | \pnum |
8896 | 8897 | \expects |
8897 | 8898 | For the first form, \tcode{T} meets the |
8898 | | -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8899 | +\oldconcept{LessThanComparable} requirements\iref{cpp17.lessthancomparable}. |
8899 | 8900 |
|
8900 | 8901 | \pnum |
8901 | 8902 | \returns |
|
8937 | 8938 | For the overloads in namespace \tcode{std}, |
8938 | 8939 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements. |
8939 | 8940 | For the first form, \tcode{T} meets the \oldconcept{LessThanComparable} |
8940 | | -requirements (\tref{cpp17.lessthancomparable}). |
| 8941 | +requirements\iref{cpp17.lessthancomparable}. |
8941 | 8942 |
|
8942 | 8943 | \pnum |
8943 | 8944 | \returns |
|
8975 | 8976 | \pnum |
8976 | 8977 | \expects |
8977 | 8978 | For the first form, \tcode{T} meets the |
8978 | | -\oldconcept{LessThanComparable} requirements (\tref{cpp17.lessthancomparable}). |
| 8979 | +\oldconcept{LessThanComparable} requirements\iref{cpp17.lessthancomparable}. |
8979 | 8980 |
|
8980 | 8981 | \pnum |
8981 | 8982 | \returns |
|
9018 | 9019 | For the overloads in namespace \tcode{std}, |
9019 | 9020 | \tcode{T} meets the \oldconcept{\-Copy\-Constructible} requirements. |
9020 | 9021 | For the first form, type \tcode{T} meets the \oldconcept{LessThanComparable} |
9021 | | -requirements (\tref{cpp17.lessthancomparable}). |
| 9022 | +requirements\iref{cpp17.lessthancomparable}. |
9022 | 9023 |
|
9023 | 9024 | \pnum |
9024 | 9025 | \returns |
|
9210 | 9211 | \tcode{bool(invoke(comp, invoke(proj, hi), invoke(proj, lo)))} is \tcode{false}. |
9211 | 9212 | For the first form, type \tcode{T} |
9212 | 9213 | meets the \oldconcept{LessThan\-Comparable} |
9213 | | -requirements (\tref{cpp17.lessthancomparable}). |
| 9214 | +requirements\iref{cpp17.lessthancomparable}. |
9214 | 9215 |
|
9215 | 9216 | \pnum |
9216 | 9217 | \returns |
|
9775 | 9776 | \pnum |
9776 | 9777 | \expects |
9777 | 9778 | \tcode{T} meets |
9778 | | -the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) |
9779 | | -and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 9779 | +the \oldconcept{CopyConstructible}\iref{cpp17.copyconstructible} |
| 9780 | +and \oldconcept{CopyAssignable}\iref{cpp17.copyassignable} requirements. |
9780 | 9781 | In the range \crange{first}{last}, |
9781 | 9782 | \tcode{binary_op} neither modifies elements |
9782 | 9783 | nor invalidates iterators or subranges. |
|
9898 | 9899 | \expects |
9899 | 9900 | \begin{itemize} |
9900 | 9901 | \item |
9901 | | - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 9902 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
9902 | 9903 | \item |
9903 | 9904 | \tcode{binary_op} neither invalidates iterators or subranges, |
9904 | 9905 | nor modifies elements in the range \crange{first}{last}. |
|
9942 | 9943 | \pnum |
9943 | 9944 | \expects |
9944 | 9945 | \tcode{T} meets |
9945 | | -the \oldconcept{CopyConstructible} (\tref{cpp17.copyconstructible}) |
9946 | | -and \oldconcept{CopyAssignable} (\tref{cpp17.copyassignable}) requirements. |
| 9946 | +the \oldconcept{CopyConstructible}\iref{cpp17.copyconstructible} |
| 9947 | +and \oldconcept{CopyAssignable}\iref{cpp17.copyassignable} requirements. |
9947 | 9948 | In the ranges \crange{first1}{last1} and |
9948 | 9949 | \crange{first2}{first2 + (last1 - first1)} |
9949 | 9950 | \tcode{binary_op1} and \tcode{binary_op2} |
|
10038 | 10039 | \expects |
10039 | 10040 | \begin{itemize} |
10040 | 10041 | \item |
10041 | | - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10042 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10042 | 10043 | \item |
10043 | 10044 | Neither \tcode{binary_op1} nor \tcode{binary_op2} |
10044 | 10045 | invalidates subranges, nor modifies elements in the ranges |
|
10088 | 10089 | \expects |
10089 | 10090 | \begin{itemize} |
10090 | 10091 | \item |
10091 | | - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10092 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10092 | 10093 | \item |
10093 | 10094 | Neither \tcode{unary_op} nor \tcode{binary_op} invalidates subranges, |
10094 | 10095 | nor modifies elements in the range \crange{first}{last}. |
|
10237 | 10238 | \expects |
10238 | 10239 | \begin{itemize} |
10239 | 10240 | \item |
10240 | | - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10241 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10241 | 10242 | \item |
10242 | 10243 | \tcode{binary_op} neither invalidates iterators or subranges, |
10243 | 10244 | nor modifies elements in |
|
10358 | 10359 | \begin{itemize} |
10359 | 10360 | \item |
10360 | 10361 | If \tcode{init} is provided, |
10361 | | - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements; |
| 10362 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements; |
10362 | 10363 | otherwise, \tcode{U} |
10363 | 10364 | meets the \oldconcept{MoveConstructible} requirements. |
10364 | 10365 | \item |
|
10437 | 10438 | \expects |
10438 | 10439 | \begin{itemize} |
10439 | 10440 | \item |
10440 | | - \tcode{T} meets the \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements. |
| 10441 | + \tcode{T} meets the \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements. |
10441 | 10442 | \item |
10442 | 10443 | Neither \tcode{unary_op} nor \tcode{binary_op} |
10443 | 10444 | invalidates iterators or subranges, nor modifies elements in |
|
10536 | 10537 | \begin{itemize} |
10537 | 10538 | \item |
10538 | 10539 | If \tcode{init} is provided, \tcode{T} meets the |
10539 | | - \oldconcept{MoveConstructible} (\tref{cpp17.moveconstructible}) requirements; |
| 10540 | + \oldconcept{MoveConstructible}\iref{cpp17.moveconstructible} requirements; |
10540 | 10541 | otherwise, \tcode{U} meets the |
10541 | 10542 | \oldconcept{MoveConstructible} requirements. |
10542 | 10543 | \item |
|
10637 | 10638 | \begin{itemize} |
10638 | 10639 | \item |
10639 | 10640 | For the overloads with no \tcode{ExecutionPolicy}, |
10640 | | - \tcode{T} meets the \oldconcept{MoveAssignable} (\tref{cpp17.moveassignable}) |
| 10641 | + \tcode{T} meets the \oldconcept{MoveAssignable}\iref{cpp17.moveassignable} |
10641 | 10642 | requirements. |
10642 | 10643 | \item |
10643 | 10644 | For all overloads, in the ranges \crange{first}{last} |
|
0 commit comments