Topic: Add 'is_partitioned_until' algorithm to the standard library


Author: Alexander Zaitsev <zamazan4ik@gmail.com>
Date: Mon, 26 Mar 2018 10:36:28 -0700 (PDT)
Raw View
------=_Part_1418_361652347.1522085788368
Content-Type: multipart/alternative;
 boundary="----=_Part_1419_640186504.1522085788368"

------=_Part_1419_640186504.1522085788368
Content-Type: text/plain; charset="UTF-8"

Hello,

I am working on proposal about adding 'is_partitioned_until' to STL. In
attachments you can find this proposal (in PDF and HTML formats). Also you
can find them on
GitHub: https://github.com/ZaMaZaN4iK/ConfsANDProps/tree/master/Proposals

Idea of the proposal is simple. 'is_partitioned' returns true or false. But
we can't get information about "Which subrange is partitioned?".
is_partitioned_until is written for it.

Implementation is available in Boost.Algorithm
library: https://github.com/boostorg/algorithm/blob/develop/include/boost/algorithm/is_partitioned_until.hpp
So you can play with it on wandbox.org

Warn: in .hpp file information about return iterator for
'is_partitioned_until' is wrong. Will be fixed soon.

--
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/std-proposals/2adc8579-63d6-4f53-a866-9de7572678c4%40isocpp.org.

------=_Part_1419_640186504.1522085788368
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hello,<div><br></div><div>I am working on proposal about a=
dding &#39;is_partitioned_until&#39; to STL. In attachments you can find th=
is proposal (in PDF and HTML formats). Also you can find them on GitHub:=C2=
=A0https://github.com/ZaMaZaN4iK/ConfsANDProps/tree/master/Proposals</div><=
div><br></div><div>Idea of the proposal is simple. &#39;is_partitioned&#39;=
 returns true or false. But we can&#39;t get information about &quot;Which =
subrange is partitioned?&quot;. is_partitioned_until is written for it.</di=
v><div><br></div><div>Implementation is available in Boost.Algorithm librar=
y:=C2=A0https://github.com/boostorg/algorithm/blob/develop/include/boost/al=
gorithm/is_partitioned_until.hpp</div><div>So you can play with it on wandb=
ox.org</div><div><br></div><div>Warn: in .hpp file information about return=
 iterator for &#39;is_partitioned_until&#39; is wrong. Will be fixed soon.<=
/div></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
To view this discussion on the web visit <a href=3D"https://groups.google.c=
om/a/isocpp.org/d/msgid/std-proposals/2adc8579-63d6-4f53-a866-9de7572678c4%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/2adc8579-63d6-4f53-a866-9de7572678c4=
%40isocpp.org</a>.<br />

------=_Part_1419_640186504.1522085788368--

------=_Part_1418_361652347.1522085788368
Content-Type: application/pdf; name=is_partitioned_until.pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=is_partitioned_until.pdf
X-Attachment-Id: 22dce2fd-f5a8-441b-9519-239707bc40a3
Content-ID: <22dce2fd-f5a8-441b-9519-239707bc40a3>

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
vWuliwhdldVuoSu/0P1TL77SgTvc2Vy728N5F7FZ2Io3gcrbQDAP3BvhPufGV9zX3WTWjdMrjH16
rOtjK3R9BIMPI8xxukbdoO6gjtbpHLpOXQiOi1d0KzplI+Cu6yjYjHci/FQ6ZvAinl/o7bHb2xeV
K93totq7TcRHxfwe6Sl0bRUVR0XUt3WbbwHjk/2HT5xAzdntYkWPT/Rn97eLAQAECZgFgM1eSEfN
/eFIODJtly6cAMLIbo9E4C035B64kX31wlID28ORSDiBgRHQitin5ac9HJYHYnk0ggmAdRgyKgyI
2MOw35deMEKaEEZiSGcwBmjDg2F5ZnkOeO8Iy9NiABAQRMJxQcKmwR0I/S+UAb1XCmVuZHN0cmVh
bQplbmRvYmoKCjIyIDAgb2JqCjcwODgKZW5kb2JqCgoyMyAwIG9iago8PC9UeXBlL0ZvbnREZXNj
cmlwdG9yL0ZvbnROYW1lL0RBQUFBQStMaWJlcmF0aW9uTW9ubwovRmxhZ3MgNQovRm9udEJCb3hb
LTI0IC0zMDAgNjA3IDgzMl0vSXRhbGljQW5nbGUgMAovQXNjZW50IDgzMgovRGVzY2VudCAtMzAw
Ci9DYXBIZWlnaHQgODMyCi9TdGVtViA4MAovRm9udEZpbGUyIDIxIDAgUgo+PgplbmRvYmoKCjI0
IDAgb2JqCjw8L0xlbmd0aCAzMjcvRmlsdGVyL0ZsYXRlRGVjb2RlPj4Kc3RyZWFtCnicXZLPboMw
DMbveYocu0MFgbYUCSF1tEgc9kdjewCamC7SCFGgB95+ccw2aQfQz46/+JOdqGrOjdFz9OpG2cLM
e22Ug2m8Own8CjdtmEi40nJeo/CXQ2dZ5LXtMs0wNKYfi4JFb/5smt3CNyc1XuGBRS9OgdPmxjcf
Vevj9m7tFwxgZh6zsuQKen/PU2efuwGioNo2yh/redl6yV/B+2KBJyEWZEWOCibbSXCduQEr4rjk
RV2XDIz6d5akJLn28rNzvlT40jjO0tJzQrxDTgMfAu8CpyfkPeVz5AOxQM6IL8hH4nBnTrxHPgVO
jsiPlD8gV9Q3QT5TTYV8IY6Ra6rHvIgpjx7E6h9rBPnfYS9B/jPsJch/FvKr/xqZ/O+DlvxneRja
Oh0cH+73Zy1c3p3zKwmPIOwCt6AN/L4TO1pUhe8bZdig7gplbmRzdHJlYW0KZW5kb2JqCgoyNSAw
IG9iago8PC9UeXBlL0ZvbnQvU3VidHlwZS9UcnVlVHlwZS9CYXNlRm9udC9EQUFBQUErTGliZXJh
dGlvbk1vbm8KL0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciAyMwovV2lkdGhzWzYwMCA2MDAgNjAwIDYw
MCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIDYwMAo2MDAgNjAw
IDYwMCA2MDAgNjAwIDYwMCA2MDAgNjAwIF0KL0ZvbnREZXNjcmlwdG9yIDIzIDAgUgovVG9Vbmlj
b2RlIDI0IDAgUgo+PgplbmRvYmoKCjI2IDAgb2JqCjw8L0xlbmd0aCAyNyAwIFIvRmlsdGVyL0Zs
YXRlRGVjb2RlL0xlbmd0aDEgMzE0MD4+CnN0cmVhbQp4nO1W+29bVx3/Hr/SpV0erdul8h7Hu93W
kes8nLWiUrZZSZzGcR6unVTXIxK9sW9st/a97rWdNRETQ+IxPKiENMEQE5oqECAYnIQfGL8VwSQm
UQmmEQnEJH7jF/YLgl8maPmc45tHS/4EbN9zPt/P+b7vuee66bYsOkavkp8ShZpZDzNG+PyOiB0v
rDf5yqmbQeC/gsus1Uu1D89u/43IN4LLKlU31ub++K0niAJvYv0nZcss3mpeiRIFpyCfL4NI3b0d
gvw5yGfKteaNm+y9AOS3IR+pOgVTp8uAwR9iCNXMG/WT/seQQFBA5rZZs+49kn0d8u+xfKbuNJph
unqP6Og/5XrdteoDg/94h+hYGPIQLkYqfVRELKTk/3/eoG/QV+kdStEtytMwPUc6xekKXSKNpmiC
ovQreo/+QL+m79GX6Zv0BfoOvU2CfkAJ+jx9kb1Fp/07wReDP6LPBPsF6YJOpMWnMoaYXc8L0l4c
EKFB4/m84l7J8w8FOzE0EBNM538WxwZjwqens0ZSy0djwq9XBrhIZIyoSORjIqBL06gW3TQ+itzJ
R6Bn/CfycT6iRUVw0BDT63m1kM/DX1B/eOWlmAjpW0+y1xCdv7ayEhEEN1361hlFJfaoI/rxfn5h
OCYe0vkrMshv4IYL/1MpjYvA07OCMkbbaptcgk9HotF8pK2kbEeSAbs72fVF+qLweFTnH6hyjul8
WHQNrhicX9Smzavc4MXVjgup97CMjNC8zS+2p02tzduaCqdJ5yIBTdQnCZGwpACbHhXp+Z2BaDTC
d9poA4xSyGbZyy2q1Hp1je94wTVupHORqGB5o42CUlpb4+1UWzOlQcdETjHRJ2/DceTdLwuQ4PgD
BbTlpJlXrxysRJqe0FFE+yuybbNFrd0leMYYj9zGSlj/OSVYYmKCpd/towKpUSovG3LMGtoqstcm
IpiYNoHOJ7LGNnGaLExsM84wCV4Qp61Hd2Od1AVY9AVDTO5aH/Ym+YrBZZxMXTS0xWh4fLsr0Ptx
fCsU/Mv4tt8HSFt+SQclvd0Veubf49tM8mP90f6nov3RKR+/e4a9ebccXP7kx1OBOyRPhFn2vu+K
/yPqocexy9GKO/gx0TssAjvi6B38tvrYII2Msiefefrcc+fH4o+cOhnuCrGX7EuXbtm1ufm5NHt/
Yd6x31qct+tzC+qUWTv97fpw9fpne8f/RU8cUQ/e7WL/Lw4+iKoanHuorfORJ93X7k6zsT2VB88r
n+/vNOX7E80Cd45KpnrT6/nwQfbRKUn7mXf69dBPd/2wN/Z8MuqGxDyrLvZdD/vBf9/DAeCfeThI
veyXHg6B/y00WeAhGJxlH3iYUTjwiYd91BPs8bCfwsFHPRwAHvFwkB7Hm6GDQ+BXzxae5fGRkQs8
17L5fKXgOo2NRtOqNXjKLgx1L80ks0k+tZjM8YXFJZ40Urkl3rEZHeWzrWrFsvmCuWo1uzPZ5GRy
CorjsRf2LXLLk5PJ5NS+zWK1sl6xXD5jVquOtErNJ5XJUjaVmUvyDuGpj/F5s1mumA2oNxpWtWba
dne9XFEGmEd3Fc/xdNmsWkU+4zTsjW6PPY+Krlk8bZZMu3Gt0r1puY7OHdvSefNloGbZtYDXnJaL
sbIO3KjcwGCtW7bOrUqp3NS5XZEG11tWo1lxQLfsouU2Co4LtuDUN9yOmmuVKuicaxWlSiUeHz2n
c9MuVWW0Mvg1ZVF1Ni27ZO0mPsIvOg50+KTj1h3XlCEW65ad26itOtWsVWpVTXef2EeXkQN0+ehI
fAhe9hfoLI6DZ/Gkx2kE3wtAOWqRjXmeKlhzyaEGbeBqkkU1zBxvJhsrQ9RNSzRDScri4nj+FzHn
gBaAljAnyYBuTuGDcUbx5XhGWlRFDEtFWyCTVoGb8JpRHidxTXkexylGLxwaI0fL0JS6UvuwOIsq
yrqK5EKeQaQqvs5erBRqTR6IsqS4DM0p9qDG/d7HVJdM+CnDu6l6M6PmBmJV0S0TtdmIUlca+xE6
8uj/eDwHlMaazNCiovIn+2/jDnQ/oHveu0fXoCmtTCqpeA0wFWhvqnodnEMcow1Joia97HEyaxds
h18D24LcwbJfHb4BfMNDlmJtJVngS/DQVJINaTfCdfix1H6pqLiSkzuqqPJpoAZHxZW8xHXU5t7n
Ta6WwHT2nKs6seulgurjqlOSkfWWVK92K+rorx2IIe/0psq7pDp1fxdHgC5Cw/H84J2nbOtqNPeq
WAQjfeSQbQ071YF2VuUpd7EJ3cM0DuMue33o+OUqhziepk4uh1n4O2+HeyUKH/aH8V1270uCfZ3S
4kjG2GLsZn5rWv4TEn34kxfOAryafwz/WFaMvAgPEv0Xs7RyRgplbmRzdHJlYW0KZW5kb2JqCgoy
NyAwIG9iagoxNzcyCmVuZG9iagoKMjggMCBvYmoKPDwvVHlwZS9Gb250RGVzY3JpcHRvci9Gb250
TmFtZS9FQUFBQUErT3BlblN5bWJvbAovRmxhZ3MgNAovRm9udEJCb3hbLTE3OSAtMzEyIDEwODIg
OTI2XS9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgNjkzCi9EZXNjZW50IC0yMTUKL0NhcEhlaWdodCA5
MjYKL1N0ZW1WIDgwCi9Gb250RmlsZTIgMjYgMCBSCj4+CmVuZG9iagoKMjkgMCBvYmoKPDwvTGVu
Z3RoIDIyMS9GaWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxdkEFPxCAQhe/8ijnuHja0nJsm
Zs0mPegaqz+AwrSS2IFM6aH/3ilWTTxA8njvgzfoa/fYUcj6haPrMcMYyDMucWWHMOAUSNUGfHD5
UGV3s01KC9tvS8a5ozE2jdKv4i2ZNzg9+DjgWek7e+RAE5zer73ofk3pE2ekDJVqW/A4yj1PNj3b
GXWhLp0XO+TtIshf4G1LCKbo+ruKix6XZB2ypQlVU1UtNLdbq5D8P+8ghtF9WJZkLUlTGVOyx+lO
7WP9tAG3MkuTMnupsD8eCH+/J8W0U2V9AX6LbXkKZW5kc3RyZWFtCmVuZG9iagoKMzAgMCBvYmoK
PDwvVHlwZS9Gb250L1N1YnR5cGUvVHJ1ZVR5cGUvQmFzZUZvbnQvRUFBQUFBK09wZW5TeW1ib2wK
L0ZpcnN0Q2hhciAwCi9MYXN0Q2hhciAxCi9XaWR0aHNbMzY1IDM1NSBdCi9Gb250RGVzY3JpcHRv
ciAyOCAwIFIKL1RvVW5pY29kZSAyOSAwIFIKPj4KZW5kb2JqCgozMSAwIG9iago8PC9MZW5ndGgg
MzIgMCBSL0ZpbHRlci9GbGF0ZURlY29kZS9MZW5ndGgxIDE4MDQwPj4Kc3RyZWFtCnic3XsLVFvH
tejsOUd/QEe/A0hIOkIcBAgQRgaMZZtjzEeAjWXADmBjRAwY7NhgwI6dtAltEzsmH7ttmibNbePm
pmnSuLXsuInT3tvQ1k1fP2nc1/STX+O2ub03r3Ht9qa9aRzE23MkjJ2mve+9+9Z6az0hndmzZ8+e
mT179uw9c5ia2DtEMsg04YiybdfA+I9f+8l/I4T8kBCwbts3JR1TdvoRPk8I1Q6Pb99VFH7l94Rw
/0aITrP9hgPDv5Mf/S4hxkuEhJaODA0MPv2155B+eQHyqB5BxFjygA7zWzBfMLJrav+zQsY/YH4a
84/cMLZt4Ft/OvcqIRFG37VrYP/4Xs0DHOb3Y17aPbBr6F8Kf4/8IvcToh8fH5uc+jYpmCekQc/K
xyeGxm84efcg5ouwf+sQB/jHPhkIalmecrxGq9MbjKaMzCyzYLHa7A4xOyfX6cpze7ySL99fIBcG
isj/rx/N3cRBxjQriTn9vObDHSe55BQh82+x3OIzuXb+3f+bvdCrT7CCj3yH/AXCQMmHwEZ6ySAZ
Ix8iMxC+mhoisBbLPkxexfLd5G7QfTBX8EEhZCKHXpXuw+R58usPJNxDvkEuXdsG4u4jj5DjDA9N
yOte+DashUHkwTivxceWD2JFd+DjCP7243MXhTT2Iq6YX5At9Bv0DXKUfCXdvyzyFjRg2oY9fDrN
oI10/hXTM9gLI9lODpCDWFv9aFa+9zIxzP878mol30REC7mZ3H2lxjugtsEZyfwV3HVX+jhI7wQb
FJLPkXdIg8YCpwlRGnu6N3Z1dmyIrW9ft7attSXa3NTYsKZ+tVK3auWKyPLaZTXVVUsqQuVlpUWB
QrnAn+/z5tgtgjkr02Q06HVaDc/haEsb/U1xKVEYT/CF/mi0jOX9A4gYuAoRT0iIarqWJiHFVTLp
WkoFKYffR6mkKJUrlCBIK8iKslKp0S8lnm/wS2egd0M3wnc3+HukxAUVXqfCfKGaycSMz4c1pMac
kQYpAXGpMdG0b2SmMd6A/E6ajGv8a4aMZaXkpNGEoAmhRJF//CQUrQIVoEWNy09Sos9kzSY4uXFg
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
gI+yxPDr81Xe18Ovbfxl+NWNFa/FXpt+LfEa/xpwG1/lRO/YT6D/Jxd/Qtf/BOq+Bd5vvf4tylzk
f5w1ZjbFno0/O/4s943mEi85A6Gn+58+8vSJp19/WjN2GbzvXnyXjr1767tUeRfGvgrm097TdOw0
eJ9c/+T8k9xXjtd7zY/d+hg98RiMPwZ1j4Fwv3R/xf3c+P3w6fvyvKFP1X2Kfvz2Qe+Je+Cu9V4v
uT1+Oz16Oxz9GHwUs8JeaS+dis97J/vnvePY/hj+djfPe3PDORt1YW6jlpv3sn6eSJaHm2avh/MD
EO9f6u3Hut73Qu899B534j0gGLBtNWQ23brlyJaHtnCbe4PeUC+Q3ngvPdp7qZd6e8EWtm7UoCh4
5GnmvFwdt54b445wWn1nq88bQ3Zj7be2H2nn1jX7va3NktccBSVqMjc1YYfMzd5mmhd1bRTDjo0W
MG8UwuaNFMhGCJONIfO8mZrN/eZbzewCmNBpETRwBo6e7OoMBtvO6OY72hK62OYE3JGQO9lT2dCb
0N6RIBt7N3efBLin5/a77yb17rZEZWd3Iu7uaUsMIqAwYBoBwX1SJPU9k5NTqbdQYDIYnAoS/AW3
Tqr5yam9mJuanCLB4OSkSoM/zEwB5hE7GZxECFcWYzIJk1MMmCSTWE4m2W8KcXtZbVY1Zyvq0/8E
Br2yggplbmRzdHJlYW0KZW5kb2JqCgozMiAwIG9iagoxMjI2NwplbmRvYmoKCjMzIDAgb2JqCjw8
L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkFBQUFBK0xpYmVyYXRpb25TZXJpZi1Cb2xk
Ci9GbGFncyA0Ci9Gb250QkJveFstMTgyIC0zMDMgMTA4MyAxMDA3XS9JdGFsaWNBbmdsZSAwCi9B
c2NlbnQgODkxCi9EZXNjZW50IC0yMTYKL0NhcEhlaWdodCAxMDA3Ci9TdGVtViA4MAovRm9udEZp
bGUyIDMxIDAgUgo+PgplbmRvYmoKCjM0IDAgb2JqCjw8L0xlbmd0aCAzOTgvRmlsdGVyL0ZsYXRl
RGVjb2RlPj4Kc3RyZWFtCnicXZJNboMwEEb3nMLLdBGBjYFEQkgpCRKL/qi0ByAwpEjFIEMW3L6e
GdpKXQQ9j7+xnp3x8/Jcmn7xX+3YVLCIrjethXm82wbEFW698aQSbd8s24q+zVBPnu96q3VeYChN
N6ap57+5vXmxq9id2vEKD57/YluwvbmJ3UdeuXV1n6YvGMAsIvCyTLTQuXOe6um5HsCnrn3Zuu1+
Wfeu5S/wvk4gFK0lqzRjC/NUN2BrcwMvDYJMpEWReWDaf3s64JZr13zW1kWliwZBFGSOFXGikEPi
uEDWXKdMxBwix5yRyAlzjnwgVpQ/cj1GPhFryj9yXSPnzEfkM59P9QvXL8gF9+I5MuBMhMz+MfpI
9tfYKzf/MzL7x5Rn/xjvKNk/PCFv/sTsH1GG/RN0k5s/volk/4R82D9JkNk/ogz76wMy+4f4Por9
Y8yrzR8ziv1DvK9if03M/hrvqLb3pzz7a7yXYn+Nnor9E0kDsP3TOAo4qz8jJpq7tW68aKBprnCi
egO/Mz+NE3bR7xthScjWCmVuZHN0cmVhbQplbmRvYmoKCjM1IDAgb2JqCjw8L1R5cGUvRm9udC9T
dWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStMaWJlcmF0aW9uU2VyaWYtQm9sZAovRmly
c3RDaGFyIDAKL0xhc3RDaGFyIDQwCi9XaWR0aHNbMzY1IDYxMCA0NDMgNTAwIDU1NiAzODkgNTAw
IDI3NyAyNTAgMzMzIDcyMiA1NTYgMjc3IDMzMyA1NTYgNjEwCjU1NiA0NDMgNzIyIDgzMyA0NDMg
NTU2IDMzMyAzMzMgNzIyIDUwMCA3NzcgNTAwIDcyMiA1MDAgNzc3IDU2OQo1MDAgNTU2IDU2OSA3
MjIgNzIyIDUwMCA2NjYgMzg5IDU1NiBdCi9Gb250RGVzY3JpcHRvciAzMyAwIFIKL1RvVW5pY29k
ZSAzNCAwIFIKPj4KZW5kb2JqCgozNiAwIG9iago8PC9MZW5ndGggMzcgMCBSL0ZpbHRlci9GbGF0
ZURlY29kZS9MZW5ndGgxIDI5OTYwPj4Kc3RyZWFtCnic1b0JeFPXtTC61z7nSDqaZ1mWbUlI8iDZ
lrFsbGMsH8DDATMIEMTYMRZgmxkbY8jUgJNASCBcaEMpCWlCcmmaJvTGDCWQtIlzf5Lb/Eka2pL0
pploS6ebktBckpcbgnhrH8kE0vbe73v/+773PWHp7GHttae1115r7bUPQ4MbeomeDBOOSEvXLB44
c+lPvyCEvEYIWJduHPJdmSL5MHyWEOrsG1i2pjj2zkeEcJ8TohaWrb6l73f/EnuXEB0WufHd5b2L
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
0KOUG+vbeqz5b+eA0eAgUmH/10aJtW6jUudMJX1IoSmWt1yJDZCJuOtEcd9g/8oR5nrMS7N4y5XQ
GoT8f1puCFfIgDKOvco8L0PYzJyXKzjXIH3NyI7QWoXu2QhtuKaPmbH5R7TWojwzK2f1dXjYzLIn
KzvW+vXZ9vcp9WRGbQB/+3Hce5XRLldSlyl9XIFzuAJD17aPzdiybNrXWzPWluv78/9l3VxW9vRj
jX/nc1hMPQ/slk6j8vsC8NJCOHsZ3rgMvsuw+RIkLsHwJ7s/oX+9UOJ9+sILF+jsj7s/fvpjruJj
MH0MGnLefD5xPnV+4PyB8yqt6S+gJx+C5Xdna70fxN6b/37s3fnkPZiUeG/4vZH3OCZvd7yn0bW8
B9z8dzmn1zzqG60YHRgdHj09enb0wqhm+Pndz9Of/DjqNf3Y+2PqPTr76OajXOoJMD3hfYIm9qf2
090Pgekh70PRh7gHHyj3PtBa4P3O3iLv2b0X9ir/YU31XoOlpfvbsPlbu75FB+4evnv33dzw1t1b
6dMbX9hI1ydKvP1rI961rWGvO5YzXx3j5qu4K8rLzpuWhIpbUt2StxuBOjsqvB2tJV5bzDpfwMby
CGjivMpJTT+3i3uBU2vmJgq8c/B7NnEhQU2zvbOjs5X/E2Nxmx8RTR+YPjydm9ZS4pVba72mVm9r
tPWN1g9aP25VdbfCI/jX8nTLCy2c1FISbZFaCvwtebJnvjPmmG+OmeZTIPMhRuZHTVdM1GTqNm02
sYsAhF3KEeAE7D6cnBeJtJ1QX5nbNqJJdI7APSOheexXmtMxorpnhMzv6Gw/DPBPC7fu3Emm5LeN
VM5rH0nlL2wb6cGAxALDGDDnH3aSKQvXrx9SzE8QiWBwA/6SyAZMWrQ+k5i1Tymh9bB+PVm/HiIs
TwliClkfYckshZUBLLloPWE/LDeiQLHQ+vU5i/5vljki+wplbmRzdHJlYW0KZW5kb2JqCgozNyAw
IG9iagoyMDk3OQplbmRvYmoKCjM4IDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9udE5h
bWUvQ0FBQUFBK0xpYmVyYXRpb25TZXJpZgovRmxhZ3MgNAovRm9udEJCb3hbLTE3NiAtMzAzIDEw
MDUgOTgxXS9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgODkxCi9EZXNjZW50IC0yMTYKL0NhcEhlaWdo
dCA5ODEKL1N0ZW1WIDgwCi9Gb250RmlsZTIgMzYgMCBSCj4+CmVuZG9iagoKMzkgMCBvYmoKPDwv
TGVuZ3RoIDU1MS9GaWx0ZXIvRmxhdGVEZWNvZGU+PgpzdHJlYW0KeJxd1M1um0AUBeA9T8EyXUQw
dwZIJMuSY8eSF/1RnT4AhrGLVAPCeOG3L+ee21bqItYB7jDf3AyTbQ+7Q9/N2bdpaI5xTs9d307x
NtynJqaneOn6xEnads1sV/rbXOsxyZaxx8dtjtdDfx5WqyT7vjy7zdMjfdq0wyl+SrKvUxunrr+k
Tz+2x+X6eB/HX/Ea+znNk/U6beN5ec/nevxSX2Omo54P7fK4mx/Py5B/BR+PMaai146UZmjjbayb
ONX9JSarPF+nq/1+ncS+/e9ZVXLI6dz8rKel1C2leV7k6yWL5kqQveZyjxyYK+SC2SGXzDvkivkV
+YX5HflVs+j7N5rDFvmNcxXIW9Zr3rHGI79z7BvynvfxfpfTjBpHf4DT0S+a6Q94p6Pfw+zo9wGZ
fv+CTL/H2h39foNMv4ff0e/RB0e/6Fj6RW3m17noL7FeR3+FeqG/hEGs/5hLrP96n/4KaxT6qxKZ
/krrrf/oj9Af4BT6Bf0X+kusS+iv4BT6S/VY/3Uu+gVmob/CeoX+EgZPf4W5vPlh9ubH2j39grGe
/gCDNz/M3vqPuTz9Bf5f3voPv7f+a73tHzVY/zXTX2EfevoLrbf9o/fNj74F2z+wBfNjzwT6CziD
+bGWYPsH7wn0i76H/gBnoF/Qw2D9x1oC/YWOtf2jNebXuegvtvrB2peJTxdny58jIW3u07QcB3oA
6TmAE6Dr498zahxGjNK/34RDHaUKZW5kc3RyZWFtCmVuZG9iagoKNDAgMCBvYmoKPDwvVHlwZS9G
b250L1N1YnR5cGUvVHJ1ZVR5cGUvQmFzZUZvbnQvQ0FBQUFBK0xpYmVyYXRpb25TZXJpZgovRmly
c3RDaGFyIDAKL0xhc3RDaGFyIDc2Ci9XaWR0aHNbMzY1IDU1NiAzMzMgNTAwIDUwMCA0NDMgNzc3
IDI3NyA1MDAgMjUwIDYxMCA1MDAgNDQzIDY2NiA1NjMgMzMzCjU1NiA3MjIgMjc3IDYxMCA1MDAg
NTAwIDUwMCA1MDAgMjc3IDUwMCA1MDAgMzMzIDMzMyA3MjIgMjc3IDUwMAo1MDAgNjEwIDI3NyAz
ODkgNTAwIDQ0MyA1MDAgOTIwIDI1MCA1MDAgNTAwIDUwMCA0NDMgMjUwIDcyMiAzMzMKNTAwIDYx
MCA1MDAgMTgwIDY2NiA0NzkgNTYzIDcyMiA1NjMgMjc3IDU1NiA3NzcgNDc5IDMzMyAzMzMgMjc3
Cjk0MyA1MDAgNjY2IDMzMyA1NjMgNTAwIDcyMiA1MDAgODMzIDMzMyA1MDAgNDA4IDI3NyBdCi9G
b250RGVzY3JpcHRvciAzOCAwIFIKL1RvVW5pY29kZSAzOSAwIFIKPj4KZW5kb2JqCgo0MSAwIG9i
ago8PC9GMSAzNSAwIFIvRjIgNDAgMCBSL0YzIDI1IDAgUi9GNCAzMCAwIFIKPj4KZW5kb2JqCgo0
MiAwIG9iago8PC9Gb250IDQxIDAgUgovUHJvY1NldFsvUERGL1RleHRdCj4+CmVuZG9iagoKMSAw
IG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDIwIDAgUi9SZXNvdXJjZXMgNDIgMCBSL01lZGlhQm94
WzAgMCA1OTUuMjc1NTkwNTUxMTgxIDg0MS44NjE0MTczMjI4MzVdL0dyb3VwPDwvUy9UcmFuc3Bh
cmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDIgMCBSPj4KZW5kb2JqCgo0IDAg
b2JqCjw8L1R5cGUvUGFnZS9QYXJlbnQgMjAgMCBSL1Jlc291cmNlcyA0MiAwIFIvTWVkaWFCb3hb
MCAwIDU5NS4yNzU1OTA1NTExODEgODQxLjg2MTQxNzMyMjgzNV0vR3JvdXA8PC9TL1RyYW5zcGFy
ZW5jeS9DUy9EZXZpY2VSR0IvSSB0cnVlPj4vQ29udGVudHMgNSAwIFI+PgplbmRvYmoKCjcgMCBv
YmoKPDwvVHlwZS9QYWdlL1BhcmVudCAyMCAwIFIvUmVzb3VyY2VzIDQyIDAgUi9NZWRpYUJveFsw
IDAgNTk1LjI3NTU5MDU1MTE4MSA4NDEuODYxNDE3MzIyODM1XS9Bbm5vdHNbCjE2IDAgUiAxOCAw
IFIgMTkgMCBSIF0KL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+
L0NvbnRlbnRzIDggMCBSPj4KZW5kb2JqCgoxMCAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDIw
IDAgUi9SZXNvdXJjZXMgNDIgMCBSL01lZGlhQm94WzAgMCA1OTUuMjc1NTkwNTUxMTgxIDg0MS44
NjE0MTczMjI4MzVdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1ZT4+
L0NvbnRlbnRzIDExIDAgUj4+CmVuZG9iagoKMTMgMCBvYmoKPDwvVHlwZS9QYWdlL1BhcmVudCAy
MCAwIFIvUmVzb3VyY2VzIDQyIDAgUi9NZWRpYUJveFswIDAgNTk1LjI3NTU5MDU1MTE4MSA4NDEu
ODYxNDE3MzIyODM1XS9Bbm5vdHNbCjE3IDAgUiBdCi9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NT
L0RldmljZVJHQi9JIHRydWU+Pi9Db250ZW50cyAxNCAwIFI+PgplbmRvYmoKCjQzIDAgb2JqCjw8
L0NvdW50IDgvRmlyc3QgNDQgMCBSL0xhc3QgNTEgMCBSCj4+CmVuZG9iagoKNDQgMCBvYmoKPDwv
Q291bnQgMC9UaXRsZTxGRUZGMDA0RjAwNzYwMDY1MDA3MjAwNzYwMDY5MDA2NTAwNzc+Ci9EZXN0
WzEgMCBSL1hZWiA1Ni43IDU1NCAwXS9QYXJlbnQgNDMgMCBSL05leHQgNDUgMCBSPj4KZW5kb2Jq
Cgo0NSAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDQ4MDA2NTAwNjEwMDY0MDA2NTAwNzIw
MDIwMDAzQzAwNjEwMDZDMDA2NzAwNkYwMDcyMDA2OTAwNzQwMDY4MDA2RDAwM0U+Ci9EZXN0WzEg
MCBSL1hZWiA1Ni43IDM3OC4zIDBdL1BhcmVudCA0MyAwIFIvUHJldiA0NCAwIFIvTmV4dCA0NiAw
IFI+PgplbmRvYmoKCjQ2IDAgb2JqCjw8L0NvdW50IDIvRmlyc3QgNDcgMCBSL0xhc3QgNDggMCBS
Ci9UaXRsZTxGRUZGMDA0NDAwNjUwMDc0MDA2MTAwNjkwMDZDMDA3Mz4KL0Rlc3RbMSAwIFIvWFla
IDU2LjcgOTAuNCAwXS9QYXJlbnQgNDMgMCBSL1ByZXYgNDUgMCBSL05leHQgNDkgMCBSPj4KZW5k
b2JqCgo0NyAwIG9iago8PC9Db3VudCAwL1RpdGxlPEZFRkYwMDQ5MDA3NDAwNjUwMDcyMDA2MTAw
NzQwMDZGMDA3MjAwMjAwMDUyMDA2NTAwNzEwMDc1MDA2OTAwNzIwMDY1MDA2RDAwNjUwMDZFMDA3
NDAwNzMwMDNBPgovRGVzdFs0IDAgUi9YWVogNTYuNyAyNjMgMF0vUGFyZW50IDQ2IDAgUi9OZXh0
IDQ4IDAgUj4+CmVuZG9iagoKNDggMCBvYmoKPDwvQ291bnQgMC9UaXRsZTxGRUZGMDA0OTAwNzQw
MDY1MDA3MjAwNjEwMDc0MDA2RjAwNzIwMDIwMDA1MjAwNjUwMDcxMDA3NTAwNjkwMDcyMDA2NTAw
NkQwMDY1MDA2RTAwNzQwMDczMDAzQT4KL0Rlc3RbNyAwIFIvWFlaIDU2LjcgMzE1LjkgMF0vUGFy
ZW50IDQ2IDAgUi9QcmV2IDQ3IDAgUj4+CmVuZG9iagoKNDkgMCBvYmoKPDwvQ291bnQgMC9UaXRs
ZTxGRUZGMDA1MDAwNkYwMDczMDA3MzAwNjkwMDYyMDA2QzAwNjUwMDIwMDA2OTAwNkQwMDcwMDA2
QzAwNjUwMDZEMDA2NTAwNkUwMDc0MDA2MTAwNzQwMDY5MDA2RjAwNkU+Ci9EZXN0WzcgMCBSL1hZ
WiA1Ni43IDI1OC4xIDBdL1BhcmVudCA0MyAwIFIvUHJldiA0NiAwIFIvTmV4dCA1MCAwIFI+Pgpl
bmRvYmoKCjUwIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNDUwMDc4MDA2MTAwNkQwMDcw
MDA2QzAwNjU+Ci9EZXN0WzEwIDAgUi9YWVogNTYuNyA4MTMuNCAwXS9QYXJlbnQgNDMgMCBSL1By
ZXYgNDkgMCBSL05leHQgNTEgMCBSPj4KZW5kb2JqCgo1MSAwIG9iago8PC9Db3VudCAwL1RpdGxl
PEZFRkYwMDUyMDA2NTAwNjYwMDY1MDA3MjAwNjUwMDZFMDA2MzAwNjUwMDczPgovRGVzdFsxMyAw
IFIvWFlaIDU2LjcgNzM0LjEgMF0vUGFyZW50IDQzIDAgUi9QcmV2IDUwIDAgUj4+CmVuZG9iagoK
MjAgMCBvYmoKPDwvVHlwZS9QYWdlcwovUmVzb3VyY2VzIDQyIDAgUgovTWVkaWFCb3hbIDAgMCA1
OTUgODQxIF0KL0tpZHNbIDEgMCBSIDQgMCBSIDcgMCBSIDEwIDAgUiAxMyAwIFIgXQovQ291bnQg
NT4+CmVuZG9iagoKMTYgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAg
MCAwXS9SZWN0WzMxMS43IDM5Mi42IDM5NC4xIDQwNy40XS9BPDwvVHlwZS9BY3Rpb24vUy9VUkkv
VVJJKGh0dHA6Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvY3BwL2FsZ29yaXRobS9leGVjdXRpb25f
cG9saWN5X3RhZ190KT4+Cj4+CmVuZG9iagoKMTcgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBl
L0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzU2IDY5My42IDEzOC41IDcwNy40XS9BPDwvVHlwZS9B
Y3Rpb24vUy9VUkkvVVJJKGh0dHBzOi8vZ2l0aHViLmNvbS9ib29zdG9yZy9hbGdvcml0aG0vYmxv
Yi9kZXZlbG9wL2luY2x1ZGUvYm9vc3QvYWxnb3JpdGhtL2lzX3BhcnRpdGlvbmVkX3VudGlsLmhw
cCk+Pgo+PgplbmRvYmoKCjE4IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRl
clswIDAgMF0vUmVjdFsyOTIgMzY0IDM2MC44IDM3Ny44XS9BPDwvVHlwZS9BY3Rpb24vUy9VUkkv
VVJJKGh0dHA6Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvY3BwL21lbW9yeS9uZXcvYmFkX2FsbG9j
KT4+Cj4+CmVuZG9iagoKMTkgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVy
WzAgMCAwXS9SZWN0WzM5OC42IDM5Mi42IDQ2Ni4xIDQwNy40XS9BPDwvVHlwZS9BY3Rpb24vUy9V
UkkvVVJJKGh0dHA6Ly9lbi5jcHByZWZlcmVuY2UuY29tL3cvY3BwL2Vycm9yL3Rlcm1pbmF0ZSk+
Pgo+PgplbmRvYmoKCjUyIDAgb2JqCjw8L1R5cGUvQ2F0YWxvZy9QYWdlcyAyMCAwIFIKL09wZW5B
Y3Rpb25bMSAwIFIgL1hZWiBudWxsIG51bGwgMF0KL091dGxpbmVzIDQzIDAgUgovTGFuZyhydS1S
VSkKPj4KZW5kb2JqCgo1MyAwIG9iago8PC9DcmVhdG9yPEZFRkYwMDU3MDA3MjAwNjkwMDc0MDA2
NTAwNzI+Ci9Qcm9kdWNlcjxGRUZGMDA0QzAwNjkwMDYyMDA3MjAwNjUwMDRGMDA2NjAwNjYwMDY5
MDA2MzAwNjUwMDIwMDAzNTAwMkUwMDM0PgovQ3JlYXRpb25EYXRlKEQ6MjAxODAzMjYyMDI5MDQr
MDMnMDAnKT4+CmVuZG9iagoKeHJlZgowIDU0CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDA1NTA1
OSAwMDAwMCBuIAowMDAwMDAwMDE5IDAwMDAwIG4gCjAwMDAwMDE2NTkgMDAwMDAgbiAKMDAwMDA1
NTIyOSAwMDAwMCBuIAowMDAwMDAxNjgwIDAwMDAwIG4gCjAwMDAwMDQwMDIgMDAwMDAgbiAKMDAw
MDA1NTM5OSAwMDAwMCBuIAowMDAwMDA0MDIzIDAwMDAwIG4gCjAwMDAwMDY1OTkgMDAwMDAgbiAK
MDAwMDA1NTYwMSAwMDAwMCBuIAowMDAwMDA2NjIwIDAwMDAwIG4gCjAwMDAwMDgwOTYgMDAwMDAg
biAKMDAwMDA1NTc3MyAwMDAwMCBuIAowMDAwMDA4MTE4IDAwMDAwIG4gCjAwMDAwMDg2MDMgMDAw
MDAgbiAKMDAwMDA1NzQ2OCAwMDAwMCBuIAowMDAwMDU3NjU0IDAwMDAwIG4gCjAwMDAwNTc4NzEg
MDAwMDAgbiAKMDAwMDA1ODA0MSAwMDAwMCBuIAowMDAwMDU3MzQyIDAwMDAwIG4gCjAwMDAwMDg2
MjQgMDAwMDAgbiAKMDAwMDAxNTc5OSAwMDAwMCBuIAowMDAwMDE1ODIxIDAwMDAwIG4gCjAwMDAw
MTYwMTUgMDAwMDAgbiAKMDAwMDAxNjQxMiAwMDAwMCBuIAowMDAwMDE2NjY2IDAwMDAwIG4gCjAw
MDAwMTg1MjQgMDAwMDAgbiAKMDAwMDAxODU0NiAwMDAwMCBuIAowMDAwMDE4NzM4IDAwMDAwIG4g
CjAwMDAwMTkwMjkgMDAwMDAgbiAKMDAwMDAxOTE5MCAwMDAwMCBuIAowMDAwMDMxNTQ0IDAwMDAw
IG4gCjAwMDAwMzE1NjcgMDAwMDAgbiAKMDAwMDAzMTc3MSAwMDAwMCBuIAowMDAwMDMyMjM5IDAw
MDAwIG4gCjAwMDAwMzI1NjcgMDAwMDAgbiAKMDAwMDA1MzYzMyAwMDAwMCBuIAowMDAwMDUzNjU2
IDAwMDAwIG4gCjAwMDAwNTM4NTMgMDAwMDAgbiAKMDAwMDA1NDQ3NCAwMDAwMCBuIAowMDAwMDU0
OTQxIDAwMDAwIG4gCjAwMDAwNTUwMDQgMDAwMDAgbiAKMDAwMDA1NTk2MyAwMDAwMCBuIAowMDAw
MDU2MDE5IDAwMDAwIG4gCjAwMDAwNTYxNDcgMDAwMDAgbiAKMDAwMDA1NjMyOSAwMDAwMCBuIAow
MDAwMDU2NDkyIDAwMDAwIG4gCjAwMDAwNTY2NzYgMDAwMDAgbiAKMDAwMDA1Njg2MiAwMDAwMCBu
IAowMDAwMDU3MDY0IDAwMDAwIG4gCjAwMDAwNTcyMDMgMDAwMDAgbiAKMDAwMDA1ODIxMCAwMDAw
MCBuIAowMDAwMDU4MzI1IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA1NC9Sb290IDUyIDAgUgov
SW5mbyA1MyAwIFIKL0lEIFsgPDEyQUVGODY0QTk4MjBGRDQyQzAxMjQ3NzYwN0E1OUJGPgo8MTJB
RUY4NjRBOTgyMEZENDJDMDEyNDc3NjA3QTU5QkY+IF0KL0RvY0NoZWNrc3VtIC83MDkzNTBDNkI1
NkUwMjMwMENGNkIxNDQ1RDc1NzNGNwo+PgpzdGFydHhyZWYKNTg1MDAKJSVFT0YK
------=_Part_1418_361652347.1522085788368
Content-Type: text/html; charset=UTF-8; name=is_partitioned_until.html
Content-Transfer-Encoding: quoted-printable
Content-Disposition: attachment; filename=is_partitioned_until.html
X-Attachment-Id: 4274256c-25a2-4028-ba88-5d5e0cd3db81
Content-ID: <4274256c-25a2-4028-ba88-5d5e0cd3db81>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
=09<meta http-equiv=3D"content-type" content=3D"text/html; charset=3Dutf-8"=
/>
=09<title></title>
=09<meta name=3D"generator" content=3D"LibreOffice 5.4.6.2 (Linux)"/>
=09<meta name=3D"created" content=3D"00:00:00"/>
=09<meta name=3D"changed" content=3D"2018-03-26T19:24:15.279755882"/>
=09<style type=3D"text/css">
=09=09h2.cjk { font-family: "WenQuanYi Micro Hei" }
=09=09h2.ctl { font-family: "Lohit Devanagari" }
=09=09h4.cjk { font-family: "WenQuanYi Micro Hei" }
=09=09h4.ctl { font-family: "Lohit Devanagari" }
=09=09code.cjk { font-family: "WenQuanYi Micro Hei Mono", monospace }
=09</style>
</head>
<body lang=3D"ru-RU" dir=3D"ltr">
<h1 align=3D"center"><strong>Proposal for Additional Partition Function</st=
rong></h1>
<p align=3D"right"><strong>Document number:&nbsp;</strong></p>
<p align=3D"right"><strong>Date:&nbsp;</strong></p>
<p align=3D"right"><strong>Project:&nbsp;</strong>Programming Language
C++</p>
<p align=3D"right"><strong>Reference:&nbsp;</strong>ISO/IEC IS
14882:2017(E)</p>
<p align=3D"right"><strong>Reply to:</strong>&nbsp;Alexander Zaitsev</p>
<p align=3D"right">zamazan4ik@tut.by</p>
<p align=3D"right">&nbsp;</p>
<h2 class=3D"western" align=3D"left"><strong>Overview</strong></h2>
<p>At the current time in the standard, we already have functions for
working with partitions. There is <strong>is_partitioned&nbsp;</strong>func=
tion,
but unfortunately this function return not enough information about
tested range. E.g. if tested sequence isn't partitioned,
<strong>is_partitioned&nbsp;</strong>return false. But sometimes we
need information about the place where the condition was violated.
E.g. we want to delete from a container all elements that violate the
partitioning.</p>
<p>It is proposed to add one new function: <strong>is_partitioned_until</st=
rong>.</p>
<p>&nbsp;</p>
<h2 class=3D"western"><strong>Header &lt;algorithm&gt;</strong></h2>
<p>namespace std</p>
<p>{</p>
<p>...</p>
<p>template&lt;typename InputIterator, typename UnaryPredicate&gt;</p>
<p>constexpr InputIterator <strong>is_partitioned_until</strong>(
InputIterator first, InputIterator last, UnaryPredicate p );</p>
<p>template&lt; typename&nbsp;ExecutionPolicy, typename&nbsp;ForwardIt,
typename&nbsp;UnaryPredicate&nbsp;&gt;<br/>
ForwardIt
<strong>is_partitioned_until</strong>(&nbsp;ExecutionPolicy&amp;&amp;&nbsp;=
policy,
ForwardIt first, ForwardIt last, UnaryPredicate p&nbsp;);</p>
<p>...</p>
<p>}</p>
<h2 class=3D"western"><strong>Details</strong></h2>
<p>template&lt;typename InputIterator, typename UnaryPredicate&gt;</p>
<p>constexpr InputIterator <strong>is_partitioned_until</strong>(
InputIterator first, InputIterator last, UnaryPredicate p );</p>
<p>The algorithm tests to see if a sequence is partitioned according
to a predicate; in other words, all the items in the sequence that
satisfy the predicate are at the beginning of the sequence.</p>
<p>This routine takes a sequence and a predicate. It returns the last
iterator 'it' in the sequence [begin, end) for which the
<strong>is_partitioned</strong>(begin, it) is true.</p>
<p>&nbsp;</p>
<p><strong>Parameters</strong>:</p>
<p>first -&nbsp; The start of the input sequence.</p>
<p>last - One past the end of the input sequence.</p>
<p>p - unary predicate which returns =E2=80=8Btrue&nbsp;for the elements
expected to be found in the beginning of the range.&nbsp;</p>
<p>The signature of the predicate function should be equivalent to
the following:</p>
<p>bool&nbsp;pred(const&nbsp;Type&nbsp;&amp;a);</p>
<p>The signature does not need to have&nbsp;const&nbsp;&amp;, but the
function must not modify the objects passed to it.<br/>
The
type&nbsp;Type&nbsp;must be such that an object of type InputIterator
can be dereferenced and then implicitly converted to&nbsp;Type. =E2=80=8B</=
p>
<p><strong>Note</strong>: returns iterator to the end for empty and
single-element ranges, no matter what predicate is passed to test
against.</p>
<p><strong>Complexity</strong>: At most&nbsp;<code class=3D"western">std::d=
istance(first,
last)</code>&nbsp;applications of&nbsp;<code class=3D"western">p</code>.;
that is, it compare against each element in the list once. If the
sequence is found to be not partitioned at any point, the routine
will terminate immediately, without examining the rest of the
elements.</p>
<p><strong>Exception:</strong></p>
<p>Takes parameters by value or const reference, and do not depend
upon any global state. Therefore, provides the strong exception
guarantee.&nbsp;</p>
<h4 class=3D"western">Iterator Requirements:</h4>
<p>Works on all iterators except output iterators.</p>
<p>&nbsp;</p>
<p>template&lt; typename&nbsp;ExecutionPolicy, typename&nbsp;ForwardIt,
typename&nbsp;UnaryPredicate&nbsp;&gt;<br/>
ForwardIt
<strong>is_partitioned_until</strong>(&nbsp;ExecutionPolicy&amp;&amp;&nbsp;=
policy,
ForwardIt first, ForwardIt last, UnaryPredicate p&nbsp;);</p>
<p>The algorithm tests to see if a sequence is partitioned according
to a predicate; in other words, all the items in the sequence that
satisfy the predicate are at the beginning of the sequence.</p>
<p>This routine takes an execution policy, a sequence and a
predicate. It returns the last iterator 'it' in the sequence [begin,
end) for which the <strong>is_partitioned</strong>(begin, it) is
true.</p>
<p><strong>Parameters</strong>:</p>
<p>policy - An execution policy.</p>
<p>first -&nbsp; The start of the input sequence.</p>
<p>last - One past the end of the input sequence.</p>
<p>p - unary predicate which returns =E2=80=8Btrue&nbsp;for the elements
expected to be found in the beginning of the range.&nbsp;</p>
<p>The signature of the predicate function should be equivalent to
the following:</p>
<p>bool&nbsp;pred(const&nbsp;Type&nbsp;&amp;a);</p>
<p>The signature does not need to have&nbsp;const&nbsp;&amp;, but the
function must not modify the objects passed to it.<br/>
The
type&nbsp;Type&nbsp;must be such that an object of type ForwardIt&nbsp;can
be dereferenced and then implicitly converted to&nbsp;Type. =E2=80=8B</p>
<p><strong>Note</strong>: returns iterator to the end for empty and
single-element ranges, no matter what predicate is passed to test
against.</p>
<p><strong>Complexity</strong>: At most&nbsp;<code class=3D"western">std::d=
istance(first,
last)</code>&nbsp;applications of&nbsp;<code class=3D"western">p</code>.;
that is, it compare against each element in the list once. If the
sequence is found to be not partitioned at any point, the routine
will terminate immediately, without examining the rest of the
elements.</p>
<p><strong>Exception:</strong></p>
<p>The overload with a template parameter
named&nbsp;<code class=3D"western">ExecutionPolicy</code>&nbsp;reports
errors as follows:</p>
<ul>
=09<li/>
<p style=3D"margin-bottom: 0cm">If execution of a function
=09invoked as part of the algorithm throws an exception
=09and&nbsp;<code class=3D"western">ExecutionPolicy</code>&nbsp;is one of
=09the three&nbsp;<a href=3D"http://en.cppreference.com/w/cpp/algorithm/exe=
cution_policy_tag_t">standard
=09policies</a>,&nbsp;<a href=3D"http://en.cppreference.com/w/cpp/error/ter=
minate">std::terminate</a>&nbsp;is
=09called. For any other&nbsp;<code class=3D"western">ExecutionPolicy</code=
>,
=09the behavior is implementation-defined.=20
=09</p>
=09<li/>
<p>If the algorithm fails to allocate
=09memory,&nbsp;<a href=3D"http://en.cppreference.com/w/cpp/memory/new/bad_=
alloc">std::bad_alloc</a>&nbsp;is
=09thrown.=20
=09</p>
</ul>
<p>&nbsp;</p>
<h4 class=3D"western">Iterator Requirements:</h4>
<p>Works on all iterators except input and output iterators.</p>
<h2 class=3D"western"><strong>Possible implementation</strong></h2>
<p>template &lt;typename InputIterator, typename
UnaryPredicate&gt;<br/>
InputIterator is_partitioned_until (
InputIterator first, InputIterator last, UnaryPredicate p )<br/>
{<br/>
&nbsp;
&nbsp; // Run through the part that satisfy the predicate<br/>
&nbsp;
&nbsp; for ( ; first !=3D last; ++first )<br/>
&nbsp; &nbsp; &nbsp; &nbsp;
if ( !p (*first))<br/>
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
break;<br/>
&nbsp; &nbsp; // Now the part that does not satisfy the
predicate<br/>
&nbsp; &nbsp; for ( ; first !=3D last; ++first )<br/>
&nbsp;
&nbsp; &nbsp; &nbsp; if ( p (*first))<br/>
&nbsp; &nbsp; &nbsp; &nbsp;
&nbsp; &nbsp; return first;<br/>
&nbsp; &nbsp; return last;<br/>
}</p>
<h2 class=3D"western">Example</h2>
<p>#include &lt;vector&gt;<br/>
#include &lt;functional&gt;<br/>
#include
&lt;iostream&gt;</p>
<p>#include &lt;algorithm&gt;</p>
<p>bool isOdd(const int v1)<br/>
{<br/>
&nbsp; &nbsp; return v1 % 2
!=3D 0;<br/>
}</p>
<p>struct isOddComp<br/>
{<br/>
&nbsp; &nbsp; bool operator()(const
int v1) const<br/>
&nbsp; &nbsp; {<br/>
&nbsp; &nbsp; &nbsp; &nbsp;
return v1 % 2 !=3D 0;<br/>
&nbsp; &nbsp; }<br/>
};</p>
<p><br/>
int main ( int /*argc*/, char * /*argv*/ [] )<br/>
{<br/>
&nbsp;
&nbsp; std::vector&lt;int&gt; good({1, 2, 4});<br/>
&nbsp; &nbsp;
std::vector&lt;int&gt; bad({1, 2, 3});</p>
<p>&nbsp; &nbsp; // Use custom function<br/>
&nbsp; &nbsp; auto it1 =3D
ba::is_partitioned_until(good.begin(), good.end(), isOdd);<br/>
&nbsp;
&nbsp; if(it1 =3D=3D good.end())<br/>
&nbsp; &nbsp; {<br/>
&nbsp; &nbsp;
&nbsp; &nbsp; std::cout &lt;&lt; &quot;The sequence is
partitioned\n&quot;;<br/>
&nbsp; &nbsp; }<br/>
&nbsp; &nbsp; else<br/>
&nbsp;
&nbsp; {<br/>
&nbsp; &nbsp; &nbsp; &nbsp; std::cout &lt;&lt;
&quot;is_partitioned_until check failed here: &quot; &lt;&lt; *it1 &lt;&lt;
std::endl;<br/>
&nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; // Use custom comparator<br/>
&nbsp; &nbsp; auto it2
=3D ba::is_partitioned_until(good.begin(), good.end(), isOddComp());<br/>
&nbsp;
&nbsp; if(it2 =3D=3D good.end())<br/>
&nbsp; &nbsp; {<br/>
&nbsp; &nbsp;
&nbsp; &nbsp; std::cout &lt;&lt; &quot;The sequence is
partitioned\n&quot;;<br/>
&nbsp; &nbsp; }<br/>
&nbsp; &nbsp; else<br/>
&nbsp;
&nbsp; {<br/>
&nbsp; &nbsp; &nbsp; &nbsp; std::cout &lt;&lt;
&quot;is_partitioned_until check failed here: &quot; &lt;&lt; *it2 &lt;&lt;
std::endl;<br/>
&nbsp; &nbsp; }</p>
<p>&nbsp; &nbsp; auto it3 =3D ba::is_partitioned_until(bad, isOdd);<br/>
&nbsp;
&nbsp; if(it3 =3D=3D bad.end())<br/>
&nbsp; &nbsp; {<br/>
&nbsp; &nbsp; &nbsp;
&nbsp; std::cout &lt;&lt; &quot;The sequence is partitioned\n&quot;;<br/>
&nbsp;
&nbsp; }<br/>
&nbsp; &nbsp; else<br/>
&nbsp; &nbsp; {<br/>
&nbsp; &nbsp;
&nbsp; &nbsp; std::cout &lt;&lt; &quot;is_partitioned_until check
failed here: &quot; &lt;&lt; *it3 &lt;&lt; std::endl;<br/>
&nbsp; &nbsp;
}<br/>
&nbsp; &nbsp; return 0;<br/>
}</p>
<h2 class=3D"western">References</h2>
<p><a href=3D"https://github.com/boostorg/algorithm/blob/develop/include/bo=
ost/algorithm/is_partitioned_until.hpp">Boost.Algorithm</a>
implementation</p>
</body>
</html>
------=_Part_1418_361652347.1522085788368--

.