Topic: Adding 'apply_permutation' functions to the standard library
Author: Alexander Zaitsev <zamazan4ik@gmail.com>
Date: Mon, 26 Mar 2018 10:52:35 -0700 (PDT)
Raw View
------=_Part_14805_1287821258.1522086755071
Content-Type: multipart/alternative;
boundary="----=_Part_14806_1398723747.1522086755071"
------=_Part_14806_1398723747.1522086755071
Content-Type: text/plain; charset="UTF-8"
Hello,
I am working on proposal about adding two new functions to STL:
'apply_permutation' and 'apply_reverse_permutation'. 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
*What is it?*
Shortly, 'apply_permutation' and 'apply_reverse_permutation' are functions
for reordering elements in a range in some defined order.
*Description*
The routine `apply_permutation` takes a item sequence and a order sequence.
It reshuffles item sequence according to order sequence. Every value in
order sequence means where the item comes from. Order sequence needs to be
exactly a permutation of the sequence [0, 1, ... , N], where N is the
biggest index in the item sequence (zero-indexed).
The routine `apply_reverse_permutation` takes a item sequence and a order
sequence. It will reshuffle item sequence according to order sequence.
Every value in order sequence means where the item goes to. Order sequence
needs to be exactly a permutation of the sequence [0, 1, ... , N], where N
is the biggest index in the item sequence (zero-indexed).
*Brief description*
Brief exaplantion is available on Microsoft Developer "Old new thing" blog:
1 <https://blogs.msdn.microsoft.com/oldnewthing/20170102-00/?p=95095>, 2
<https://blogs.msdn.microsoft.com/oldnewthing/20170103-00/?p=95105>, 3
<https://blogs.msdn.microsoft.com/oldnewthing/20170104-00/?p=95115>, 4
<https://blogs.msdn.microsoft.com/oldnewthing/20170109-00/?p=95145>, 5
<https://blogs.msdn.microsoft.com/oldnewthing/20170110-00/?p=95155>, 6
<https://blogs.msdn.microsoft.com/oldnewthing/20170111-00/?p=95165>
Implementation is available in Boost.Algorithm library:
https://github.com/boostorg/algorithm/blob/develop/include/boost/algorithm/apply_permutation.hpp
So you can play with it on wandbox.org
<http://wandbox.org/>
<http://wandbox.org/>
Open questions: Naming. I think apply_reverese_permutation isn't nice name.
Can you suggest anything better?
--
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/9d30f89e-c92f-4c38-9943-b96b199d1ddd%40isocpp.org.
------=_Part_14806_1398723747.1522086755071
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<div dir=3D"ltr">Hello,<div><div style=3D"overflow: auto;"><div style=3D"ma=
x-height: 10000px;"><div dir=3D"ltr"><div><br></div><div>I am working on pr=
oposal about adding two new functions to STL: 'apply_permutation' a=
nd 'apply_reverse_permutation'. In attachments you can find this pr=
oposal (in PDF and HTML formats). Also you can find them on GitHub:=C2=A0<a=
href=3D"https://github.com/ZaMaZaN4iK/ConfsANDProps/tree/master/Proposals"=
target=3D"_blank" rel=3D"nofollow" style=3D"cursor: pointer;">https://gith=
ub.com/<wbr>ZaMaZaN4iK/ConfsANDProps/tree/<wbr>master/Proposals</a></div><d=
iv><br></div><div><b>What is it?</b></div><div><b><br></b></div><div>Shortl=
y, 'apply_permutation' and 'apply_reverse_permutation' are =
functions for reordering elements in a range in some defined order.=C2=A0</=
div><div><br></div><div><b>Description</b></div><div><br></div><div><div>Th=
e routine `apply_permutation` takes a item sequence and a order sequence. I=
t reshuffles item sequence according to order sequence. Every value in orde=
r sequence means where the item comes from. Order sequence needs to be exac=
tly a permutation of the sequence [0, 1, ... , N], where N is the biggest i=
ndex in the item sequence (zero-indexed).</div><div><br></div><div>The rout=
ine `apply_reverse_permutation` takes a item sequence and a order sequence.=
It will reshuffle item sequence according to order sequence. Every value i=
n order sequence means where the item goes to. Order sequence needs to be e=
xactly a permutation of the sequence [0, 1, ... , N], where N is the bigges=
t index in the item sequence (zero-indexed).</div></div><div><br></div><div=
><b>Brief description</b></div><div><b><br></b></div><div>Brief exaplantion=
is available on Microsoft Developer "Old new thing" blog: <a hre=
f=3D"https://blogs.msdn.microsoft.com/oldnewthing/20170102-00/?p=3D95095">1=
</a>,
<a href=3D"https://blogs.msdn.microsoft.com/oldnewthing/20170103-00/?p=3D95=
105">2</a>,
<a href=3D"https://blogs.msdn.microsoft.com/oldnewthing/20170104-00/?p=3D95=
115">3</a>,
<a href=3D"https://blogs.msdn.microsoft.com/oldnewthing/20170109-00/?p=3D95=
145">4</a>,
<a href=3D"https://blogs.msdn.microsoft.com/oldnewthing/20170110-00/?p=3D95=
155">5</a>,
<a href=3D"https://blogs.msdn.microsoft.com/oldnewthing/20170111-00/?p=3D95=
165">6</a></div>
=09
=09
<style type=3D"text/css">
@page { margin: 2cm }
</style>
<div><b><br></b></div><div><b><br></b></div><div><br></div><div>Implementat=
ion is available in Boost.Algorithm library: <font color=3D"#1155cc">https:=
//github.com/boostorg/algorithm/blob/develop/include/boost/algorithm/apply_=
permutation.hpp</font></div><div>So you can play with it on=C2=A0<a href=3D=
"http://wandbox.org/" target=3D"_blank" rel=3D"nofollow" style=3D"cursor: p=
ointer;">wandbox.org<br></a></div><div><a href=3D"http://wandbox.org/" targ=
et=3D"_blank" rel=3D"nofollow" style=3D"cursor: pointer;"><br></a></div><di=
v><a href=3D"http://wandbox.org/" target=3D"_blank" rel=3D"nofollow" style=
=3D"cursor: pointer;"><br></a></div><div>Open questions: Naming. I think ap=
ply_reverese_permutation isn't nice name. Can you suggest anything bett=
er?</div></div></div></div></div></div>
<p></p>
-- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" 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/9d30f89e-c92f-4c38-9943-b96b199d1ddd%=
40isocpp.org?utm_medium=3Demail&utm_source=3Dfooter">https://groups.google.=
com/a/isocpp.org/d/msgid/std-proposals/9d30f89e-c92f-4c38-9943-b96b199d1ddd=
%40isocpp.org</a>.<br />
------=_Part_14806_1398723747.1522086755071--
------=_Part_14805_1287821258.1522086755071
Content-Type: application/pdf; name=apply_permutation.pdf
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename=apply_permutation.pdf
X-Attachment-Id: f4cc9609-da6a-4e0b-adff-a8fd0fd02f35
Content-ID: <f4cc9609-da6a-4e0b-adff-a8fd0fd02f35>
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
yTJ66PQ/vVD2znx/+WLE9CMFctrGRdoUr1kHpbgmVyrDlQcLyS0ebPnGYuwl99++XU+LUr0cFh/H
+bF0t6TaiZ5WLfnZI3w6/g1KN7PICmVuZHN0cmVhbQplbmRvYmoKCjEyIDAgb2JqCjE4MDAKZW5k
b2JqCgoxNCAwIG9iago8PC9MZW5ndGggMTUgMCBSL0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVh
bQp4nKWTTWvDMAyG7/kVOg/iSbId2xACa5sOdusW2GHstC8Y62C99O9PiZMupfECLSGJHcuvHul1
UBHssx9AuWywisEbUh52b9njFXz3Kwi7j2zRZLaQJRcKVUDzCtdrAvLQvJfkiTHIzXLXRPK0VfOZ
1U22GSSURQrFkZCzykYhBmIReio1oUbNusq5ZK7k4WnVTqiWCRpZZXTVsLjAonpu7oZE1KUiGMm/
bDNUDvZHEPe3GUJOUvsWPMXRFzz8wfaYpF2CE0NHIem51BjhlhW1H3LbD33HKJ3Ii4gbt2j0Y+bT
/ho39PeQzizbHsTCO20emiTvtYi3SYPhqs/NpntFLq0xAkmYb8Mc0aGljFKKj5vqTjAMre1oPRrj
4j4OvR4a8jHjSSFHLnMRlJ6opyQzOh2DaePoWdeKtGksdk1m5ZUA/3cq5awleN0U7yj6Il7vzuUN
enqnCVO8o+iLeEPC1VlejQlnyE7wjqMv4dWUcHWelxLOmJsp3lH0RbyccHWelxPOmNUUL5/7v23g
F0f5TAsKZW5kc3RyZWFtCmVuZG9iagoKMTUgMCBvYmoKNDAyCmVuZG9iagoKMjQgMCBvYmoKPDwv
TGVuZ3RoIDI1IDAgUi9GaWx0ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoMSAxODM3Nj4+CnN0cmVhbQp4
nN17DXgT15XoPXdG/7I1+hvLkiWNLI9lW7ZlLGxjZPBg/CMMGIMNsQ3GMthg82djGwJJGpw2geD8
QNtsNmm2Dc1mU9LQIghNyHa3cVuaff1Jw76m7eavYdtsd/MaFrqbdtMQy+/ckYwhze6+9/Z93/u+
J0sz55577pl7zz3n3HPuHU+M7RskZjJJOKJs3d0/+uFbP/lvhJAfEQK2rfsnpBPKziDClwih2m2j
23cXRd/4Z0K4fyJEp9m+6+C23IrnthJivEpIxR1Dg/0Dz//lS0gf24U8qocQMZo6qMPyk1guGNo9
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
/cXEi6Mvct9qKfGT8xB5vu/5Y8+ffv7t5zUj18D/4ZUP6ciHhz6kyocw8g2wnPOfoyPnwP/smmdn
n+W+fqrBbzl56CQ9fRJGT0L9SRAekR6peIQbfQT+9OE8f+RP6v+EfvaeAf/pB+H+NX4/uSdxDz1+
Dxz/DHwai8I+aR+dSMz6x/tm/aP4/BH87WmZ9edGXet1UW69lpv1s36eTpVHm6e3wKV+SPQt9Pdh
W/9HkY8e/4g7/RGQzaBsNmQ1H9p0bNPjm7iNPWF/pAdIT6KHHu+52kP9PWCP2tZrUBQ88rRwfq6e
W8ONcMc4rb6jNeBvR3YjbYfajrVxq1uC/tYWyW+JgxI3WZqbsUOWFn8LzYt71otR53orWNYLUct6
CmQ9RMn6iGXWQi2WPsshCztQJ3RSBA2ch+NnOjvC4ZXndbPrViZ17RuTcG9S7mBXZW1PUntvkqzv
2dh1BuDB7nseeIA0eFcmKzu6kglv98rkAAIKAyYRELxnRNLQPT4+kX6rB8bD4YkwwV9487haHp/Y
h6WJ8QkSDo+PqzT4w8IEYBmx4+FxhNCyGJNxGJ9gwDgZx3oyzn4TiNvHWrOmrs2oT/8TcmEBVgpl
bmRzdHJlYW0KZW5kb2JqCgoyNSAwIG9iagoxMjUzOQplbmRvYmoKCjI2IDAgb2JqCjw8L1R5cGUv
Rm9udERlc2NyaXB0b3IvRm9udE5hbWUvQkFBQUFBK0xpYmVyYXRpb25TZXJpZi1Cb2xkCi9GbGFn
cyA0Ci9Gb250QkJveFstMTgyIC0zMDMgMTA4MyAxMDA3XS9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQg
ODkxCi9EZXNjZW50IC0yMTYKL0NhcEhlaWdodCAxMDA3Ci9TdGVtViA4MAovRm9udEZpbGUyIDI0
IDAgUgo+PgplbmRvYmoKCjI3IDAgb2JqCjw8L0xlbmd0aCA0MDEvRmlsdGVyL0ZsYXRlRGVjb2Rl
Pj4Kc3RyZWFtCnicXZLLboMwEEX3fIWX6SICm1ciIaSUBIlFHyrtBxAYUqRikCEL/r6eGbeVugg6
Ht+xjp3xi+pc6WH1X83U1rCKftCdgWW6mxbEFW6D9qQS3dCubkXfdmxmz7e99basMFa6n7LM89/s
3rKaTexO3XSFB89/MR2YQd/E7qOo7bq+z/MXjKBXEXh5Ljro7TlPzfzcjOBT177q7Pawbnvb8hd4
32YQitaSVdqpg2VuWjCNvoGXBUEusrLMPdDdv73ItVz79rMxNiptNAjiILesiFOFHBInJXLEdcrE
zCFywhmJnDIXyAdiRfkj1xPkE3FE+UeuR8gF8xH5zOdT/cL1C3LJvXiODDgTI7N/gj6S/ROqO/8z
MvtHeKZk/wTvKNk/PCE7f2L2jynD/im6SeePbyLZPyUf9k9TZPaPKcP+6QHZ+SMr9g/xrZTzx17l
/CnD/iHeXTl/YvaP8L6K/SN0U+yf4tsq9o/wHRT7xyENg/vXcSxwbn/GTbR3Y+yo0XDTjOF0DRp+
53+eZuyi3zdPA8soCmVuZHN0cmVhbQplbmRvYmoKCjI4IDAgb2JqCjw8L1R5cGUvRm9udC9TdWJ0
eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStMaWJlcmF0aW9uU2VyaWYtQm9sZAovRmlyc3RD
aGFyIDAKL0xhc3RDaGFyIDQxCi9XaWR0aHNbMzY1IDYxMCA0NDMgNTAwIDU1NiAzODkgNTAwIDI3
NyAyNTAgMzMzIDcyMiA1NTYgMjc3IDMzMyA1NTYgNjEwCjU1NiA0NDMgNDQzIDgzMyA3MjIgNTU2
IDMzMyAzMzMgNzIyIDUwMCA3NzcgNTAwIDcyMiA1MDAgNTAwIDc3Nwo1NjkgNTAwIDU1NiA1Njkg
NzIyIDcyMiAzODkgNTU2IDY2NiA1NTYgXQovRm9udERlc2NyaXB0b3IgMjYgMCBSCi9Ub1VuaWNv
ZGUgMjcgMCBSCj4+CmVuZG9iagoKMjkgMCBvYmoKPDwvTGVuZ3RoIDMwIDAgUi9GaWx0ZXIvRmxh
dGVEZWNvZGUvTGVuZ3RoMSAzMDA0ND4+CnN0cmVhbQp4nNW9CXhT15kwfN5z75V0te+yLMuSkORF
si0j2djGWL6AF4FZBAhi7BgLsM2OjW1ISJrgJCwJhIG2hELIQvMxaUroxBCaZmkTd4ZkmslGW5JO
JktpS7cvJaEZmj8TQPzvuZIJpO3M8/zf/zz/8wtL9yzv2d7znnc751yGBzf2Ei0ZIRyRlq9bOuC7
9IefEUJeJwTMyzcNe69Ok7wYPksItfcNrFhXEnvvY0K4zwlRCivWbu7z3yyqCNFgka6Slb1Le378
/MMBQlaWYMKklZiwL7NZifE0xgMr1w3fejBvfwHGt2KdtWv7ly/95fo/DxGy6oeY/8i6pbcO/FHx
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
L0l0YWxpY0FuZ2xlIDAKL0FzY2VudCA4OTEKL0Rlc2NlbnQgLTIxNgovQ2FwSGVpZ2h0IDk4MQov
U3RlbVYgODAKL0ZvbnRGaWxlMiAyOSAwIFIKPj4KZW5kb2JqCgozMiAwIG9iago8PC9MZW5ndGgg
NTU3L0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVhbQp4nF3UzY7aMBQF4H2eIsvpYkR8rxPPSAiJ
gUFi0R+V6QOExNBIJUQhLHj75tzjtlIXMzoh1/bnK8eLzX6777tp8W28Noc45aeub8d4u97HJubH
eO76zEneds2Unux/c6mHbDGPPTxuU7zs+9N1ucwW3+d3t2l85E/r9nqMn7LF17GNY9ef86cfm8P8
fLgPw694if2UF9lqlbfxNM/zuR6+1Je4sFHP+3Z+3U2P53nIv4KPxxBzsWdHSnNt422omzjW/Tlm
y6JY5cvdbpXFvv3vXQgccjw1P+txLnVzaVGUxWrOYjkIslqudsieOSCXzA65Yt4iB+ZX5Bfmd+RX
y2Lzry37DfIb1yqRN6y3vGWNIr9z7Bvyjr9jflfQjBpHv4fT0S+W6feY09GvMDv61SPTry/I9Cv2
7ujXNTL9Cr+jX9EHR7/YWPrFbMlva9FfYb+O/oB6ob+CQVL/sZak/tvv9AfsUegPFTL9wepT/9Ef
od/DKfQL+i/0V9iX0B/gFPor86T+21r0C8xCf8B+hf4KBqU/YC1N/cf8mvqP86D0l+iDpvMDs9Jf
Yo9Kf7Aa+kvsRen38Cv9pc2Z/FZDv8Kp9JdmoF9tLP0lzoPSrxjrkx9z+tR/7NHT72Hz9KvV0C9w
evoFvfL0C/bl6RcYPP0lbD6dH6tP5wdn0qfzg356+r2tlfyVfbzpK8VnjHvmz/WQN/dxnK8Gu4zs
TsBt0PXx7301XAeMsr/fi3cgDwplbmRzdHJlYW0KZW5kb2JqCgozMyAwIG9iago8PC9UeXBlL0Zv
bnQvU3VidHlwZS9UcnVlVHlwZS9CYXNlRm9udC9DQUFBQUErTGliZXJhdGlvblNlcmlmCi9GaXJz
dENoYXIgMAovTGFzdENoYXIgNzcKL1dpZHRoc1szNjUgNTU2IDMzMyA1MDAgNTAwIDQ0MyA3Nzcg
Mjc3IDUwMCAyNTAgNjEwIDUwMCA0NDMgNjY2IDU2MyAzMzMKNTU2IDcyMiAyNzcgNjEwIDUwMCA1
MDAgNTAwIDUwMCAyNzcgNTAwIDUwMCAzMzMgMzMzIDcyMiAyNzcgNTAwCjUwMCA2MTAgMjc3IDM4
OSA1MDAgNDQzIDUwMCA5MjAgMjUwIDUwMCA1MDAgNTAwIDQ0MyAyNTAgNzIyIDMzMwo1MDAgNjY2
IDMzMyA3MjIgMjc3IDYxMCA1MDAgMzMzIDcyMiAzMzMgNDc5IDU2MyA2NjYgNTYzIDUwMCAyNzcK
NDc5IDk0MyA3MjIgNTYzIDMzMyA1MDAgNTAwIDQwOCAyNzcgNTAwIDUwMCA3NzcgODg5IDUwMCBd
Ci9Gb250RGVzY3JpcHRvciAzMSAwIFIKL1RvVW5pY29kZSAzMiAwIFIKPj4KZW5kb2JqCgozNCAw
IG9iago8PC9GMSAyOCAwIFIvRjIgMzMgMCBSCj4+CmVuZG9iagoKMzUgMCBvYmoKPDwvRm9udCAz
NCAwIFIKL1Byb2NTZXRbL1BERi9UZXh0XQo+PgplbmRvYmoKCjEgMCBvYmoKPDwvVHlwZS9QYWdl
L1BhcmVudCAyMyAwIFIvUmVzb3VyY2VzIDM1IDAgUi9NZWRpYUJveFswIDAgNTk1LjI3NTU5MDU1
MTE4MSA4NDEuODYxNDE3MzIyODM1XS9Hcm91cDw8L1MvVHJhbnNwYXJlbmN5L0NTL0RldmljZVJH
Qi9JIHRydWU+Pi9Db250ZW50cyAyIDAgUj4+CmVuZG9iagoKNCAwIG9iago8PC9UeXBlL1BhZ2Uv
UGFyZW50IDIzIDAgUi9SZXNvdXJjZXMgMzUgMCBSL01lZGlhQm94WzAgMCA1OTUuMjc1NTkwNTUx
MTgxIDg0MS44NjE0MTczMjI4MzVdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdC
L0kgdHJ1ZT4+L0NvbnRlbnRzIDUgMCBSPj4KZW5kb2JqCgo3IDAgb2JqCjw8L1R5cGUvUGFnZS9Q
YXJlbnQgMjMgMCBSL1Jlc291cmNlcyAzNSAwIFIvTWVkaWFCb3hbMCAwIDU5NS4yNzU1OTA1NTEx
ODEgODQxLjg2MTQxNzMyMjgzNV0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0Iv
SSB0cnVlPj4vQ29udGVudHMgOCAwIFI+PgplbmRvYmoKCjEwIDAgb2JqCjw8L1R5cGUvUGFnZS9Q
YXJlbnQgMjMgMCBSL1Jlc291cmNlcyAzNSAwIFIvTWVkaWFCb3hbMCAwIDU5NS4yNzU1OTA1NTEx
ODEgODQxLjg2MTQxNzMyMjgzNV0vR3JvdXA8PC9TL1RyYW5zcGFyZW5jeS9DUy9EZXZpY2VSR0Iv
SSB0cnVlPj4vQ29udGVudHMgMTEgMCBSPj4KZW5kb2JqCgoxMyAwIG9iago8PC9UeXBlL1BhZ2Uv
UGFyZW50IDIzIDAgUi9SZXNvdXJjZXMgMzUgMCBSL01lZGlhQm94WzAgMCA1OTUuMjc1NTkwNTUx
MTgxIDg0MS44NjE0MTczMjI4MzVdL0Fubm90c1sKMTYgMCBSIDE3IDAgUiAxOCAwIFIgMTkgMCBS
IDIwIDAgUiAyMSAwIFIgMjIgMCBSIF0KL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNl
UkdCL0kgdHJ1ZT4+L0NvbnRlbnRzIDE0IDAgUj4+CmVuZG9iagoKMzYgMCBvYmoKPDwvQ291bnQg
MTAvRmlyc3QgMzcgMCBSL0xhc3QgNDYgMCBSCj4+CmVuZG9iagoKMzcgMCBvYmoKPDwvQ291bnQg
MC9UaXRsZTxGRUZGMDA0RjAwNzYwMDY1MDA3MjAwNzYwMDY5MDA2NTAwNzc+Ci9EZXN0WzEgMCBS
L1hZWiA1Ni43IDUyNi40IDBdL1BhcmVudCAzNiAwIFIvTmV4dCAzOCAwIFI+PgplbmRvYmoKCjM4
IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNDQwMDY1MDA3MzAwNjMwMDcyMDA2OTAwNzAw
MDc0MDA2OTAwNkYwMDZFPgovRGVzdFsxIDAgUi9YWVogNTYuNyAzNTAuNyAwXS9QYXJlbnQgMzYg
MCBSL1ByZXYgMzcgMCBSL05leHQgMzkgMCBSPj4KZW5kb2JqCgozOSAwIG9iago8PC9Db3VudCAw
L1RpdGxlPEZFRkYwMDQ4MDA2NTAwNjEwMDY0MDA2NTAwNzIwMDIwMDAzQzAwNjEwMDZDMDA2NzAw
NkYwMDcyMDA2OTAwNzQwMDY4MDA2RDAwM0U+Ci9EZXN0WzEgMCBSL1hZWiA1Ni43IDEzMy41IDBd
L1BhcmVudCAzNiAwIFIvUHJldiAzOCAwIFIvTmV4dCA0MCAwIFI+PgplbmRvYmoKCjQwIDAgb2Jq
Cjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNDQwMDY1MDA3NDAwNjEwMDY5MDA2QzAwNzM+Ci9EZXN0
WzQgMCBSL1hZWiA1Ni43IDYwOC44IDBdL1BhcmVudCAzNiAwIFIvUHJldiAzOSAwIFIvTmV4dCA0
MSAwIFI+PgplbmRvYmoKCjQxIDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNDkwMDc0MDA2
NTAwNzIwMDYxMDA3NDAwNkYwMDcyMDAyMDAwNTIwMDY1MDA3MTAwNzUwMDY5MDA3MjAwNjUwMDZE
MDA2NTAwNkUwMDc0MDA3Mz4KL0Rlc3RbNyAwIFIvWFlaIDU2LjcgNTc5LjggMF0vUGFyZW50IDM2
IDAgUi9QcmV2IDQwIDAgUi9OZXh0IDQyIDAgUj4+CmVuZG9iagoKNDIgMCBvYmoKPDwvQ291bnQg
MC9UaXRsZTxGRUZGMDA0NTAwNzgwMDYzMDA2NTAwNzAwMDc0MDA2OTAwNkYwMDZFMDAyMDAwNTMw
MDYxMDA2NjAwNjUwMDc0MDA3OT4KL0Rlc3RbNyAwIFIvWFlaIDU2LjcgNTAxLjQgMF0vUGFyZW50
IDM2IDAgUi9QcmV2IDQxIDAgUi9OZXh0IDQzIDAgUj4+CmVuZG9iagoKNDMgMCBvYmoKPDwvQ291
bnQgMC9UaXRsZTxGRUZGMDA1MDAwNkYwMDczMDA3MzAwNjkwMDYyMDA2QzAwNjUwMDIwMDA2OTAw
NkQwMDcwMDA2QzAwNjUwMDZEMDA2NTAwNkUwMDc0MDA2MTAwNzQwMDY5MDA2RjAwNkU+Ci9EZXN0
WzcgMCBSL1hZWiA1Ni43IDQwOS4xIDBdL1BhcmVudCAzNiAwIFIvUHJldiA0MiAwIFIvTmV4dCA0
NCAwIFI+PgplbmRvYmoKCjQ0IDAgb2JqCjw8L0NvdW50IDAvVGl0bGU8RkVGRjAwNDUwMDc4MDA2
MTAwNkQwMDcwMDA2QzAwNjU+Ci9EZXN0WzEwIDAgUi9YWVogNTYuNyA1ODIuMyAwXS9QYXJlbnQg
MzYgMCBSL1ByZXYgNDMgMCBSL05leHQgNDUgMCBSPj4KZW5kb2JqCgo0NSAwIG9iago8PC9Db3Vu
dCAwL1RpdGxlPEZFRkYwMDRGMDA3MDAwNjUwMDZFMDAyMDAwNzEwMDc1MDA2NTAwNzMwMDc0MDA2
OTAwNkYwMDZFMDA3Mz4KL0Rlc3RbMTAgMCBSL1hZWiA1Ni43IDEwMi4yIDBdL1BhcmVudCAzNiAw
IFIvUHJldiA0NCAwIFIvTmV4dCA0NiAwIFI+PgplbmRvYmoKCjQ2IDAgb2JqCjw8L0NvdW50IDAv
VGl0bGU8RkVGRjAwNTIwMDY1MDA2NjAwNjUwMDcyMDA2NTAwNkUwMDYzMDA2NTAwNzM+Ci9EZXN0
WzEzIDAgUi9YWVogNTYuNyA4MTMuNCAwXS9QYXJlbnQgMzYgMCBSL1ByZXYgNDUgMCBSPj4KZW5k
b2JqCgoyMyAwIG9iago8PC9UeXBlL1BhZ2VzCi9SZXNvdXJjZXMgMzUgMCBSCi9NZWRpYUJveFsg
MCAwIDU5NSA4NDEgXQovS2lkc1sgMSAwIFIgNCAwIFIgNyAwIFIgMTAgMCBSIDEzIDAgUiBdCi9D
b3VudCA1Pj4KZW5kb2JqCgoxNiAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3Jk
ZXJbMCAwIDBdL1JlY3RbNTYgNzcyLjkgMTM4LjUgNzg2LjddL0E8PC9UeXBlL0FjdGlvbi9TL1VS
SS9VUkkoaHR0cHM6Ly9naXRodWIuY29tL2Jvb3N0b3JnL2FsZ29yaXRobS9ibG9iL2RldmVsb3Av
aW5jbHVkZS9ib29zdC9hbGdvcml0aG0vYXBwbHlfcGVybXV0YXRpb24uaHBwKT4+Cj4+CmVuZG9i
agoKMTcgMCBvYmoKPDwvVHlwZS9Bbm5vdC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0
WzMyOC41IDc0NSAzMzYgNzU4LjhdL0E8PC9UeXBlL0FjdGlvbi9TL1VSSS9VUkkoaHR0cHM6Ly9i
bG9ncy5tc2RuLm1pY3Jvc29mdC5jb20vb2xkbmV3dGhpbmcvMjAxNzAxMTEtMDAvP3A9OTUxNjUp
Pj4KPj4KZW5kb2JqCgoxOCAwIG9iago8PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJb
MCAwIDBdL1JlY3RbMzE2LjUgNzQ1IDMyNCA3NTguOF0vQTw8L1R5cGUvQWN0aW9uL1MvVVJJL1VS
SShodHRwczovL2Jsb2dzLm1zZG4ubWljcm9zb2Z0LmNvbS9vbGRuZXd0aGluZy8yMDE3MDExMC0w
MC8/cD05NTE1NSk+Pgo+PgplbmRvYmoKCjE5IDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9M
aW5rL0JvcmRlclswIDAgMF0vUmVjdFszMDQuNSA3NDUgMzEyIDc1OC44XS9BPDwvVHlwZS9BY3Rp
b24vUy9VUkkvVVJJKGh0dHBzOi8vYmxvZ3MubXNkbi5taWNyb3NvZnQuY29tL29sZG5ld3RoaW5n
LzIwMTcwMTA5LTAwLz9wPTk1MTQ1KT4+Cj4+CmVuZG9iagoKMjAgMCBvYmoKPDwvVHlwZS9Bbm5v
dC9TdWJ0eXBlL0xpbmsvQm9yZGVyWzAgMCAwXS9SZWN0WzI5Mi41IDc0NSAzMDAgNzU4LjhdL0E8
PC9UeXBlL0FjdGlvbi9TL1VSSS9VUkkoaHR0cHM6Ly9ibG9ncy5tc2RuLm1pY3Jvc29mdC5jb20v
b2xkbmV3dGhpbmcvMjAxNzAxMDQtMDAvP3A9OTUxMTUpPj4KPj4KZW5kb2JqCgoyMSAwIG9iago8
PC9UeXBlL0Fubm90L1N1YnR5cGUvTGluay9Cb3JkZXJbMCAwIDBdL1JlY3RbMjgwLjUgNzQ1IDI4
OCA3NTguOF0vQTw8L1R5cGUvQWN0aW9uL1MvVVJJL1VSSShodHRwczovL2Jsb2dzLm1zZG4ubWlj
cm9zb2Z0LmNvbS9vbGRuZXd0aGluZy8yMDE3MDEwMy0wMC8/cD05NTEwNSk+Pgo+PgplbmRvYmoK
CjIyIDAgb2JqCjw8L1R5cGUvQW5ub3QvU3VidHlwZS9MaW5rL0JvcmRlclswIDAgMF0vUmVjdFsy
NjguNSA3NDUgMjc2IDc1OC44XS9BPDwvVHlwZS9BY3Rpb24vUy9VUkkvVVJJKGh0dHBzOi8vYmxv
Z3MubXNkbi5taWNyb3NvZnQuY29tL29sZG5ld3RoaW5nLzIwMTcwMTAyLTAwLz9wPTk1MDk1KT4+
Cj4+CmVuZG9iagoKNDcgMCBvYmoKPDwvVHlwZS9DYXRhbG9nL1BhZ2VzIDIzIDAgUgovT3BlbkFj
dGlvblsxIDAgUiAvWFlaIG51bGwgbnVsbCAwXQovT3V0bGluZXMgMzYgMCBSCi9MYW5nKHJ1LVJV
KQo+PgplbmRvYmoKCjQ4IDAgb2JqCjw8L0NyZWF0b3I8RkVGRjAwNTcwMDcyMDA2OTAwNzQwMDY1
MDA3Mj4KL1Byb2R1Y2VyPEZFRkYwMDRDMDA2OTAwNjIwMDcyMDA2NTAwNEYwMDY2MDA2NjAwNjkw
MDYzMDA2NTAwMjAwMDM1MDAyRTAwMzQ+Ci9DcmVhdGlvbkRhdGUoRDoyMDE4MDMyNjIwNDYyMSsw
MycwMCcpPj4KZW5kb2JqCgp4cmVmCjAgNDkKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDQ0MTU1
IDAwMDAwIG4gCjAwMDAwMDAwMTkgMDAwMDAgbiAKMDAwMDAwMTc2NiAwMDAwMCBuIAowMDAwMDQ0
MzI1IDAwMDAwIG4gCjAwMDAwMDE3ODcgMDAwMDAgbiAKMDAwMDAwMzQwMCAwMDAwMCBuIAowMDAw
MDQ0NDk1IDAwMDAwIG4gCjAwMDAwMDM0MjEgMDAwMDAgbiAKMDAwMDAwNTQ5OSAwMDAwMCBuIAow
MDAwMDQ0NjY1IDAwMDAwIG4gCjAwMDAwMDU1MjAgMDAwMDAgbiAKMDAwMDAwNzM5MyAwMDAwMCBu
IAowMDAwMDQ0ODM3IDAwMDAwIG4gCjAwMDAwMDc0MTUgMDAwMDAgbiAKMDAwMDAwNzg5MCAwMDAw
MCBuIAowMDAwMDQ2ODcxIDAwMDAwIG4gCjAwMDAwNDcwODUgMDAwMDAgbiAKMDAwMDA0NzI2NyAw
MDAwMCBuIAowMDAwMDQ3NDQ5IDAwMDAwIG4gCjAwMDAwNDc2MzEgMDAwMDAgbiAKMDAwMDA0Nzgx
MyAwMDAwMCBuIAowMDAwMDQ3OTk1IDAwMDAwIG4gCjAwMDAwNDY3NDUgMDAwMDAgbiAKMDAwMDAw
NzkxMSAwMDAwMCBuIAowMDAwMDIwNTM3IDAwMDAwIG4gCjAwMDAwMjA1NjAgMDAwMDAgbiAKMDAw
MDAyMDc2NCAwMDAwMCBuIAowMDAwMDIxMjM1IDAwMDAwIG4gCjAwMDAwMjE1NjcgMDAwMDAgbiAK
MDAwMDA0MjczOSAwMDAwMCBuIAowMDAwMDQyNzYyIDAwMDAwIG4gCjAwMDAwNDI5NTkgMDAwMDAg
biAKMDAwMDA0MzU4NiAwMDAwMCBuIAowMDAwMDQ0MDU3IDAwMDAwIG4gCjAwMDAwNDQxMDAgMDAw
MDAgbiAKMDAwMDA0NTA2OSAwMDAwMCBuIAowMDAwMDQ1MTI2IDAwMDAwIG4gCjAwMDAwNDUyNTYg
MDAwMDAgbiAKMDAwMDA0NTQxMCAwMDAwMCBuIAowMDAwMDQ1NTkyIDAwMDAwIG4gCjAwMDAwNDU3
MzAgMDAwMDAgbiAKMDAwMDA0NTkyNCAwMDAwMCBuIAowMDAwMDQ2MDk4IDAwMDAwIG4gCjAwMDAw
NDYzMDAgMDAwMDAgbiAKMDAwMDA0NjQzOSAwMDAwMCBuIAowMDAwMDQ2NjA2IDAwMDAwIG4gCjAw
MDAwNDgxNzcgMDAwMDAgbiAKMDAwMDA0ODI5MiAwMDAwMCBuIAp0cmFpbGVyCjw8L1NpemUgNDkv
Um9vdCA0NyAwIFIKL0luZm8gNDggMCBSCi9JRCBbIDw2RjJCODc0REU2M0JBRUY1NTM2OTY1MEI5
M0U3NTUzNz4KPDZGMkI4NzRERTYzQkFFRjU1MzY5NjUwQjkzRTc1NTM3PiBdCi9Eb2NDaGVja3N1
bSAvMTM2QTE0QTMyOUI4Q0I3MTQyNjE4M0VBOEVFODgxRDUKPj4Kc3RhcnR4cmVmCjQ4NDY3CiUl
RU9GCg==
------=_Part_14805_1287821258.1522086755071
Content-Type: text/html; charset=US-ASCII; name=apply_permutation.html
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename=apply_permutation.html
X-Attachment-Id: f7c3095b-ff1a-4101-9112-8352419ac3f1
Content-ID: <f7c3095b-ff1a-4101-9112-8352419ac3f1>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title></title>
<meta name="generator" content="LibreOffice 5.4.6.2 (Linux)"/>
<meta name="created" content="00:00:00"/>
<meta name="changed" content="2018-03-26T19:26:55.257700528"/>
<meta name="created" content="00:00:00">
<style type="text/css">
h2.cjk { font-family: "WenQuanYi Micro Hei" }
h2.ctl { font-family: "Lohit Devanagari" }
</style>
</head>
<body lang="ru-RU" dir="ltr">
<h1 align="center"><strong>Proposal for Additional Functions for
Permutations</strong></h1>
<p align="right"><strong>Document number: </strong></p>
<p align="right"><strong>Date: </strong></p>
<p align="right"><strong>Project: </strong>Programming Language
C++</p>
<p align="right"><strong>Reference: </strong>ISO/IEC IS
14882:2017(E)</p>
<p align="right"><strong>Reply to:</strong> Alexander Zaitsev</p>
<p align="right">zamazan4ik@tut.by</p>
<p align="right"> </p>
<h2 class="western" align="left"><strong>Overview</strong></h2>
<p>At the current time in the standard, we already have functions for
working with permutations. But this set of functions is not enough
for full-fledged work with permutations: <strong>is_permutation</strong>,
<strong>next_permutation</strong>, <strong>prev_permutation</strong>.</p>
<p>Quite often there are situations when you just need to rearrange
the elements in some specific order. At this point, the developer
will have to write this functionality manually. But we can simplify
this routine by providing standard functions.</p>
<p>It is proposed to add two new functions: <strong>apply_permutation</strong>,
<strong>apply_reverse_permutation</strong>.</p>
<h2 class="western">Description</h2>
<p>The algorithms transform the item sequence according to index
sequence order.</p>
<p>The routine <strong>apply_permutation</strong> takes a item
sequence and a order sequence. It reshuffles item sequence according
to order sequence. Every value in order sequence means where the item
comes from. Order sequence needs to be exactly a permutation of the
sequence [0, 1, ... , N], where N is the biggest index in the item
sequence (zero-indexed).</p>
<p><br/>
The routine <strong>apply_reverse_permutation</strong> takes
a item sequence and a order sequence. It will reshuffle item sequence
according to order sequence. Every value in order sequence means
where the item goes to. Order sequence needs to be exactly a
permutation of the sequence [0, 1, ... , N], where N is the biggest
index in the item sequence (zero-indexed).</p>
<h2 class="western"><strong>Header <algorithm></strong></h2>
<p>namespace std</p>
<p>{</p>
<p>...</p>
<p>template<typename RandomAccessIterator1, typename
RandomAccessIterator2><br/>
constexpr void
apply_permutation(RandomAccessIterator1 item_begin,
RandomAccessIterator1 item_end,<br/>
RandomAccessIterator2 ind_begin,
RandomAccessIterator2 ind_end);</p>
<p>template<typename RandomAccessIterator1, typename
RandomAccessIterator2><br/>
constexpr void
apply_reverse_permutation(RandomAccessIterator1 item_begin,
RandomAccessIterator1 item_end,<br/>
RandomAccessIterator2 ind_begin, RandomAccessIterator2
ind_end);</p>
<p>...</p>
<p>}</p>
<h2 class="western"><strong>Details</strong></h2>
<p>template<typename RandomAccessIterator1, typename
RandomAccessIterator2><br/>
constexpr void
<strong>apply_permutation</strong>(RandomAccessIterator1 item_begin,
RandomAccessIterator1 item_end,<br/>
RandomAccessIterator2 ind_begin,
RandomAccessIterator2 ind_end);</p>
<p>Reorder item sequence with index sequence order. </p>
<p>Order sequence must be zero-indexed.</p>
<p>Item and order sequences get permuted.</p>
<p>Works on empty sequences.</p>
<p><strong>Parameters</strong>:</p>
<p>item_begin - The start of the item sequence.</p>
<p>item_end - One past the end of the item sequence.</p>
<p>ind_begin - The start of the index sequence.</p>
<p>item_end - One past the end of the index sequence.</p>
<p><strong>Note</strong>: Item sequence size should be equal to index
size. Otherwise behavior is undefined.</p>
<p><strong>Complexity</strong>: O(N).</p>
<p> </p>
<p>template<typename RandomAccessIterator1, typename
RandomAccessIterator2><br/>
constexpr void
<strong>apply_reverse_permutation</strong>(RandomAccessIterator1
item_begin, RandomAccessIterator1 item_end,<br/>
RandomAccessIterator2
ind_begin, RandomAccessIterator2 ind_end);</p>
<p>Reorder item sequence with index sequence order.</p>
<p>Order sequence must be zero-indexed.</p>
<p>Item and order sequences get permuted.</p>
<p>Works on empty sequences.</p>
<p><strong>Parameters</strong>:</p>
<p>item_begin - The start of the item sequence.</p>
<p>item_end - One past the end of the item sequence.</p>
<p>ind_begin - The start of the index sequence.</p>
<p>item_end - One past the end of the index sequence.</p>
<p><strong>Note</strong>: Item sequence size should be equal to index
size. Otherwise behavior is undefined.</p>
<p><strong>Complexity</strong>: O(N).</p>
<h2 class="western">Iterator Requirements</h2>
<p><strong>apply_permutation</strong> and
<strong>apply_reverse_permutation</strong> work only on
RandomAccess iterators. RandomAccess iterators required both for item
and index sequences.</p>
<h2 class="western">Exception Safety</h2>
<p><strong>apply_permutation</strong> and
<strong>apply_reverse_permutation</strong> take their parameters
by iterators or reference, and do not depend upon any global state.
Therefore, <strong>apply_permutation</strong> and
<strong>apply_reverse_permutation</strong> provide the strong
exception guarantee.</p>
<h2 class="western"><strong>Possible implementation</strong></h2>
<p>template<typename RandomAccessIterator1, typename
RandomAccessIterator2><br/>
constexpr void
apply_permutation(RandomAccessIterator1 item_begin,
RandomAccessIterator1 item_end,<br/>
RandomAccessIterator2 ind_begin,
RandomAccessIterator2 ind_end)<br/>
{<br/>
using Diff =
typename
std::iterator_traits<RandomAccessIterator1>::difference_type;<br/>
using std::swap;<br/>
Diff size =
std::distance(item_begin, item_end);<br/>
for (Diff i =
0; i < size; i++)<br/>
{<br/>
auto current = i;<br/>
while (i !=
ind_begin[current])<br/>
{<br/>
auto next = ind_begin[current];<br/>
swap(item_begin[current],
item_begin[next]);<br/>
ind_begin[current] = current;<br/>
current = next;<br/>
}<br/>
ind_begin[current] = current;<br/>
}<br/>
}</p>
<p>template<typename RandomAccessIterator1, typename
RandomAccessIterator2><br/>
constexpr void
apply_reverse_permutation(RandomAccessIterator1 item_begin,
RandomAccessIterator1 item_end,<br/>
RandomAccessIterator2 ind_begin, RandomAccessIterator2
ind_end)<br/>
{<br/>
using Diff = typename
std::iterator_traits<RandomAccessIterator2>::difference_type;<br/>
using std::swap;<br/>
Diff length =
std::distance(item_begin, item_end);<br/>
for (Diff i =
0; i < length; i++)<br/>
{<br/>
while (i != ind_begin[i])<br/>
{<br/>
Diff next = ind_begin[i];<br/>
swap(item_begin[i],
item_begin[next]);<br/>
swap(ind_begin[i], ind_begin[next]);<br/>
}<br/>
}<br/>
}</p>
<h2 class="western">Example</h2>
<p>#include <vector><br/>
#include <iostream></p>
<p>#include <algorithm></p>
<p>int main ( int /*argc*/, char * /*argv*/ [] )<br/>
{<br/>
{<br/>
std::cout << "apply_permutation with
iterators:\n";<br/>
std::vector<int> vec{1,
2, 3, 4, 5}, order{4, 2, 3, 1, 0};</p>
<p> std::apply_permutation(vec.begin(), vec.end(),
order.begin(), order.end());<br/>
for (const auto&
x : vec)<br/>
{<br/>
std::cout << x << ", ";<br/>
}<br/>
std::cout << std::endl;<br/>
}<br/>
{<br/>
std::cout << "apply_reverse_permutation with
iterators:\n";<br/>
std::vector<int> vec{1,
2, 3, 4, 5}, order{4, 2, 3, 1, 0};</p>
<p> std::apply_reverse_permutation(vec.begin(),
vec.end(), order.begin(), order.end());<br/>
for (const
auto& x : vec)<br/>
{<br/>
std::cout << x << ", ";<br/>
}<br/>
std::cout << std::endl;<br/>
}<br/>
return 0;<br/>
}</p>
<h2 class="western">Open questions</h2>
<p>1) Question about naming is open. <b>apply_reverse_permutation </b><span style="font-weight: normal">is
a little bit ugly.</span></p>
<h2 class="western">References</h2>
<p><a href="https://github.com/boostorg/algorithm/blob/develop/include/boost/algorithm/apply_permutation.hpp">Boost.Algorithm</a>
implementation</p>
<p>Microsoft Developer "Old new thing" blog: <a href="https://blogs.msdn.microsoft.com/oldnewthing/20170102-00/?p=95095">1</a>,
<a href="https://blogs.msdn.microsoft.com/oldnewthing/20170103-00/?p=95105">2</a>,
<a href="https://blogs.msdn.microsoft.com/oldnewthing/20170104-00/?p=95115">3</a>,
<a href="https://blogs.msdn.microsoft.com/oldnewthing/20170109-00/?p=95145">4</a>,
<a href="https://blogs.msdn.microsoft.com/oldnewthing/20170110-00/?p=95155">5</a>,
<a href="https://blogs.msdn.microsoft.com/oldnewthing/20170111-00/?p=95165">6</a></p>
</body>
</html>
------=_Part_14805_1287821258.1522086755071--
.