From 7e0e397fe5f64f284fac316493ffc786e711264d Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Fri, 10 Apr 2020 17:03:57 +0300 Subject: [PATCH 01/17] initial commit --- P2022/P2022R0.md | 94 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 P2022/P2022R0.md diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md new file mode 100644 index 0000000..8ea7fa0 --- /dev/null +++ b/P2022/P2022R0.md @@ -0,0 +1,94 @@ +--- +title: "Rangified version of lexicographical_compare_three_way" +document: P2022R0 +date: today +audience: + - LEWG + - LWG +author: + - name: Ran Regev + email: +toc: false +--- + +# Motivation and Scope +This document adds the wording for ```ranges::lexicographical_compare_three_way``` that is missing in [@P1243R2] + +# Proposed Wording + +## Add to [algorithm.syn] + +ADD HEADERS WHEN THEY ARE READY + +## Add to ยง25.7.11 [alg.three.way] + +> | template +> | constexpr auto +> | lexicographical_compare_three_way(InputIterator1 b1, InputIterator1 e1, +> | InputIterator2 b2, InputIterator2 e2, +> | Cmp comp) +> | -> common_comparison_category_t; + +> ::: add +> | template< +> | input_iterator I1, sentinel_for S1, +> | input_iterator I2, sentinel_for S2, +> | class Proj1 = identity, +> | class Proj2 = identity, +> | class Comp = compare_three_way +> | > +> | requires +> | three_way_comparable_with< +> | projected, projected +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 = {}, Proj2 = {} +> | ) -> std::common_comparison_category_t< +> | decltype(comp(*first1, *first2)), std::strong_ordering>; +> ::: + +::: note +Example - could be implemented as: +```cpp +for ( ; first1 != last1 && first2 != last2 ; ++first1, ++first2) +{ + if ( + auto ret = comp( proj1(*first1), proj2(*first2) ); + ret != decltype( comp( proj1(*first1), proj2(*first2) ))::equal + ) return ret; +} +return TODO: find the relation between first1, last1, first2, last2 and return accordingly +``` +::: + + +> ::: add +- [1]{.pnum} _Mandates_: decltype(comp(\*first1, \*first2)) is a comparison category type. +> ::: + +> ::: add +> | template< +> | input_range R1, input_range R2, +> | class Proj1 = identity, +> | class Proj2 = identity +> | class Cat = partial_ordering, +> | three_way_comparable_with< +> | projected,Proj1>, projected,Proj2>, Cat +> | > Comp = std::compare_three_way() +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | R1&& r1, R2&& r2, Comp comp = {}, Proj1 = {}, Proj2 = {} +> | ) -> std::common_comparison_category_t< +> | decltype(comp(*r1.begin(), *r2.begin())), std::strong_ordering>; +> ::: + +> ::: add +- [2]{.pnum} _Mandates_: decltype(comp(\*r1.begin(), \*r2.begin())) is a comparison category type. +> ::: + + +# Acknowledgements + Dan Raviv + Michael Park (for github.com/mpark/wg21) From 7a7793993d39cfbebe196430511240763d71e5f3 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sat, 11 Apr 2020 10:57:37 +0300 Subject: [PATCH 02/17] added Makefile pointing to pdf-generator. tested via single make command. added the generated pdf as well --- P2022/Makefile | 1 + P2022/P2022R0.md | 2 +- P2022/generated/P2022R0.pdf | Bin 0 -> 153453 bytes 3 files changed, 2 insertions(+), 1 deletion(-) create mode 100644 P2022/Makefile create mode 100644 P2022/generated/P2022R0.pdf diff --git a/P2022/Makefile b/P2022/Makefile new file mode 100644 index 0000000..f5cdaef --- /dev/null +++ b/P2022/Makefile @@ -0,0 +1 @@ +include ../pdf-generator/Makefile diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md index 8ea7fa0..15cca7a 100644 --- a/P2022/P2022R0.md +++ b/P2022/P2022R0.md @@ -12,7 +12,7 @@ toc: false --- # Motivation and Scope -This document adds the wording for ```ranges::lexicographical_compare_three_way``` that is missing in [@P1243R2] +This document adds the wording for ```ranges::lexicographical_compare_three_way``` # Proposed Wording diff --git a/P2022/generated/P2022R0.pdf b/P2022/generated/P2022R0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..165847d1c6d6026ff59984a5162d1c037bc75e3d GIT binary patch literal 153453 zcma&MLy#y8%q7~kZQHhOo40M-wr$(CZQHi(?)S~B`ByWG$s(0xkxi=3IZ1_7K}3v} zk&YFLbbfhc9g3ZRfxynt5{ichieARV*38+QfRTxrmEiw3D0(pqYiAQj0(voP17{Nv z6C*og6DU4DC?{t}69XG4_str0ZTTZH6yGy-jms%_ba?!#SN1bZI8Y#bb&#=}KW%vex% z_lJr^4aUn!OrzPNyZ^3v^L-O#7sUrd@V)@aVR}Afh;)-JayMeWM|dbRFYPWU@=zwe zS#e314k+?wl7!%^)`YGOx;j$R{iOda?!RJr#nV(g7-LD3M$tw=*9m(3DQSdFY&yn& z{6)>1(=VpOL_s4t#rbi+08N7PwZ$;5kb~gU0ZTaGgxy#xSi&JuLm`SK1VFOgBzMu& zru02k24LY97`*n^tW!;qs~(|6OcG?8eYpR=J3>fk7c&|h80B2pm^w9421j;#HhL;g zP)CBtY+m%er6@NMpgM~`J^6IORBd5M6s;SLWiPHGe7B%|4~5_@-k^}(n$Goc`xOo7 z4v7L3l#+kA7zst0zcS^12t+WDHl=dj5Gb52TVv@!2?R%jjmf+K(Gj~v>LD28(pThQ zF`yUlJyLo<5{rr(Nt6hs8XI)CV;(uHF&5F7 znR1RrwR&dlJEn8F0?`qs13&?RwM(v$%+S$W(Q3WS(0hJ!JP^-+JKxH7@O0jKH&-mGm}eP4#=|TE3>4~B~#F!=WTDf&9=^fa^_AIs9adR7{J`uZ%vALsHuN! z^wy&$fV_9mTx3oC5dDGJp^`B{5w-XdbWql7Md%4a@Tq!vDa|f zKAIojmYA6*r}MTbtBB^vgv%*)1ypl>x06}WvK>L?u_h%tA9pve?cjd#djNL<|H2`w z2N}<_i<=tQZ`yD}mqFapJI_1)>$>fcxo4i8-woqHJBxA}?nDgniET_83T`?9)SPx2 z&e6RXae=8@a1kqH7pF(Zm%2+u79GgsW5JAZdsexNPA=NCe^5^~N z7lqQkl-fQ;qO#${505>dw&wlal5T-`_TIG?M?a7yKDd_4=qzj+kR?vJ{L5wwbemrD zuC2sz3v-$W$Q9KIR%hD9|s1Azen6E{hZTeM#2R})QRnzz^rVH?&+ zFgjA|o%hf4{NVXX9&SI#XlH(U5~{VeX^pqi{X?1g_-s8f-B&hdEqU;c!dpM?4YHh; zRBfZ#A^G|Dxf57MSr~V4UuXsut6NFjvPjo^>x^2@s>?{qL(Rhxph>gjmt_}r_xJfb zZp@gWOl*z+H@f{7{V!x>;`qNnBn$ihGeq8K>^LoPAo$JcA9xvD6RXw4X}J2&I*g4? z&j9qu>_H_t;Eu4mT<@1B!wvoUR>7Aw90@2vZ4dF1v>IEqd~M~abwOoMLuRK1_4EDl z;NtZ3Z$~KNB+hf@a1)9W#^A&<4&rc^F`rHIKJDiG`aB1QWF09Wh!P0HyX#6avIS`k zN(3|L#d-cxYSKU-d?YKasl%U^;<;8;8JcRH<;u5H%Mhyvp%*?&97{1WFD0hvnIZIJ zMI(dfW=D%%VuDUrFq@5~O-ymmc=&R?GxYxx-2X=oqcCph9vnWpEr|}iGIt2@;LqU@ z?2g0LVt*RscU$`J2p7fwABZgkLUq|$vnScA6O5e~U9@<(NI`(N-U?W4%P|8Oq6Q>1 z5pl-~aAFR#pNQD))<2Zy)6HM;T;J&@Ptt~$kzFA_uSN1kiCcopfgnCbEm}uEOT;-W zpZwu4cy1)xe?wkK&fyW0Dev}JAhGa*1Yn_-R6e&7?`)#DK+9z9v}AdE*o1Fu0nIKF zwZO_+N&#G-sSmwUlDJ*-T}P@ZE6wQaZ>yNgI0&u8Aa^Q zX@_q2e&mkVqLR!`WQ#((G$Xjxo092&5pQ|Kxt}p(y1c_-RmJQ2uzjc_*BiS<8@tEA zrTQx;u^8{?3L{*Ezf%WVHg?0fmpQ#2ucruaF<(i+j;0!<^ucB`bVwQMB^Ei*9<(AI z85bH@mntUh4*}NR=HV@E*huq7yS(Ye7OHcPOw_iwxm4N-Io`YE3`C*eqUo_%Sc&yz zeElem3Y*2hLV$AO3EDy>^U4$qk)#Dazu6#m!PDHM29_AO4tMvCiI5 zd;~BMlZrAHTj#(afP4yE0E_$5pron*4q^TW!w@6942=+ok*N1q26g_d5hzuB7zXK& zMVK6~-lOT9<|>FTO~H>;jv*V!f0$$_nkI=XD~P z74kCJ+2l{f=|b5EtRj(mqQ|1N!_Qh1^3O!dN3X}-{y3q=5iX&o3zj@|!(}`*ja-^~$CtOj+4FUn?3p)#?tulr zD^;uOLd=9$bWGPm37hPj{*ND1_f^R|zj9npZl4Ei*6(9t8b<-5s&X$e^2mIpvd8IC zLu6P*g9bj^w@6jUxQ}BVt{&cB9b#e3$*7{Q>quni4EhJVI0(j}{=5O`v(60xshlxt=IN&Qjab=K(a5J$mSd zsTbG^?-c5N-@8e}APenYHxIs)fsjSWkFyAxL8b7JKIec6 zzJX10ubsZuaYb)|_*ml(-%H7uer2m8yQ(ld~Uv#*GGG1NcnM{Cw6{hyS;#`u3w z0wVzvBM0;UXlNz^CKh%E&i_f72^jt-Bw%7=VC49JRM*X}CMwxetu_!KZ~L3=R`zag zX#j#)VWYT#AZ~5@x3{-+13Npofqac~J!W@Kqd#9_aj6~ErZt%@y=25n3Z=*_K$rj{ z0;_P&GSAUE0GOJj@hQEm$jmti%=2x2ZooCN)71eg zca(z!*y`NO$jV{-tiAIKKNZj9+TnNvC3fb3j;(DBz~|c7fW_w~7l4igXKqE9{z%5K z3;>yz+E~B>qX4M+U;?U|Dw3E4wIp?w`7)w^dKw!GqhQ8w{5ruYswyKEfJA|gRD}Tf zShNB;DKdk@(N-BbaV9|ktnwpq+8%i?c5d(O4DVv>-<6jh z^$!5N2=4h)8CTl=sMW;;1;PH6*qPn{G_SU?dBZ!;yV*B`dw)&6{(@mCen$}?5L}y^ zy_vyo{JCuWcxC*R(1CdFZKzAT$@`rB@iF>XiF>vAJ)iQo*+4Y5vNyTa|EY@-^si4N zy@&PufroF{wm8Wh=fA-4~&ETJ2VDl z=#5fY-ju*FHhG!d#Cw(h5}DrpItFNTGI^(0)z%2guG#t9va~j}G5#*Q5{qSnsa!Q} zjTMkg_>1siANaLl2IK<302I&$m>-!>KA2PTqdbYrxQP4c0nNQ-Bf$1==q=%$Uz)~v z{{_9Wt-AvO;aKMc;@$bXc$Wv68ir$FVs>^%|M(IO_^IkFZefJz|Db>3PWp5CnR`(F zb&;&twJS#)-&{of2f`9+5)aJT9To8SH;4OG*D{PlOMCKM}7 z2c-!9TOjq}N0PM>mC*qZgEEZ+Bm1|q;CKs=X? zb3F(a_qWa8qup2E^Mf5Yx&OfZUUaH$QkH2X~gTGPkZWf zc4A-|?mZ5yC&|?w?1%WkCr<9auH89*q0@JuI)8zGl&T^8%%63L!|!dbe`g0T=xVO@ zz?uLnGts;F+kX%VD}Mam=r*Ho9|O;}etti9^f`YT{?~U4Z*kUygz-__xX|3#{;?TB z$o<2gwfbbG^w+t630CiQXXE-!S3ikA^uNr*fCBl@^9ZgEaK__5Lp%+9`Qy?oW{vO2 znB+f_lwf(GDlEf>lg89^sS>AXjPd+yWeeOXJm@6E10_eOcSbpNg0H|kk1jQowbqBD z5{mz{_oP>$(G^wfNrYqcR@hZt2fEsG(k~ULh_##iO{iKpJ2L?Cxg1HRH#Q%*vpv3H zPpAUktsI`DR>{x0F-yT%xTRInK#jB6wnHY^7{c22%o7YgcLJl9m-ZTg8N`YSY&yB( zSs&^o3nd}Yr|6Kpc_q z;kW9QeTtauRv81=70ezHTNB_?TL{lEsZxUeH71qQo0-r2^qpNEe{;ui%ymRVx?)`j z97tIZ1y#NXS#g_?%@>CdNJ!1y^rzneqBBZD7TaBJ^$KB{D{kZHQOeTcNq3BG$FCjg zgtEG)r|!cG%Xq-L^x$1-$M3qHNkLRsM(-g|5VDvMGwoIL`59XVkh!K&Iw`r4!l+Gz zW1eR}3x&k@>hYlQJO?M^-d}9xfL~NJr>Q4AKR{tQ4JC~)<4ljy1iHJgw3Z5!(KVun?#On&#Zwq(ngF1uZKcr)& z?MM`LaLekGijWAws2RT}R_B8{$|l4jW0h&vq)nS>)7Y%!*P$YYFVe~i2YSa2vzTX? z_~#)P=acf8ULg?<;f!xEc3;4!zYNGKvxb^m@hmuQnmC=77nugqJ>7!Q!dbUTe!u#X zravy(j=&Q=jzy9AP?jc5gndgD5z;c_brA7@i(>Y3Ma}iocTEOy%(-fjcS^HHC*oa^ zk>BZn4h+((KjfXiL zT__uQ&--M7lO(G5bZvao!0 zw-VERH>dgL@vE{zN0(bGd#Uz+5TRB~IE|A<+Pd57_n_hFo_`|B*WsOd!VXEvEuDvb zM@WM@i*zwQ>qx@vJ+PfB#hnPAF7_xJ(ufaQd6_tjHG-KhYy}|VJE6V-YO4!^WDO<(n6Y92Sw6+-UK`*%Q zp2iNICLdnU!_@i$=~H7M9u1Wt*F#zvj+dsv8B=e%Guc4)-4t3|zr9AXGI(m2)NetZ zxiQYz*?ubjZ1K3TJgz0gKH^mSPJ+6DcP>yHGs7I8h)8wll-ofudQE~`GyfvL*T_j!&b!1x z>e4w{ta_ryAg2NIK{znWWmvlXW3wYRH7-3d`%Ea$TZ+1ISq(9C?0&m)XPF|~KcH?L zyUm47f5xDX&gV{T@G5)_`jPco7<==x?j#N$gHgIS1SayUs#eVS|7rnAWM4=U03lOcZ_S*RY|`JODUjwt%~Fv zHi3n)32@ zQVoj$6Msw9hRQuEgf5RAz~x0&?i*yG*~paHTOeWzwbI^fdoe-pX_pv-IMC(>}%>6Nu&5pTHDNYiFG1@r+pS2M#8Yk2M!-Noqym7BtT z)v68tYBkXeg|wk$%zZK~ExO9;C7*?d|Gq8Gyi=GeZf4W)8E-{S;kIEqi&7(AsBXs# zKVs+W&2;H8HXaZZlw8TW>@IGdC(d-lt3pfTTftI;s5#5ZOn@UF10$<tdA}<3^-wtRQF>m#WgF5q1%Cs>r{td}=N9EFG>|nA!iM0y>F*loz z-esS9vt6$x%A!Vp1;ppVYjcy?jM91?7XpaddQLAa?{x%e>Ve<^V(iw0>S-{=3@<(A z5iaOYZ=_1oBlGh92Ch z+Cx1LVWMaVv1`SFb*J~K!=Y)HyOHE)f>R%3)jiMZSD$=Gt6JMM;Se8Gk?(;^FgRs} zWv5JU_O9^vx}3SL=25ns+Oh~%@o~AjctfN(QgO;xA+pZK5F&TW{&cyZPxUhbxZzHS z#$F}0YFcRiDE=L_2rPVgHIE%7XnWSv6>N5~00O4Dbr(0)6VCz;nN(k`W&UOJxCOl; zROWVQoX%I4s-0*>-BE&hIw=iM%vGh=mzv$gvkG6KLkO%D1V6||oLmlm#a}~DHxJ$* zVwgv}cICkQg^S8SEo388&ed-3k#?aE0I zOojwAU274%dhw#UT+x3op8Sz>c=%Icq{2e-L+K(g49+Pik3W=SA~Uu0ZIQK-Llj9WbGSM#yot;i75O8P z#4+I)bMWZ)fClV+PtV$Y2@tEVtR%XIHDcEwYpL|&K_kJ+v_~qrv13Iu8QBM?mw>#4 zg}!WPpP)XESJqTYcZ;_OziT3jxpuHHaAJ%NK_Byb?gq!hd`Hy(o4!281H?=dG~B8U zi3Uc2=$lCRi3Kl{l?U#wq-C=_ztnqpXfcrULV5F=Eg*P#Uw&Lmg{0z)w;*=;^ZHsL zF8pR#!#!whtV?=#ZmmGwZqr~4L-eqB2Db~7ilgo>&3%@7=+3}rmTTem^0qfc5X=|m zG>+iY$mOpLc>>b$5lW_Pwj)h3O)+8g<&Bzh#RwQiXC(J6s~U&$h(@F?X17l%dp6ow zM$?{i<%l??UQ$FFIdet(aL$4e^0Q0?#nu4@DE6;IW-3E^6fe0rfc~bl3Q$^|x3i6W zgKqzTpEoINMfK`knb}K3*7-)c+Cq1vA!4)TZ>HO=XiSN#K|dR$qD+7l{mXO0ZQx{- zE-3>%x6)3RO$D*tPM--QATRb9UZ#f)H$EiphlfSUWLEm9h5V#Me39ksI+$(*FGZih zBVyp@p3jcVr-)NW5seV657Sh3cEg!2*)ZaeCN&Am`ClhhqWPYyb=UANyz=<+PLEe8n}cF0fWK&) zYB&2lYjLCLYKch}+cig!T*oE8tZ#N>liD-e(L?vvb4L0P*^>Eu|NZ$%ttq39Hx(SY z_!lkNaw7J@E3wZi(W^N%B-T48Rv-CH}>0y>U5mWu%AsESdI9izh> z-|$@i2>!+js|0tF`Zh<4={6FTZ_A^xz}~RM>~g8y4NWCAQaou{yRB45oa0WCm<#~s z-{5ZSB{Roc>df4Fmb`9fV&c{%;m>G|SFc3jMhhGnUBGSf7FZi@M26UXDm1~9GjI`7 z3Mai*+zG#Jl~Odmh%Oc=ZNg!8Bf`D-i!4R22ot}+G5FwWTBTwiA?`6 zIGFx>lOxJ=0Xs*Gln1-Q)z>(Szvme5dMk1|;wLlQC@{IL&OvLO+ynR>1{?iu2ek`P z2~vzcMdSh2J6G4lG1WC1%QC|ftlqusDUI1BJ=k}?V3k;Z&rv+y)ui9!BZB8d^fJqm zl6Qj2s{l@+)e)5rvl7wa>f8m)K+va>Avu)9CnZoJC_X?#qQ}dw_o+Zyu9%?uoN%-g zjf}>-3s0YVm!uA{_+&bo$8P`)a9leARHLvv|Up$j1&Bx zkOs^aUarciwn4V^Qi&ORLGK&P0kI{l5jiW0eSEQlx)@Y#p>WqBVQG}c{{;F6$>$^#N_SuWOYTY?CtnL|lgOQeSVa^r?3rYulE-5K}GGYKeD@CPdl)i{P)ZETMDNw;*+ri#AdFUNwhv%=rsS;*N%rvs;kiXvgXeu9K_ z#8Kc@{<5)hpTNFNDPC3aUH(!nX+`nK2<3&hRsC7uAVGYhJ$^De4dh|A!i-n$;AP8v z6w;$;*JFn?Zortg{H(T?{tlJdFB-L^O-J}p)lfOcEKJ>!K#d9hM((HF(;09&r}BAw|)+Qbj>oXGfCS(|GvbHHE%2V7`%cA)E`$R5YM8FuDBO47PUq zQACn<#caWNe^j-sV5L~1+#eRHN4eqtwt74*O|ri88DUv*W-ubY%o|zt-6X~wb3pLn z6o*A2WZw3Lxy01KDtBi_p1e=2ZeI)MT;ZjL zZ0)5*vbep$Bn@BWwCGXC<(>O<8Sr0~#}8*fWE9eCfEpFo_wVDBNYQ-d%{1Ye1iT5jrtjy}#7xfXOdAv7oVd;4!!B?8@*$1V>NaMt zCa`~Mu8wvW$-}{&{nvqKbFc=t#}N{E3+Rk13@6pX?j4liwN+!LjFDZUEH$;pFrXKx zU6VQ=hmb--<6PQp5VVt7As+I|=S-B;5}JI=UQdc2?n;P8_TzXj95DPhkNIuEOfLP+O6fgIrVoD1b-A5fkE%Sg z`xanNB)M+T`?(0;aK0j|VsHMcX3V#Q*J*fwJG6 z31L}|g+E;~Zi*}T<0uWoq>J2cqC9`Dr)WfUCmqnC)vi~(dzf)vVg)fUStKVMO4{*4 zky6pAZf0{jp!g9cQcu4QSw0=X(@*VI`@9D*qT$8qaHeaUR%TbzG@oCW*6ylu?Kpa? zcR2e9jt122`C*CO8Z7sE>Y7n>YBIXREJ+=Z65fFDP8T~!s;hgwhalkm0w`a{HN-35 z`ZuoWOZQ~%-Ao^)Y?n2;yjj}>@@Mmp{_?}DgVVM9e5Zy^#RjEAr3u3E8)$S#)xZ;_LMoB8c}>82 z%c0EgP8xwN1U)N$j=ELqzrL$L=Y4VRG#Jh0d$pJPLdp9Yq(FTF92jE$FPiU_ z;C^tQ2UTX%-Hjsbw}}SL3S8gQ&nJt)rH}ZWl<4|CibX)Ab-O2j5M!~4=dXrRusXzG z!VMcUK#XNa=VajdMJHCI^jB zq;z}q1XJ}4d!RJLdY!yAC1I@5F2M@{e}^h1a}A!g|7`y%oiU!4#A#^sU6Wb$ zQy`N(^4SN!(@9I;^iRAr3xWa5jz3u$a3y?)RBw1)&O*fK@Kbk#sUkp^^P%&($IaE; z#Ow>$<06E1BRV-SKV>dViilogzV~jQzSP`HV#7hp=*GI)P;FC*hw$UuoPSjr(ckKb zaCB0jMUhyRrxqi63+e$@!Tf0H#DC1_0J@WZTsEmIyD)ex#z1Wx?$qPE*(KSSr1{{k zNN5-MIA&u)LI6#~iwbi>(4fpYfx3{$3&UE*~7x?#9KfOtkYfD%}hW z9Djf9UoQr*aQnVi(eqeB0N={#^{}Apx&;m9`b2;Ra=PpCV%~f5eS2b>X*bbUjJp(A zXyo)9ey#IbD5p+=%7V&kMkXGGV&2ftNwgI1Ch{QQk`P}J%^2QvE!I9$;3R@6Bh`zcp=4v;_Na7?Rv zWiIeuGQ0jh;=zx@{!|)ni)J9>wh*&v_o!hM=Jq~2eyUZV4eK$4o#73QV98XP9}AWj zti`T?nDTZF=!FW&nX$9VJ#u$y!@dYCDD`))yxWPqEj6R#xr_FhmodqF#{uMx26G2Rx&BZ4E(9D*KFx?1K z>;!01$0QXWIqs1Te>tdWyrhssNz|`C$DwC~tO?As(Y5o%PEYrru7e%L?lx3}w0m+N zNC({-1R=M2#B}{bMyGA~DhW5Y%VBDQ`r;&%)L1tYRlZE1E@?mvA^Q4cowpOt3He12 zksz`rW4V>_mQR0H$n*BuRLy!)G+Vq^;sj|<&`!pvzTlnpK(PsEep#a(Q`h*6Baulf zjQ#zZUv`8k3lHr(7`#Inx7jXJCS6n&3EgO7C-1U|+6kLA0F)Aqt74hQq=ugkPonY| zsvJ&%xAwP;zw8F&p~WK?K%SyPH-BZJCU)c7Vr`gSN0?yTpFq0o;MO>j6dp9|xMIdE z@@7|mH3e!G(T+7h9IDAz-4Em-0_c!Ip=;%YSpU_T}b7bL#mB@F_uj+w~E3Hj9HHT=zfBABzC5yE~Bi zgN;-%OS%}xC_&QGGwr$9Eb8;EBil9Kq}S2dp*)9u;Ne)Lj_pW;2fZeHa4mZnyGf{r z#O#3X`^`f3ItMnp%lWRRya_O|1uVGHm^I~5*N@@NbhM<^^ak=WyNY#Tmox(rsi2n4 zGZgp>fZ^T!FwUaoOt$;V!F>hHvt(oGE=NvB9OotI(1nHKlhV2z?mIGg9&1?{5ccde zw+s0}Tp4$qI34>1`h`#wxH%v3plM59Puhjc;B>}`5ikeE$ zyp_#)!n+Qt%xb5_mo=P)QD1(AbIvhpj8J}vFY_4vMjCOvh!?5vCk`7ie4UDpw80O% z-iY;HQj!Y4tH%}$)2Xj8g#mi{Q*a5xA`YKDBUzOLeF1_!q3*c;BOz4Wk>1QV&6J_T zRDDF12d?Zsl2`jWX;dcES@Uqodk zJ96a!EqCATQ(-%Fp=gf@(r(0VixYHsgP;6!?q zSKLH!uAzRytS^CIDEjjC_+>fD*FxdTb|ROyQxRIeg5HJaQiaGjM8UxSlCv6a3zJUDxhQfY+h-MFx-Xc?=Bk%{vHp*$X}v z_T;{;=i(KonjJYiN?^APTyR~>!$iVDAsyE@$K&^@l?5S8uqwy;VjdUCb zA`e7t#&;TQ1tzM=Rp;cpXU?40AOjK(1Xy}F<$88$0k$P|xl_0q8{= zBUkh2x{95^aF{f0S-61-e3uN564C9^-DoFrT^KE?7_dE{f=8H*-4j|i+HQnJZ3xZ{ z7f5^m&2-_xa3|Cw>a^21EmGi1U~H_D;xyHMtLv-Yuin`6RUr^Nm{i$Nd3>JKu5XUi zKa1b-E`Vm;mEAefuGIXzuHdx%2`|n?Tuul-L#|dny_gRdRi}S|X$@WU5H+8-MOsa4 z5MxikBk_u zg|6r-;2NtP?+vuFbSq!$)DG9b8iN$I$=Z;=BrE+GaW0$r<%%NTyMp|a0zLw2Db=n> zT9dy+r$$D#JJzhhze~O_sT4YJ&tz)UaE`EEqLVtJ&`3Oz)viwL;#1>Mn-`2{%g8+L zNHug`S9<&a0R#(uh(L*P+r?K;d75wPM%DANbH9vmT-OHBBABz+kty5+xk8n0J&ihJ z2Shlw zbXnN>Zokpv7!i-9P<=DMG6#MR3^;*0PJTXbC}r8?w?vw2HE}9pYK7h78tu*0nDDW&`Wbrj*Gu&824zaDDALPRVbsFoLok6LZT#TDWh37 zHoEJ6>>Z19O56(m{`H{%yB|%w;qPz-%fqZ0V&!IjC40XsZc?B+xF93(9A1QGk+A4s+*)O3*3Cq>ngL z)KiCVVXu5gMSrK3uTnXXE3=Vdc_7$!2`twom{~kEgo2*_JG=UnC zfzwqm0mrC=b?sACX^7H>ikIGP$P>khN$+mGCa%474N{I`>8pcoNy1%cB(`j8jxX`Q z#P)^M|RUh*v!Ox0yrb6l@GyS>_9f_c139aDAJxG z@VJp3iJ-!A?F$YjUMIeyD}AxHw)G@$<)$1B-0qWDw43T(JXuN$drzpDMk!@!R&H66 z!VPhvf7s{c|5*_{I9!uxf1FLdG2ExaLQPc9dFL%y`^Gg8p;V`F&Eo^6&w|TEPR?o! zcoBG$@-j3+_xfo7gx~a4o?l(CIUEtI@ zs!$JKp8V!6t_#~i?ZLG*t_~!{NQONfT+s%jD34YltS~Rs(S8<+B%bVLxrOlrz2n5y zqd^T7<~Da2`$NUg9xkmHeo z(Qa_?V_7kyZ~xLqblkn55jhC>@ig53Cm4h_pjL9_55bPnw`#&d#s0f~(b= zNNkd{kqC-N|FzVV-2|)}U!~$3lHH${zTOY-JD7)kF$a@YP}&X(4V&!-AmMntF0-r1 zu%?sBK%zmE0eU*$q&Kk;E#L-OM9_;hv-jKTE`Znm;`2DuUC5LBt<*0pFGGVz;f&F3 zMe2R8P00tlB9E8FVrfGOGE!XC?4xt{bWgV1=)GqT_XM;zzCUE_osdFlK(W|>QVVKf z6Hdje5QZ$-hgOt?wnqw=l8l8Md?Dop~^@Br_h2yydFGB&_IJYnUJmHIA02iUOw;q!W4E{e&SLtY7*-CVr0nFt&3sUZ z7Z)cnMed|+iqR=Xz#i>OsWLBCNUW&r;&iQ!oGrZEPyedyd=T$&A;QeSpJsz|dJQIP zWLp26`2nCIe9*#bicBqpT`={8w;_MGf#{Vp1Vua}nU&KXe1r(VbizOmMffJ?RvQT> z2ek(aZ3%wGWT4sjMxd>RKe-T}z%p1EuAsMi+)?-f7flb0)A|hwx-EqpX^RDKsO@%G zW)VppDy+w|u1bPHwJw;<cg5IeHz?VQ0h6+1qkw)QMLc!~VBJ;2?XubwK zbnSJ+XauQuUd_E@aioCMg0>~g6OM*CT+qJ$nG^oEpT6y3-gN95N-3}tpXk^mGYX_k zO?$Rxxi>9j!oFW1a;+$_#X9?1Fn73pv@5iuW6>X zWb^GN&!1G>=hoF5_{0+u+X;*Z>%Ea|?4sJvOVOCi`v2St$YRTgOeAKF0cxGANtyD5 zk)K#)tht4`a?o(-E8*33P4 z=C(?lBY4tnXrrezP;bPmWX;R=1}2~;wq8IghJ7|16^Lk4tJbPfJAfPhA*YvOK(fwx z0{mpHH=Om3j6RDaxW1ai0Z@E^^T5)CN$kaw`fWvV994%N9>Y@-vU$t6q!k@lN64oD zGY(2GD6_f4cA&OESHNk){h(%M8KO41SmWa+WX}l|bm_SSmGe{7aGr3@B6Hikpuc`5 zVvO@HNVtJ1Q{vB1y?fie?@Q~K>~7)px@mig)*kLU)_^0{B#Grd0{dFi)~RG6SUsHw zxR8Qq$3O2RKq$ZO2AJ z1lFYx$xuTRoT`q`)yJWX(uZlg@pbZjSyCZ^W6rQkf*iqV1F7j`_-62GZv-=}X{KD% zg2iReh?rZ|Dns+eyL{+#_n6JsKJkMCZY7z};D!@#!VTe>_{o4dG2S4I^AMTlPtG}s zt;vKq{W({cp-hq+nk?_gr6Nq0m+9$F_#tpHFO%52Bs`8TpCr{DlQc*Qah=CVzx$qP zvl)r)oOn1``I!Swi4LFsjH8h$|1rCF`NUR_7=^_Foe0%E>m*_qfOI9e>QQGjRt1Jc zdWV#ULXuKb++pUB$`G*Mv+x1XT_9VhI|jJc{Ic*qr9~u5<&n6R1sBJ|V9`OAUr8N9 zsZBtc!kkC$o9;NFuv%kfcYrxn@Av%oI^Zb(7P(4D8Oo0S?*7>$Ui`@<*mrrRukY7(MspLnC0_}}WXB}(`vzeCSEIdkq z2;uSx5+rRkAn|c7IOG#R^xV(4YDcb+9__Gj@uu1inMOt-%H;jfK^LDYvKG}wqFf~2O zI*p1qZ#j^MBpQ}$ZvgDI$|2X&)r#t2j5$u^4wBIFCS;-@FMK!+Xz`fK#0K^fDxZu+ zDd8dq;jl{G1=g+l+tf_euP7wMxE23J^uRvFR(^|8995a<@n6v+1Cz>`*G9T;Pok#V zK~5o76ZA`iw6*3-ISY{u#iyBonNODdPLGZJ$6aO+IX3LOZm&^oPE%iCvy&}#V_iDq zaTAoo@Fik-G6fngcxm81fV}gPi|pSGnQ;=_%Ssr8i4t!xhOG!YVr)CVKDA&Gp2j~q z%|jl_hBp?q13N}AZ7)+%K5ZK6s8wHP9hMHH%dpakJrWBcFgeYEK~mT}dA>CTpXtAC z!)du_AHF%22EWjlDSbSPKt<_aK$8KlH8cw{ec9bu*YyRo}(K0n4pQ|8MbT7+E^0?pNEne6my+%-qMVyQ;r1p?&mz!+B9vGmzFMEnV_d{ceK>qmJWr( zNmT(wpQZ&4#o2$%G7yUHnrF;<4+?dZm2=%A!Id-yn{T~Y=91jL9T}J$BnW=Q3WQnH zc{%zp5zLrDbF7r1_L%=Pp9>9sH#Wr)Ufj9Ps>5*65=p7RHewsw81y&j7K>!GRb6f& z5NkHVkBgwlvSHfCS2urCzLczv7^pCvI@YLp76z8nElfdK^|jG!tB^@iTN-2KK{Vrr63{(h*y{kJnkV^(OOl#;ht^ zSHA{~a@SpcyCz&CE~4S%lA9=ZH=KFUj0Vqoa_7Wk6br3-U0$3JuZ@$;)REo@@Z7{X zE}jqG6JR8POlM!>j3vbt4TBu=F~!J<5`irWxm(oZGR4VSzEd`lu>gRJPlsNrkC92+ z0!+k~&IOM5UEv^cLGo}#9hN~d+pb!T6%%!&FZM83;a}+`{oWZ&DF|mRr3i#F3riQR z7hXXXnM8FT&!wwO81NJ;luT8Z_B0$R(bQvtA0vX>k-8#FX%1--`1Cbq1CU}-+qA|Q zPrxpobH4yQo7HdZcvx*5-19iU>dkG@T6nGgyrX8n`*WWZHq1NV#n<-F+CsTgFla3I zQDA?ae3Y3g$tlia1-plG$k3%UH@We=ZnaVXeq66fMEV%a;${8mo7YLdcImZgDN1mr z%`^CFzuYCJrtjirbJCH-MsT^@P&7>>?fT9j1p5LuC+iWM0*Gm z0MTKUZwPIgRd@i;4+=L3okw33rhnPjEI8_3eP80xw*=_*D0CF_$Ip$if6SBV03CbI zL|-YV14e?LwHgf)@TOk$tjGibR+%n zkdPCnL5wPrW7NdHE~ygbQBXns-b(mp$Qc|n-_U2#cM+||-V#pSOw`^?`504O=sHhG;)aOHbAp#`cyGs8E~01i~rm_ zaZ478YR4Xn<_I{YTwgY%?(-_Y`?&+ z|6P_=uxv_AL$8Sy)wnaGa?ZoE+X~Ohk{6|4MEry9pQKZ7(hC#Ce!C8^ZjT}t_D5gQ z;cr2uRIdaeX~I4Rw=rq%VQ`PK&;uX1HcYA2326ubcjl5VNtm%J3Gl{IMIBl|a%GX> z0_&v(2oPTfVM`bf|7d}AL5Rf24?*xQOar@)*hCqTBMfC?W=30oXF$ z`r zPMpf3%dp{F2t2b>%@-e(TbD7Fuaepz3z4Ba<5;L0`I#oV{A2nyyelQi1{_Y%M+aP7 z4YRIN7aeAbNVX20dn5{8ItZ3%l}*br7dnEFaVeb(zBi~o&$Dpf_wS{`MNM$pSiR!h zAhPOa0yPc!tg`|&Dr;FdAG)a`NtJX!GXDI7w#YJ6El57Oyl1MNqVcex3a>Et4)NQ9 z-Q=;3zaa3%yD@~M3o0)d(Z26X?Joh-$z{3-=@(}n@SGDV^#C`DinapZHO$S4k1m7T zhWfY*J|2T7BggCc{UA{u7XEF$AuznY`+9jq?fnaNL(0l_fXk*^3pXy?CA{z(3RtPqX<4Du-;As(^9egp`ky!qH zTLl&R-?%)vR(adcN;w9YWXKK67GYu6rNDz?u0{iQt}mm9J_st}-hG;oimNK$u`Qyn zHU!bG!&jke44>^9NG%LYAn?d^InZ7#19LpBsJPQMz6hAeXjaF0=XuJFmIkWfy>~Q_ zdz3+)z+e?44fxOnh;W`kxH*23)7-OLc~_g1hAiyPT8O_dpb!Q(&vg+by8R)>^2={|^X89Zzt zYi8=xx#-#=W{*`=k<$4mmPbyGw(NzQxp&z7h$W2eC^x$g6@ortcR<}gF7|{Kl%q9O z(NlURLuAe>Qw$AEF9qQ^$0pZim&s_QN|)8quicK&APrZD^CTQi8+mEh9=05myI0!edm;mv}5)8085%$zGtl!Z13 zihP)d=X>&rQVONBZ01U~r$v>n3_J>!9W{^L&(Eb`nKza9U~Tkv={I@db5IA+r!j3f znMyiuoAG-%Knvg^52S+nG^90KjigKQH78$vcWF-427&9VSSEdk6;Y)PSff{rQ;Grq zTbGw)dY~FpkGvt(7X1SjY^51zuwJfD?#ax2GEM)8WoM0`&X@|m3(*^9&fMC=?0$dp zR^`#Ka?#I7+RRv9E}@lHMDLL4CwDfa93?r|!U2<83*tsRT42)~8aEx(T*)4Jvwf^N zwbl?(0GE%NeLSD3RaCwTg`Z@DyB4{!!#)GlbhH^1Hq4ETPxXXJ&+W?;WS}a2Ndw`b zemn0_(~M4Xwa@mYuNU}ga1zYZ;!+m{LdYAtI6t?HqvGeGFnYgE#fl$4Ks@68tu;bd zSSFqC4QM{?A>GVA?NgqzB<=E`m}$F~leG1lfXlgOD7?zIkXAD3{isXLk^)sdeqbE~ z?WJ|_Ea*CHgtB$qH?T@1s9%eXO7}E7rr5d`Xv^)(0klg{8^pE729t}8K*-A>rdxt9 zG8LX&^PgCLffQ#EW&8#$hW@MQ1aPyVl5IV^v@*!?~7ljWnE3jMELNcPp2`ab* z_{}{}MNo%Y0OT(VpEp|-t%Izvo4U_~^^BkK-5Ov6n=IxQA3dYRS@uwONAENIVfC&i zE-bO*YEXnNrTb$erTY12pjF{mn9`(Uv{|LNDWUdc1g|fRDgO#xGfzMoHW=@URRrOT8SvVb&mG}4h8-= zMoH=w%vs(G9a9$n<=3=sRM`xzcSspC=IWaz<*9vNErbPBOCUUek~D4i3wCmOJ(7>m z1}JV?5Ma$no1PgEDJ#K7G~@X-=i0fI#th%rLc04&4o0dI0r+34OV1aYGBzyOpMIWj z;+Hdya)XX*5^8@H64za719r3%+8Ew*0sl)Y)y^*D#imBibpMc+5hHmFrs!l9BqCTe zSoZizmlJ4GFB*-xA)h=0Lay^GFyLBMv)Q~^we(J(%coi6S#~i}IMtgKl*n1_Q($G4g!0cK%CdYw!A)zP zwVeRha!x^OPo5d&k?R2_WV%}VcwpIc&NCn*d61rEaq}9k1=JdZ3h}RkDjM3jOZ_zn zFLp2)ZWL!~N-llbLK*%r8_0>Z% zW2EC{>)V=;nnD`Aac&9nnk zHg+2}WfXL&1_5vg_qM90yCo}Zq+(Fa@Ol8JUX|toqH}glwb;oF3R|p~bM-bw?d=Mz*p~dN73k zbLsifiZU_@StSB=36xg6Z?`&a8pV<|7=Ry?><*Z?{+h*eV%$unf!=g+n~AKjD1GZ z23O%0z%J*_rb|-0+f5s5V6O8w_B-IN+bMfEIBDG`8~!&FEDHhmMz$yjo60I)D(Dh-QXYzFPS~usQ5n=synKflho9u_o&y z`5la8A04%eTC(Y+PgCYY8hy`_>82-ZntU9+gOUe$;XwWY(k95=p-7hyoaNQDi2um@ zdGiTbWb3ue`Q>q6XYz&*)LGSTf4`>UwZzn6O!ewA;r?9?z;F505zce81$fpb}!kdL=6J!2kc=78P!%A>b zcgNZh)4F`euGCCU_&H9^Cdnx%{@|;R1tuWCw-rKLi}_jS$*4I1kmzu*>w}jkJn?+ z-DWnx*Ci*@dTl7HH9cnlMw3_8kG}>rZ03^@xiKZS7etOQ04g2S*a>W~*llXz&ZX&! zNI-neIKH=!-N;Ky z;DHzAfhQC$B5_LTw8K19d}Q;i%falEnCpwJR#3#TQ1+WxO|Y3Gt1>CHp4chMD{1~r z9}gL$kF{c|YwJOC2zCBBlP~}SWw_`BHOTk(qXS4*dz|W8vDqEpcH{l?wZ05aG|aDAEogaZTrnSP!< z3xTBjWabJgh|53`%;0RfYzS>8XU7g>tpz+++AopE-bkB@Q;?=kmTe6sZ*S zOY=jO-S8q6{Z-s`nkpLsaWtW=VG1vG1!I+FcEq%OT22+3C|CEiA2H6Ybni5WV1Pgi)Tq5e`Rd8_KUh~i~&^9Pb>8lPkGv)ELH*(JWS^#cn%Mr3sf-AIt#6f`p z;LcmZ9=ahLfq*5%ZK6w76%~i$R<@|?%}5UWaU#*QQW1B~^Cyyy8i?Wm@n|25IOMl9jv49t zqy~I2uEDgIOJP@N-S0KK5i*pe)OiPF58WooE#y!aq_&BTyeq;IGip>cbLjZHqdWCW z`pQbj?3drpjo;I5aBa^~g!}Y98C7kz!a}nikxG{_!HfeS~6a8-o7V-@1{gl zYe}3YEh?E6?Z@3w^%LDxZ7@HUe~GQ&XKy8UCJMfqLvV*OesrrLUw#dN-v(g0q8Vf~ zlw&y~S2+GDPaibYt~?**>w!MvB64dC+)KJ|jax z`RoUJ8IRF~5+8h*NVT{<12!)*mUmi0nSjhiPsnni{Y@=)LC$W@B3^M~(++^wYr1`_ z)C7+Kw)hdw6YJAjZx}-G5vE00tpeKlQm7hZ?6Sb9g)r|>3(4_5@HoR^QEX3`J%X9k zdr6N)iGx5h&Eo=~j+ybf{cSukJSM~P@L^{Lic z6_=^%MIXk}vmjZc7}How_r`JlaWpx6!X}lp$-N2&J?K^{>`6OMwHlK1mI7V}*GkRqCrtn)Ov`vB45z402 z7fG6)ybqYnz>vs%#ioFhRD8AMXOB~|K5N>Yeu|DD=!DNg8|Ia9`Q)LXizC+az9Mi*^Gm; z__?&Y;!vFMyG!W8sq8ARtBuF34GP5@c&p+7H)=O! za)eG@Z_?Ncz^r5v>E6vveM>Wd5GHzCfU)5(>Xaxq2#q%85ALlQ$DlLI$hA@ZA%1CL zQYsdBn+S;Zrl0gIDdB{;vk%sgVlmE#^TFZjUAS3IJe0-Ap(O0H`eLNKcbWt+ZX^Q7 zRObZx829wYyyvx&SZ?x;irlJGOMfMY;G9G}pd?WOU?y24xDQ5jBTYH&X2qs$SF5s3 zcV~d*Ppic|vlum2PQ}5EMDc<5y01&drPH1w!JxCC?riv>AGo6}{K=8D)Pn;*h<2&k z#>Gchh+I~_8*OppM`+szJ}!VL3??tb`X#IXql?|R7y^NsKmC&%BKo~Y0`(j7I67pG zJgnd49{F#kAQnWg3V5ax5W?KB`wpSbbkQmkc62uq`0i;I-kj?){ff#PPc~^E*{8ib z#igD@Dr$pOF#Y$2E4zXAhk|vWfk6kW%dmatekNSg{ zv#MazDDg>LXj4{2<&gk|fqkp^w03SkdF&gRu2wGigrLg%5!d-a&qfPHJWIJRlEYTM zqp|YXa=mB3e zlSGWl7sQQy3J_40xW{eYJyv}|`=CrqoL}XC#cy(IZLZ#oTIEBHtGuC8Sba2K7T*fD zdP%%fZ#d&ku4(^FD024urP}0rvzMF4Tq1 z@mUo9WESBFpGightDj8a+F9vS5oG@0D0`58)qa}kH+EXc7Pbc|xd>`w*os=d z6xPdDvuw{fUYQPwh2+pKFp*mLETT`Tj$9zVBLSl0EVHy+oCV*+6NO_vMQSeRbe<$S z8TTi;ia9Axctzc>dfr%@e{tB&&^zE!R16fa0zO}Bhr2|(JZ&4*bpbr9C{1x;AWZ9m|{*Q z44NwKHwh2rbo6}gZ_U2frZ4{Y=L>uIkX^nf|Bk3~V2h{yTsWTt-4h0XW zkE;^0>Uf~b@TSleAjHYQLk4h4JdGN|78<_s1&;CH=x%*Z+)V<_4Dpq9LMtz__I)us zODG3NFG>SJ$s<4WveottRdd?5 zOfwqo)|M$(o6(~!TIwT;s8crr%}v&O5HLb-Y*0X%;}Q_@!C(5WR3l$XMTe|=TZ9`h zEYP|00hGS6h9fe!wy1VnQpA9HkY%aSsZ^tG^xZ7Kw9Vf}zUjR}u)Vmw-<4>aJI1lH zi|q^$YJP=yf#pPg|AJrEbwX9)#v~{-^;h@-guY^wxG(S@j=V?}WA|c4)cu$_oSrQTa*wR88Z82Zk-La&yd%tz`Si}DqO?2RADMErk=q5NVI1&4yLD_ z#&+b7SKkxDr%PY0uzYGQ_m^x@+9{mfYC+==%o_=5n z5aK|xQf&>NrHviD7CDw0PPOo%7I6iI=iMr21N|JVHQ_C28d?9pmG>wiQcE-H@71(s zx;rQGO9A=8Da=tZstZ@2Yvq=FxdrSX7i5)`-Hs*Dnx%J%<#Mx5;`*QynZz(RKlNiQ zlkYIT()z&-I9l%2i=Y6LV7?;@BZNqOxS%>d44|pJoBr*EEL?KbVbpo3>BewwqTpF% z+f?3@D~s10uy6%@){0PepV(CM+ynxNBEd8{m4xM-7~0ZF(|O`ewfV0C9m za5KPp+2B#l_cOkwtGQ~29_<<|kd8WxexfdV!L%GDR67&JLdj~Du zq!_>(t>V&FIFSWw(4tu+$ng|dpKb!nCJhLmD6;3bp#a78f~q-x`pHEj_)qLNi|4}9 z9bg_y7@N@7XS*7vpz*5Y>&;?rQG9SE_p=z1v2lQ$c)gtxv3oga4XX@rdwgab=(zVI zcL0Y9t|6PRQ=q)CxRFc~Q51Jwy@j$NvCzaR&jBQJ^XC%b`$e5Q==(^EjhR|VF6Uz9 z2h5KuQe}~b#+XE2xx%ck3a8aV^l_*M0KrD7uCwqTh2Wlz$4lbOEgfD)sdfCIfJli3 zTsNtbr*!G6Uf@S}zvaN0K_hE?LC2z=NVDTjlo4}xz8zDBueDJF(I zqu~jyzl|VxhHSK%Nui{`g_C4lee)qn(E-wDM<+X~EN~wwRj?^c)E2BTx$c55tEj`L zWQmXhgDYwu^=7{pB)Q!vWi;N^bo)iHB0S%l=X(mj;+4kLRHa#J{YG{~e%@|8QzD-= zrPZ}eKcpo)ciu4@K;juRA&d~g`lNU`&_|k8rSN?jEG@bsmD6c3-@QS9FYbNlem(1g zbx-UdC72k3)zPhi)GXkJ($Hi`WiI>$;AlBLL-97*u<)`kg`{H473e73+9u=BV(n4<0k z8Z#JBs2t+tz_;?Y4TtY1?afMZ7Y|-S!O=Mh#JV5V z+-J8>#aj;whXSkd<^3$v6n4ut-Aj4)K+=72A`aB!yzpecLdov{s~zd0gQ7{E5|Ht) z537eS=g&o+!k+>9BAi9P9FqHTPnUHPW`N6v@ZA~7CP)0y#{H%qkTzEe7fQETR{3Ld zs(zNIiWCTSEW@ToQaS1|)Fz`ksxWx+;{)RX={GPDL=>{0zV}1=n6@PrfdZa_$fLJ% zG|mb-GvwsRShWEW3b3jnaLuGCXamrdz>*J;htnCwBH-i05-=_Epo{6N*bjXvzr}ql zNeWyNpA}ZOnxrJAr%St2rI`alKG%jL@Tmg-EF)obgv{&e2zVeJ&N;=`UD^5N8bOv} z2j)l2&^-L3AUN~{)9psI4zL3F(|iDm7ci%#R>-thhFi!$4`6g6>wsQS;!h(~&sY(W zsFz0Hi)70t#9(k_2o1f-750lo*MeY+e!eP9(5d4I^60{J=*^M^0qPmA4M@2mmpzvx zv}{@L0_-<3ct5(6=9L*)qp{Jelt!;D$IWuJN5CXOaZ5}TgB!W`_U4&Ey0#0C3|(8+ zgoP~-dN!;xNlN0OhR(888AE*HS4+ae*jX}?QwQA$P-j{Qg}fCDLscrViS=BL3S+IO zaYpDddIAW-Thz?-o~g}JLAg*gh0R5U&&y8!)7}8Oq2q!^%vaygE)cXeN_z{-#H+5x ze+3>~l0XyQrAvlD?Q5Rc;ph=HO_!~nQei$S-z@9~VqLkLY9E=+)QMJ!$+cb1tD{;1 zAczXXk^un{49a}74bLrCNF5}=6e4RSWbXqsL7Jl8?(~^F8Z2R0X3Ew1HK#?c0IUxF zTPHDHO+CNsIR1eSaINUds_3@sS0>GS;2y$P8}Yz?N)PI5AqFJ=@qk`rSyJ>dbHyhE zj%Egjz2m!MrW@%=ZaEMbpaOsz>LTqmC4yo=>N)leOMABCG&`72>~I-NVh<(Vi1c#b zFt+98e0C23F!z`d-+&4@|G^?Z>HNp&D99yIdfTuNN;zOcmcR2fF!lK3#Mq%4syNP} z{6Xx4PDvz*@|>gkkNq=We`~n-;Hm|@!rUM%lZ&A0fN9)=+w(%d8gOp;Ze~N8AY@%R z%CGPafy5MSq-qO>7|X5i3^~f~l-}fbnQ44A1}xPOX9qyDu58mfBp;MKUQI%IUs~!# z@w8kp_@#GSkb@xBisYQXB-#5{mv_kpk985LjwnKH;VIH+sDv*P{ZN~heskuM@^pN@ zA2~s$^AecTw3=5}LkK$M~NCLxD>uC9;4k?-42

LHbRXzwd)o?j+uPB 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 RNy24iWdZ#BDw-(3{{Ry-F$w?x literal 0 HcmV?d00001 From 1633a972f03c071ca413a3806a80ec90ffd63148 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Mon, 26 Dec 2022 12:48:06 +0200 Subject: [PATCH 03/17] The func (#2) - added tests and header - the func: ready for implementation - fixes after code review - using catch2 as the unit test system --- .gitignore | 5 +- P2022/tests/CMakeLists.txt | 13 ++ P2022/tests/header/3way.hpp | 41 +++++ P2022/tests/units/CMakeLists.txt | 32 ++++ P2022/tests/units/avi.cpp | 297 +++++++++++++++++++++++++++++++ P2022/tests/units/t1.cpp | 10 ++ 6 files changed, 396 insertions(+), 2 deletions(-) create mode 100644 P2022/tests/CMakeLists.txt create mode 100644 P2022/tests/header/3way.hpp create mode 100644 P2022/tests/units/CMakeLists.txt create mode 100644 P2022/tests/units/avi.cpp create mode 100644 P2022/tests/units/t1.cpp diff --git a/.gitignore b/.gitignore index c58f32d..67010dc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ - -gcc/ *.swp +build/ +gcc/ +tags diff --git a/P2022/tests/CMakeLists.txt b/P2022/tests/CMakeLists.txt new file mode 100644 index 0000000..bb58894 --- /dev/null +++ b/P2022/tests/CMakeLists.txt @@ -0,0 +1,13 @@ + +cmake_minimum_required(VERSION 3.16) + +set(CMAKE_C_COMPILER gcc-11) +set(CMAKE_CXX_COMPILER g++-11) + +project(P2022) + +include_directories( + header +) + +add_subdirectory(units) diff --git a/P2022/tests/header/3way.hpp b/P2022/tests/header/3way.hpp new file mode 100644 index 0000000..0144a0b --- /dev/null +++ b/P2022/tests/header/3way.hpp @@ -0,0 +1,41 @@ + + +//#include +#include +#include + +namespace std::ranges +{ + + +template< + input_iterator I1, sentinel_for S1, + input_iterator I2, sentinel_for S2, + class Proj1 = identity, + class Proj2 = identity, + class Comp = compare_three_way +> +requires + three_way_comparable_with< + projected, projected + > +constexpr auto + lexicographical_compare_three_way( + I1 first1, + S1 last1, + I2 first2, + S2 last2, + Comp comp = {}, + Proj1 proj1 = {}, + Proj2 proj2 = {} + ) -> common_comparison_category_t< + decltype( + comp(proj1(*first1), proj2(*first2))), + strong_ordering + > +{ + return strong_ordering::equal; +} + +} + diff --git a/P2022/tests/units/CMakeLists.txt b/P2022/tests/units/CMakeLists.txt new file mode 100644 index 0000000..8f01a16 --- /dev/null +++ b/P2022/tests/units/CMakeLists.txt @@ -0,0 +1,32 @@ + +cmake_minimum_required(VERSION 3.16) + +find_package(Catch2 3 REQUIRED) + +project( + P2022Tests + LANGUAGES CXX +) + +set(CMAKE_BUILD_TYPE Debug) + +# the tests +add_executable( + ${PROJECT_NAME} + t1.cpp +) + +set_target_properties( + ${PROJECT_NAME} + PROPERTIES + CXX_STANDARD 20 + CXX_STANDARD_REQUIRED YES + CXX_EXTENSIONS NO +) + + +target_link_libraries( + ${PROJECT_NAME} + PRIVATE Catch2::Catch2WithMain +) + diff --git a/P2022/tests/units/avi.cpp b/P2022/tests/units/avi.cpp new file mode 100644 index 0000000..6511b2d --- /dev/null +++ b/P2022/tests/units/avi.cpp @@ -0,0 +1,297 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +using namespace std; + + +std::pair, std::vector> generateFirstExample(int n, int k, int diff) +{ + assert(k < n); + + std::vector l1{}; + l1.reserve(n); + std::vector l2{}; + l2.reserve(n); + + std::random_device rd{}; + std::mt19937 gen{ rd() }; + std::uniform_int_distribution<> distrib(std::numeric_limits::min(), std::numeric_limits::max()); + + for (int i = 0; i < n; ++i) + { + int l1Elem = distrib(gen); + int l2Elem = i < k ? l1Elem : l1Elem + diff; + l1.push_back(l1Elem); + l2.push_back(l2Elem); + } + + return { l1, l2 }; +} + + +void printResultStrongOrdering(std::string_view s1, std::string_view s2, std::strong_ordering o) +{ + std::cout << std::quoted(s1) << " is "; + if (o < 0) + { + std::cout << "less than "; + } + else if (o > 0) + { + std::cout << "greater than "; + } + else if (o == 0) + { + std::cout << "equal to "; + } + else + { + std::cout << "unordered to "; + } + std::cout << std::quoted(s2) << '\n'; +} + +void printFirstExample() +{ + int n = 10; + int k = static_cast(0.75 * n); + auto [l1, l2] = generateFirstExample(n, k, 1); + for (int i = 0; i < n; ++i) + { + printResultStrongOrdering(std::to_string(l1[i]), std::to_string(l2[i]), l1[i] <=> l2[i]); + } + std::cout << '\n'; +} + +std::pair, std::vector> generateSecondExample() +{ + std::vector lowerCaseNums{ "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }; + std::vector upperCaseNums{ "ONE", "FOUR" , "THREE", "TWO", "NINE", "EIGHT", "SEVEN", "SIX", "FIVE", "TEN" }; + return { lowerCaseNums, upperCaseNums }; +} + +void printSecondExample() +{ + auto caseInsensitiveCmp = [](string&& x, string&& y) + { + for (char& c : x) + c = std::toupper(c); + for (char& c : y) + c = std::toupper(c); + + if (x < y) + { + return std::strong_ordering::less; + } + else if (x > y) + { + return std::strong_ordering::greater; + } + else + { + return std::strong_ordering::equal; + } + }; + + auto [l1, l2] = generateSecondExample(); + for (int i = 0; i < ssize(l1); ++i) + { + printResultStrongOrdering(l1[i], l2[i], caseInsensitiveCmp(std::string{ l1[i] }, std::string{ l2[i] })); + } + std::cout << '\n'; +} + +void printResultPartialOrdering(std::string_view s1, std::string_view s2, std::partial_ordering o) +{ + std::cout << std::quoted(s1) << " is "; + if (o < 0) + { + std::cout << "less than "; + } + else if (o > 0) + { + std::cout << "greater than "; + } + else if (o == 0) + { + std::cout << "equal to "; + } + else + { + std::cout << "unordered to "; + } + std::cout << std::quoted(s2) << '\n'; +} + +std::pair>, std::vector>> generateThirdExample(int n, int k) +{ + assert(k < n); + + std::vector> l1{}; + l1.reserve(n); + std::vector> l2{}; + l2.reserve(n); + + std::random_device rd{}; + std::mt19937 gen{ rd() }; + std::uniform_int_distribution<> distrib(std::numeric_limits::min(), std::numeric_limits::max()); + + for (int i = 0; i < n; ++i) + { + std::optional l1Elem = distrib(gen); + std::optional l2Elem = i < k ? l1Elem : std::optional{}; + l1.push_back(l1Elem); + l2.push_back(l2Elem); + } + + return { l1, l2 }; +} + +void printThirdExample() +{ + auto myCmp = [](const std::optional& x, const std::optional& y) + { + if (x && y) + { + std::strong_ordering so{ x <=> y }; + if (so < 0) + { + return std::partial_ordering::less; + } + else if (so > 0) + { + return std::partial_ordering::greater; + } + else + { + return std::partial_ordering::equivalent; + } + } + else + { + return std::partial_ordering::unordered; + } + }; + + auto myToStr = [](const std::optional& x) -> string + { + if (x) + { + return std::to_string(*x); + } + else + { + return ""; + } + }; + + int n = 10; + int k = static_cast(0.75 * n); + auto [l1, l2] = generateThirdExample(n, k); + for (int i = 0; i < n; ++i) + { + printResultPartialOrdering(myToStr(l1[i]), myToStr(l2[i]), myCmp(l1[i], l2[i])); + } + std::cout << '\n'; +} + +void printFourthExample() +{ + auto f = [](double x) -> double { return x * x; }; + auto g = [](double y) -> double { return (y * 1.00001) * (y * 1.00001); }; + + + auto myComp = [](double x, double y, double fx, double gy) + { + static int sigma = 5; + + // abs(x - y) > sigma are unordered + // f(x) == g(y) are equal + // abs(f(x) - g(y)) < eps are equivalent + // f(x) < g(y) are lesser + // f(x) > g(y) are greater + + if (abs(x - y) > sigma) + { + return std::partial_ordering::unordered; + } + else + { + static double eps = 0.5; + + if (std::abs(fx - gy) < eps) + { + return std::partial_ordering::equivalent; + } + else if (fx < gy) + { + return std::partial_ordering::less; + } + else + { + return std::partial_ordering::greater; + } + } + }; + + int n = 10; + int k = static_cast(0.75 * n); + std::vector l1{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; + std::vector l2{ 0.1, 1.2, 3.3, 4.4, 5.5, 6.6, 7.7, 11.1, 18.3, 20.6, }; + for (int i = 0; i < n; ++i) + { + double fx = f(l1[i]); + double gy = g(l2[i]); + + printResultPartialOrdering(std::to_string(fx), std::to_string(gy), myComp(l1[i], l2[i], fx, gy)); + } + std::cout << '\n'; +} + +int main() +{ + cout << "Hello World\n"; + + printFirstExample(); + + printSecondExample(); + + printThirdExample(); + + printFourthExample(); + + return EXIT_SUCCESS; +} + +/* +template< + input_iterator I1, sentinel_for S1, + input_iterator I2, sentinel_for S2, + class Proj1 = identity, + class Proj2 = identity, + class Comp = compare_three_way +> +requires + three_way_comparable_with< + projected, projected + > +constexpr auto + ranges::lexicographical_compare_three_way( + I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 = {}, Proj2 = {} + ) -> std::common_comparison_category_t< + // TODO: need to use projections!!! + decltype(comp(*first1, *first2)), std::strong_ordering>; + +*/ diff --git a/P2022/tests/units/t1.cpp b/P2022/tests/units/t1.cpp new file mode 100644 index 0000000..88c7a05 --- /dev/null +++ b/P2022/tests/units/t1.cpp @@ -0,0 +1,10 @@ + + +#include "3way.hpp" +#include "catch2/catch_all.hpp" + +TEST_CASE("nop") +{ +} + + From be0def7a6213dba471734605cbd5033229f7a2f0 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Tue, 10 Jan 2023 10:52:11 +0200 Subject: [PATCH 04/17] the func (#3) header and tests Co-authored-by: Ran Regev --- P2022/tests/CMakeLists.txt | 1 + P2022/tests/header/3way.hpp | 69 ++++++++++++++++++-------------- P2022/tests/units/CMakeLists.txt | 6 +++ P2022/tests/units/containers.cpp | 21 ++++++++++ P2022/tests/units/nop.cpp | 10 +++++ P2022/tests/units/t1.cpp | 12 +++++- pdf-generator | 2 +- 7 files changed, 90 insertions(+), 31 deletions(-) create mode 100644 P2022/tests/units/containers.cpp create mode 100644 P2022/tests/units/nop.cpp diff --git a/P2022/tests/CMakeLists.txt b/P2022/tests/CMakeLists.txt index bb58894..7e43f50 100644 --- a/P2022/tests/CMakeLists.txt +++ b/P2022/tests/CMakeLists.txt @@ -11,3 +11,4 @@ include_directories( ) add_subdirectory(units) + diff --git a/P2022/tests/header/3way.hpp b/P2022/tests/header/3way.hpp index 0144a0b..c01777d 100644 --- a/P2022/tests/header/3way.hpp +++ b/P2022/tests/header/3way.hpp @@ -1,41 +1,52 @@ -//#include #include -#include namespace std::ranges { - - -template< - input_iterator I1, sentinel_for S1, - input_iterator I2, sentinel_for S2, - class Proj1 = identity, - class Proj2 = identity, - class Comp = compare_three_way -> -requires - three_way_comparable_with< - projected, projected + template< + input_iterator I1, sentinel_for S1, + input_iterator I2, sentinel_for S2, + class Comp = compare_three_way, + class Proj1 = identity, + class Proj2 = identity > -constexpr auto - lexicographical_compare_three_way( - I1 first1, - S1 last1, - I2 first2, - S2 last2, - Comp comp = {}, - Proj1 proj1 = {}, - Proj2 proj2 = {} + constexpr auto + lexicographical_compare_three_way( + I1 first1, + S1 last1, + I2 first2, + S2 last2, + Comp comp = {}, + Proj1 proj1 = {}, + Proj2 proj2 = {} ) -> common_comparison_category_t< decltype( - comp(proj1(*first1), proj2(*first2))), - strong_ordering - > -{ - return strong_ordering::equal; -} + comp(proj1(*first1), proj2(*first2)) + ), + strong_ordering + > + { + while (first1 != last1) + { + if (first2 == last2) + { + return strong_ordering::greater; + } + + if (auto cmp = comp(proj1(*first1), proj2(*first2)); + cmp != 0 ) + { + return cmp; + } + + ++first1; + ++first2; + } + // GCC 11 implementation with the + // note: See PR 94006 + return (first2 == last2) <=> true; + } } diff --git a/P2022/tests/units/CMakeLists.txt b/P2022/tests/units/CMakeLists.txt index 8f01a16..216be53 100644 --- a/P2022/tests/units/CMakeLists.txt +++ b/P2022/tests/units/CMakeLists.txt @@ -10,9 +10,15 @@ project( set(CMAKE_BUILD_TYPE Debug) +add_compile_options( + -fconcepts-diagnostics-depth=1 +) + # the tests add_executable( ${PROJECT_NAME} + nop.cpp + containers.cpp t1.cpp ) diff --git a/P2022/tests/units/containers.cpp b/P2022/tests/units/containers.cpp new file mode 100644 index 0000000..524f09c --- /dev/null +++ b/P2022/tests/units/containers.cpp @@ -0,0 +1,21 @@ + + +#include +#include "catch2/catch_all.hpp" + +TEST_CASE("containers") +{ + std::vector v1{0, 1, 2, 3}; + std::vector v2{0, 1, 2, 4}; + + auto res = + std::lexicographical_compare_three_way( + std::begin(v1), std::end(v1), + std::begin(v2), std::end(v2), + std::compare_three_way{} + ); + + CHECK(res == std::strong_ordering::less); +} + + diff --git a/P2022/tests/units/nop.cpp b/P2022/tests/units/nop.cpp new file mode 100644 index 0000000..88c7a05 --- /dev/null +++ b/P2022/tests/units/nop.cpp @@ -0,0 +1,10 @@ + + +#include "3way.hpp" +#include "catch2/catch_all.hpp" + +TEST_CASE("nop") +{ +} + + diff --git a/P2022/tests/units/t1.cpp b/P2022/tests/units/t1.cpp index 88c7a05..c7d3e89 100644 --- a/P2022/tests/units/t1.cpp +++ b/P2022/tests/units/t1.cpp @@ -3,8 +3,18 @@ #include "3way.hpp" #include "catch2/catch_all.hpp" -TEST_CASE("nop") +TEST_CASE("t1") { + std::vector v1{0, 1, 2, 3}; + std::vector v2{0, 1, 2, 4}; + + auto res = + std::ranges::lexicographical_compare_three_way( + std::ranges::begin(v1), std::ranges::end(v1), + std::ranges::begin(v2), std::ranges::end(v2) + ); + + CHECK(res == std::strong_ordering::less); } diff --git a/pdf-generator b/pdf-generator index 2a137b6..5085524 160000 --- a/pdf-generator +++ b/pdf-generator @@ -1 +1 @@ -Subproject commit 2a137b63852a599d258ed5f665a80425bf1e0e8f +Subproject commit 5085524eb88052e8cb7debdaf065c16b5af68ca5 From 5afe346fa6d107413fac54de2c827df400876c22 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Mon, 16 Jan 2023 15:25:23 +0200 Subject: [PATCH 05/17] P2022/ran branch (#4) The Header (3way.hpp) ready for SG9 review Co-authored-by: Ran Regev --- P2022/tests/header/3way.hpp | 15 +++++ P2022/tests/units/CMakeLists.txt | 4 +- P2022/tests/units/basic_check.cpp | 94 +++++++++++++++++++++++++++++++ P2022/tests/units/t1.cpp | 1 - P2022/tests/units/unordered.cpp | 40 +++++++++++++ 5 files changed, 152 insertions(+), 2 deletions(-) create mode 100644 P2022/tests/units/basic_check.cpp create mode 100644 P2022/tests/units/unordered.cpp diff --git a/P2022/tests/header/3way.hpp b/P2022/tests/header/3way.hpp index c01777d..4fff09e 100644 --- a/P2022/tests/header/3way.hpp +++ b/P2022/tests/header/3way.hpp @@ -4,6 +4,16 @@ namespace std::ranges { + template< + input_iterator I1, + input_iterator I2, + class Comp, + class Proj1, + class Proj2 + > + using lexicographical_compare_three_way_result_t = + invoke_result_t::value_type , typename projected::value_type>; + template< input_iterator I1, sentinel_for S1, input_iterator I2, sentinel_for S2, @@ -11,6 +21,11 @@ namespace std::ranges class Proj1 = identity, class Proj2 = identity > + requires + std::same_as, strong_ordering> || + std::same_as, weak_ordering> || + std::same_as, partial_ordering> + constexpr auto lexicographical_compare_three_way( I1 first1, diff --git a/P2022/tests/units/CMakeLists.txt b/P2022/tests/units/CMakeLists.txt index 216be53..8a41ff4 100644 --- a/P2022/tests/units/CMakeLists.txt +++ b/P2022/tests/units/CMakeLists.txt @@ -11,7 +11,7 @@ project( set(CMAKE_BUILD_TYPE Debug) add_compile_options( - -fconcepts-diagnostics-depth=1 + -fconcepts-diagnostics-depth=5 ) # the tests @@ -19,6 +19,8 @@ add_executable( ${PROJECT_NAME} nop.cpp containers.cpp + basic_check.cpp + unordered.cpp t1.cpp ) diff --git a/P2022/tests/units/basic_check.cpp b/P2022/tests/units/basic_check.cpp new file mode 100644 index 0000000..f7f2b51 --- /dev/null +++ b/P2022/tests/units/basic_check.cpp @@ -0,0 +1,94 @@ + + +#include "catch2/catch_all.hpp" + +using namespace std; + +template< + input_iterator F1, + input_iterator L1, + input_iterator F2, + input_iterator L2, + class Comp = compare_three_way, + class Proj1 = identity, + class Proj2 = identity +> +requires + same_as, invoke_result_t>, strong_ordering> || + same_as, invoke_result_t>, weak_ordering> || + same_as, invoke_result_t>, partial_ordering> +auto compare( + F1 f1, L1 l1, + F2 f2, L2 l2, + Comp comp = {}, + Proj1 p1 = {}, + Proj2 p2 = {} + ) -> + common_comparison_category_t< + decltype( + invoke(comp, invoke(p1,*f1), invoke(p2,*f2))), strong_ordering> +{ + while (f1 != l1) + { + if (f2 == l2) + { + return strong_ordering::greater; + } + + if ( + auto cmp = comp(invoke(p1, *f1), invoke(p2, *f2)); + cmp != 0 + ) + { + return cmp; + } + + ++f1; + ++f2; + } + + // GCC 11 implementation with the + // note: See PR 94006 + return (f2 == l2) <=> true; +} + +struct goo +{ + template + auto operator()(T t, U u) -> partial_ordering + { + + static_assert(std::same_as); + static_assert(std::same_as); + + int char_as_int = static_cast(u); + if (char_as_int < 10) + { + return char_as_int <=> t; + } + else + { + return partial_ordering::unordered; + } + } + + /* + auto operator()(int t, char u) -> partial_ordering + { + return partial_ordering::less; + } + */ +}; + + +TEST_CASE("basic_check") +{ + vector v1{1,2,3,4}; + vector v2{'a', 'b'}; + + compare( + v1.begin(), v1.end(), + v2.begin(), v2.end(), + goo{} + ); +} diff --git a/P2022/tests/units/t1.cpp b/P2022/tests/units/t1.cpp index c7d3e89..77da8d3 100644 --- a/P2022/tests/units/t1.cpp +++ b/P2022/tests/units/t1.cpp @@ -17,4 +17,3 @@ TEST_CASE("t1") CHECK(res == std::strong_ordering::less); } - diff --git a/P2022/tests/units/unordered.cpp b/P2022/tests/units/unordered.cpp new file mode 100644 index 0000000..c6ddad8 --- /dev/null +++ b/P2022/tests/units/unordered.cpp @@ -0,0 +1,40 @@ + + +#include "3way.hpp" +#include "catch2/catch_all.hpp" + +struct CharIntComp +{ + template + auto operator()(T t, U u) -> std::partial_ordering + { + static_assert(std::same_as); + static_assert(std::same_as); + + int char_as_int = static_cast(u); + if (char_as_int < 10) + { + return char_as_int <=> t; + } + else + { + return std::partial_ordering::unordered; + } + } +}; + +TEST_CASE("unordered") +{ + std::vector v1{0, 1, 2, 3}; + std::vector v2{'a', 'b'}; + + auto res = + std::ranges::lexicographical_compare_three_way( + std::ranges::begin(v1), std::ranges::end(v1), + std::ranges::begin(v2), std::ranges::end(v2), + CharIntComp{} + ); + + CHECK(res == std::partial_ordering::unordered); +} + From d8efa5b950703ddf59775abc51b991f23258c97a Mon Sep 17 00:00:00 2001 From: avik-beyeonics <121494673+avik-beyeonics@users.noreply.github.com> Date: Tue, 17 Jan 2023 10:47:04 +0200 Subject: [PATCH 06/17] implement changes requested at meeting (#5) * implement changes requested at meeting * bug fix * call lexicographical_compare_three_way in its specific namespace --- P2022/tests/units/CMakeLists.txt | 1 + P2022/tests/units/avi.cpp | 297 ------------------------------- P2022/tests/units/avi_tests.cpp | 185 +++++++++++++++++++ 3 files changed, 186 insertions(+), 297 deletions(-) delete mode 100644 P2022/tests/units/avi.cpp create mode 100644 P2022/tests/units/avi_tests.cpp diff --git a/P2022/tests/units/CMakeLists.txt b/P2022/tests/units/CMakeLists.txt index 8a41ff4..727566f 100644 --- a/P2022/tests/units/CMakeLists.txt +++ b/P2022/tests/units/CMakeLists.txt @@ -22,6 +22,7 @@ add_executable( basic_check.cpp unordered.cpp t1.cpp + avi_tests.cpp ) set_target_properties( diff --git a/P2022/tests/units/avi.cpp b/P2022/tests/units/avi.cpp deleted file mode 100644 index 6511b2d..0000000 --- a/P2022/tests/units/avi.cpp +++ /dev/null @@ -1,297 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - - -using namespace std; - - -std::pair, std::vector> generateFirstExample(int n, int k, int diff) -{ - assert(k < n); - - std::vector l1{}; - l1.reserve(n); - std::vector l2{}; - l2.reserve(n); - - std::random_device rd{}; - std::mt19937 gen{ rd() }; - std::uniform_int_distribution<> distrib(std::numeric_limits::min(), std::numeric_limits::max()); - - for (int i = 0; i < n; ++i) - { - int l1Elem = distrib(gen); - int l2Elem = i < k ? l1Elem : l1Elem + diff; - l1.push_back(l1Elem); - l2.push_back(l2Elem); - } - - return { l1, l2 }; -} - - -void printResultStrongOrdering(std::string_view s1, std::string_view s2, std::strong_ordering o) -{ - std::cout << std::quoted(s1) << " is "; - if (o < 0) - { - std::cout << "less than "; - } - else if (o > 0) - { - std::cout << "greater than "; - } - else if (o == 0) - { - std::cout << "equal to "; - } - else - { - std::cout << "unordered to "; - } - std::cout << std::quoted(s2) << '\n'; -} - -void printFirstExample() -{ - int n = 10; - int k = static_cast(0.75 * n); - auto [l1, l2] = generateFirstExample(n, k, 1); - for (int i = 0; i < n; ++i) - { - printResultStrongOrdering(std::to_string(l1[i]), std::to_string(l2[i]), l1[i] <=> l2[i]); - } - std::cout << '\n'; -} - -std::pair, std::vector> generateSecondExample() -{ - std::vector lowerCaseNums{ "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }; - std::vector upperCaseNums{ "ONE", "FOUR" , "THREE", "TWO", "NINE", "EIGHT", "SEVEN", "SIX", "FIVE", "TEN" }; - return { lowerCaseNums, upperCaseNums }; -} - -void printSecondExample() -{ - auto caseInsensitiveCmp = [](string&& x, string&& y) - { - for (char& c : x) - c = std::toupper(c); - for (char& c : y) - c = std::toupper(c); - - if (x < y) - { - return std::strong_ordering::less; - } - else if (x > y) - { - return std::strong_ordering::greater; - } - else - { - return std::strong_ordering::equal; - } - }; - - auto [l1, l2] = generateSecondExample(); - for (int i = 0; i < ssize(l1); ++i) - { - printResultStrongOrdering(l1[i], l2[i], caseInsensitiveCmp(std::string{ l1[i] }, std::string{ l2[i] })); - } - std::cout << '\n'; -} - -void printResultPartialOrdering(std::string_view s1, std::string_view s2, std::partial_ordering o) -{ - std::cout << std::quoted(s1) << " is "; - if (o < 0) - { - std::cout << "less than "; - } - else if (o > 0) - { - std::cout << "greater than "; - } - else if (o == 0) - { - std::cout << "equal to "; - } - else - { - std::cout << "unordered to "; - } - std::cout << std::quoted(s2) << '\n'; -} - -std::pair>, std::vector>> generateThirdExample(int n, int k) -{ - assert(k < n); - - std::vector> l1{}; - l1.reserve(n); - std::vector> l2{}; - l2.reserve(n); - - std::random_device rd{}; - std::mt19937 gen{ rd() }; - std::uniform_int_distribution<> distrib(std::numeric_limits::min(), std::numeric_limits::max()); - - for (int i = 0; i < n; ++i) - { - std::optional l1Elem = distrib(gen); - std::optional l2Elem = i < k ? l1Elem : std::optional{}; - l1.push_back(l1Elem); - l2.push_back(l2Elem); - } - - return { l1, l2 }; -} - -void printThirdExample() -{ - auto myCmp = [](const std::optional& x, const std::optional& y) - { - if (x && y) - { - std::strong_ordering so{ x <=> y }; - if (so < 0) - { - return std::partial_ordering::less; - } - else if (so > 0) - { - return std::partial_ordering::greater; - } - else - { - return std::partial_ordering::equivalent; - } - } - else - { - return std::partial_ordering::unordered; - } - }; - - auto myToStr = [](const std::optional& x) -> string - { - if (x) - { - return std::to_string(*x); - } - else - { - return ""; - } - }; - - int n = 10; - int k = static_cast(0.75 * n); - auto [l1, l2] = generateThirdExample(n, k); - for (int i = 0; i < n; ++i) - { - printResultPartialOrdering(myToStr(l1[i]), myToStr(l2[i]), myCmp(l1[i], l2[i])); - } - std::cout << '\n'; -} - -void printFourthExample() -{ - auto f = [](double x) -> double { return x * x; }; - auto g = [](double y) -> double { return (y * 1.00001) * (y * 1.00001); }; - - - auto myComp = [](double x, double y, double fx, double gy) - { - static int sigma = 5; - - // abs(x - y) > sigma are unordered - // f(x) == g(y) are equal - // abs(f(x) - g(y)) < eps are equivalent - // f(x) < g(y) are lesser - // f(x) > g(y) are greater - - if (abs(x - y) > sigma) - { - return std::partial_ordering::unordered; - } - else - { - static double eps = 0.5; - - if (std::abs(fx - gy) < eps) - { - return std::partial_ordering::equivalent; - } - else if (fx < gy) - { - return std::partial_ordering::less; - } - else - { - return std::partial_ordering::greater; - } - } - }; - - int n = 10; - int k = static_cast(0.75 * n); - std::vector l1{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; - std::vector l2{ 0.1, 1.2, 3.3, 4.4, 5.5, 6.6, 7.7, 11.1, 18.3, 20.6, }; - for (int i = 0; i < n; ++i) - { - double fx = f(l1[i]); - double gy = g(l2[i]); - - printResultPartialOrdering(std::to_string(fx), std::to_string(gy), myComp(l1[i], l2[i], fx, gy)); - } - std::cout << '\n'; -} - -int main() -{ - cout << "Hello World\n"; - - printFirstExample(); - - printSecondExample(); - - printThirdExample(); - - printFourthExample(); - - return EXIT_SUCCESS; -} - -/* -template< - input_iterator I1, sentinel_for S1, - input_iterator I2, sentinel_for S2, - class Proj1 = identity, - class Proj2 = identity, - class Comp = compare_three_way -> -requires - three_way_comparable_with< - projected, projected - > -constexpr auto - ranges::lexicographical_compare_three_way( - I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 = {}, Proj2 = {} - ) -> std::common_comparison_category_t< - // TODO: need to use projections!!! - decltype(comp(*first1, *first2)), std::strong_ordering>; - -*/ diff --git a/P2022/tests/units/avi_tests.cpp b/P2022/tests/units/avi_tests.cpp new file mode 100644 index 0000000..427f2a8 --- /dev/null +++ b/P2022/tests/units/avi_tests.cpp @@ -0,0 +1,185 @@ +#include "catch2/catch_all.hpp" + +#include "3way.hpp" + +#include + +TEST_CASE("test with default projections and compare function") +{ + // generating two lists, l1 and l2, where until the kth index they are identical and after it + // each element in l2 is greater than l1 by one + + int n = 10; + int k = static_cast(0.75 * n); + + std::vector l1{}; + l1.reserve(n); + std::vector l2{}; + l2.reserve(n); + + std::random_device rd{}; + std::mt19937 gen{ rd() }; + std::uniform_int_distribution distrib(std::numeric_limits::min(), std::numeric_limits::max()); + + for (int i = 0; i < n; ++i) + { + int l1Elem = distrib(gen); + int l2Elem = i < k ? l1Elem : l1Elem + 1; + l1.push_back(l1Elem); + l2.push_back(l2Elem); + } + + auto res = + std::ranges::lexicographical_compare_three_way( + std::begin(l1), std::end(l1), + std::begin(l2), std::end(l2) + ); + + CHECK(res == std::strong_ordering::less); +} + +TEST_CASE("test with custom compare function") +{ + // generating two lists, l1 in small caps and l2 is big caps, + // which have the same words but in different order + // using a comp function which is case INSENSETIVE + + std::vector lowerCaseNums{ "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" }; + std::vector upperCaseNums{ "ONE", "FOUR" , "THREE", "TWO", "NINE", "EIGHT", "SEVEN", "SIX", "FIVE", "TEN" }; + + auto caseInsensitiveCmp = [](std::string x, std::string y) -> std::strong_ordering + { + for (char& c : x) + { + c = std::toupper(c); + } + for (char& c : y) + { + c = std::toupper(c); + } + + if (x < y) + { + return std::strong_ordering::less; + } + else if (x > y) + { + return std::strong_ordering::greater; + } + else + { + return std::strong_ordering::equal; + } + }; + + auto res = + std::ranges::lexicographical_compare_three_way( + std::begin(lowerCaseNums), std::end(lowerCaseNums), + std::begin(upperCaseNums), std::end(upperCaseNums), + caseInsensitiveCmp + ); + + CHECK(res == std::strong_ordering::greater); +} + +TEST_CASE("test with custom compare function which returns std::partial_ordering::unordered") +{ + // generating two lists, l1 and l2, where until the kth index they are identical and after it + // each element in l2 an empty std::optional + + int n = 10; + int k = static_cast(0.75 * n); + + std::vector> l1{}; + l1.reserve(n); + std::vector> l2{}; + l2.reserve(n); + + std::random_device rd{}; + std::mt19937 gen{ rd() }; + std::uniform_int_distribution<> distrib(std::numeric_limits::min(), std::numeric_limits::max()); + + for (int i = 0; i < n; ++i) + { + std::optional l1Elem = distrib(gen); + std::optional l2Elem = i < k ? l1Elem : std::optional{}; + l1.push_back(l1Elem); + l2.push_back(l2Elem); + } + + auto myCmp = [](const std::optional& x, const std::optional& y) -> std::partial_ordering + { + if (x && y) + { + std::strong_ordering so{ x <=> y }; + if (so < 0) + { + return std::partial_ordering::less; + } + else if (so > 0) + { + return std::partial_ordering::greater; + } + else + { + return std::partial_ordering::equivalent; + } + } + else + { + return std::partial_ordering::unordered; + } + }; + + auto res = + std::ranges::lexicographical_compare_three_way( + std::begin(l1), std::end(l1), + std::begin(l2), std::end(l2), + myCmp + ); + + CHECK(res == std::partial_ordering::unordered); +} + +TEST_CASE("test with custom projections and custom compare function") +{ + // generating two lists, l1 and l2, where the elements of l2 are twice as big + // as the elements in l1 + // with two different projects + // l1's projection will multiply its elements by 6 and add one + // l2's projection will multiply its element by 3 and subtract one + // the comp function will subtract one from l1 and + // add one to l2, and then 3-way compare them + + constexpr std::size_t n{ 10U }; + + std::array l1{}; + std::array l2{}; + + std::random_device rd{}; + std::mt19937 gen{ rd() }; + std::uniform_int_distribution distrib(std::numeric_limits::min(), std::numeric_limits::max()); + + for (int i = 0; i < n; ++i) + { + int elem = distrib(gen); + l1[i] = elem; + l2[i] = 2 * elem; + } + + auto l1Proj = [](int l1Elem) { return 6 * l1Elem + 1; }; + auto l2Proj = [](int l2Elem) { return 3 * l2Elem - 1; }; + + auto cmp = [](int l1Elem, int l2Elem) { return --l1Elem <=> ++l2Elem; }; + + auto res = + std::ranges::lexicographical_compare_three_way( + std::begin(l1), std::end(l1), + std::begin(l2), std::end(l2), + cmp, + l1Proj, + l2Proj + ); + + CHECK(res == std::strong_ordering::equal); +} \ No newline at end of file From 9a0dd0d02bef635ecc5bbdc60f9b9200e2dd7407 Mon Sep 17 00:00:00 2001 From: leeorsaar <58189408+leeorsaar@users.noreply.github.com> Date: Sun, 22 Jan 2023 10:57:45 +0200 Subject: [PATCH 07/17] requirments one commit (#8) * requirements are ready Co-authored-by: Leeor Saar --- P2022/P2022R0.md | 47 +++++++++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md index 15cca7a..e8b0ffa 100644 --- a/P2022/P2022R0.md +++ b/P2022/P2022R0.md @@ -18,7 +18,27 @@ This document adds the wording for ```ranges::lexicographical_compare_three_way` ## Add to [algorithm.syn] -ADD HEADERS WHEN THEY ARE READY +> | template +> | constexpr auto +> | lexicographical_compare_three_way(InputIterator1 b1, InputIterator1 e1, +> | InputIterator2 b2, InputIterator2 e2, +> | Cmp comp) +> | -> common_comparison_category_t; + +> ::: add +> | template< +> | input_iterator I1, sentinel_for S1, +> | input_iterator I2, sentinel_for S2, +> | class Proj1 = identity, +> | class Proj2 = identity, +> | class Comp = compare_three_way +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 = {}, Proj2 = {} +> | ) -> std::common_comparison_category_t< +> | decltype(comp(*first1, *first2)), std::strong_ordering>; +> ::: ## Add to ยง25.7.11 [alg.three.way] @@ -37,10 +57,6 @@ ADD HEADERS WHEN THEY ARE READY > | class Proj2 = identity, > | class Comp = compare_three_way > | > -> | requires -> | three_way_comparable_with< -> | projected, projected -> | > > | constexpr auto > | ranges::lexicographical_compare_three_way( > | I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 = {}, Proj2 = {} @@ -48,23 +64,14 @@ ADD HEADERS WHEN THEY ARE READY > | decltype(comp(*first1, *first2)), std::strong_ordering>; > ::: -::: note -Example - could be implemented as: -```cpp -for ( ; first1 != last1 && first2 != last2 ; ++first1, ++first2) -{ - if ( - auto ret = comp( proj1(*first1), proj2(*first2) ); - ret != decltype( comp( proj1(*first1), proj2(*first2) ))::equal - ) return ret; -} -return TODO: find the relation between first1, last1, first2, last2 and return accordingly -``` -::: +> ::: add + +- [1] Let N be the minimum integer between distance(first1,s1) and distance(first2,s2). Let E(n) be comp(proj1(*(first1 + n)), proj2(*(first2 + n))). +- [2] Returns: E(i), where i is the smallest integer in [0, N) such that E(i) != 0 is true, or (distance(first1,s1) <=> distance(first2, s2) if no such integer exists. + +- [3] Complexity: At most N applications of comp, porj1, porj2. -> ::: add -- [1]{.pnum} _Mandates_: decltype(comp(\*first1, \*first2)) is a comparison category type. > ::: > ::: add From 31c979f71a3fddd21374a3bff1b9085c33b31190 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sun, 22 Jan 2023 18:54:34 +0200 Subject: [PATCH 08/17] P2022/docker (#9) * pdf generator seems to be working in a docker Co-authored-by: Ran Regev Co-authored-by: Mor Elmaliach --- .gitmodules | 3 +- P2022/generated/P2022R0.pdf | Bin 153453 -> 30167 bytes P2022/ulem.sty | 376 ++++++++++++++++++++++++++++++++++++ docker/Dockerfile | 14 ++ docker/HOWTO | 27 +++ pdf-generator | 2 +- 6 files changed, 420 insertions(+), 2 deletions(-) create mode 100644 P2022/ulem.sty create mode 100644 docker/Dockerfile create mode 100644 docker/HOWTO diff --git a/.gitmodules b/.gitmodules index 21b9830..5965d16 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,5 @@ [submodule "pdf-generator"] path = pdf-generator - url = https://github.com/mpark/wg21.git branch = master + url = https://github.com/MorTD/wg21 + diff --git a/P2022/generated/P2022R0.pdf b/P2022/generated/P2022R0.pdf index 165847d1c6d6026ff59984a5162d1c037bc75e3d..6c6e8f86056b51a08a6cf73115e716e1cf0ee6b1 100644 GIT binary patch literal 30167 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 Y$;HFT)C`7+lbwYDhV*a1R1D_-1IWs$z5oCK literal 153453 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

LHbRXzwd)o?j+uPB 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 RNy24iWdZ#BDw-(3{{Ry-F$w?x diff --git a/P2022/ulem.sty b/P2022/ulem.sty new file mode 100644 index 0000000..85ebb06 --- /dev/null +++ b/P2022/ulem.sty @@ -0,0 +1,376 @@ +% +% U L E M . S T Y [2019-11-18] +% +% The ulem package provides various types of underlining that can stretch +% between words and be broken across lines in LaTeX or plain TeX. +% In LaTeX ulem replaces italics with underlining in \em-phasized text. +% It is most suitable for simple text such as {\em ibid.} or \emph{\LaTeX: +% A Document Preparation System} that may need to be underlined in a +% manuscript submitted for publication. A declaration of \normalem (or +% the \usepackage option "normalem") restores the normal \em behavior. +% +% Full instructions appear in ulem.ltx (ulem.pdf). In summary: +% +% \uline{important} underlined text +% \uuline{urgent} double-underlined text +% \uwave{boat} wavy underline +% \sout{wrong} line drawn through word +% \xout{removed} marked over with //////. +% \dashuline{dashing} dash underline +% \dotuline{dotty} dotted underline +% +% {\em phasized\/} | In LaTeX, by default, these are underlined; use +% \emph{asized} | \normalem or [normalem] to restore italics +% \useunder{\uwave}{\bf}{\textbf} +% use wavy underline in place of bold face +% Use \markoverwith for defining new types of underlining. +% +% Copyright (c) 1989-2011 by Donald Arseneau (Vancouver, Canada; asnd@triumf.ca) +% +% This software may be freely transmitted, reproduced, or modified for any +% purpose provided that this copyright notice is left intact. +% (Small excerpts may be taken and used without any restriction.) +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Defend against multiple loading. +\expandafter \ifx \csname UL@box\endcsname \relax \else + \immediate\write16{ulem.sty refuses to load twice. }\endinput \fi + +% Set catcode of @ in case it isn't a "letter" already +\chardef\ULthickness\catcode\string`\@ % hold catcode temporarily +\catcode\string`\@=11 + +% \UL@protected = \protected, if available, else \relax + +\begingroup +\global\expandafter\let\expandafter\UL@protected\csname protected\endcsname +\endgroup + +\UL@protected\def\uline{\relax \ifmmode\expandafter\underline + \else \bgroup\expandafter\ULset\fi} + +\newbox\UL@box +\newbox\UL@hyphenbox +\newskip\UL@skip +\newtoks\UL@hook +\newdimen\UL@height \UL@height=\maxdimen % flags being unused +\newcount\UL@pe + +\UL@protected\def\UL@end *{\relax\relax}% something harmless but unique + +% For regular underlines, set the depth based on the font, or retain +% the preset value, then start underlining. +\def\ULset{\UL@setULdepth + \def\UL@leadtype{\leaders \hrule \@height\UL@height \@depth\ULdepth}% + \ifmmode \ULdepth-4\p@ \fi + \UL@height-\ULdepth \advance\UL@height\ULthickness \ULon} + +% Automatically set \ULdepth if it is to be automatic (flagged by \maxdimen) +\def\UL@setULdepth{\relax + \ifdim\ULdepth=\maxdimen % Set depth based on font, if not set already + \setbox\UL@box\hbox{{(j}}\ULdepth\dp\UL@box\advance\ULdepth.4\p@ + % use setbox to support plain TeX + \fi} + +% \ULon simply calls \UL@on (possibly \UL@on=\UL@onin) for text mode, but +% \UL@onmath if it is math mode. +\def\ULon{\ifmmode \expandafter\UL@onmath\else \expandafter\UL@on\fi} + +% \UL@on sets the engine of underline running, and tells it +% where to stop. #1 = the relevant text. +\long\def\UL@on#1{\leavevmode\UL@ender \let\UL@on\UL@onin + \everymath{\UL@hrest}\everyvbox{\UL@hrest}\let\hskip\UL@hskip + \let\\\UL@cr \let\-\UL@dischyp \let\newline\UL@newline \let\ \UL@space + \def\hfil{\hskip\z@ plus1fil\relax}\def\hfill{\hskip\z@ plus1fill\relax}% + \def\hss{\hskip\z@ plus1filminus1fil\relax}\let\penalty\UL@penalty + \the\UL@hook + \UL@word\@empty#1\xdef\UL@spfactor{\the\spacefactor} \UL@end * } + +% This is what \ULon does when it appears nested in an inner place. +\long\def\UL@onin#1{\leavevmode\UL@ender % when nested, do multiple underlining + \ifdim\ULdepth=\maxdimen\else + \UL@height\ULthickness \advance\ULdepth\thr@@\UL@height \advance\UL@height-\ULdepth + \fi + \setbox\UL@box\hbox{{#1}}% + \let\UL@start\relax\UL@putbox\egroup} +% \UL@putbox is disabled in inner mode, so re-enable it by changing \UL@start +% \UL@hrest is implicit due to \everyhbox. Double braces for \hbox are in +% lieu of \color@begin(end)group. + +% This is what \ULon does in math mode. +\def\UL@onmath#1{\UL@ender\mathord{\UL@hrest\mathop{\kern\z@#1}\limits\sb + {\UL@leadtype\LA@hskip\p@ plus1fill}}\egroup} + +\def\UL@unegroup{} +\gdef\UL@ender{} +% end-brace matching hack for when command is used as a font declaration: +\def\UL@swender{\ifnum`{=\z@\fi\aftergroup}\gdef\UL@ender{}} + +% must expand to nothing outside the ifs for syntactical spaces to work. +% the \expandafters get rid of the \@empty inserted at the beg. of word +\long\def\UL@word#1 {\expandafter\UL@start#1 % + \expandafter\ifx\expandafter\UL@end#1\egroup\egroup + \unskip \unskip \unskip % remove extra leader at end + \spacefactor\UL@spfactor \let\UL@word\egroup + \else % not finished + \ifmmode\else \ifdim\lastskip=\z@\else % allow syntactical spaces + \global\UL@skip\lastskip \unskip + \UL@stop \UL@leaders + \fi\fi + \fi \UL@word\@empty}% \@empty preserves braces in param + +% \UL@start: start of each chunk. It gives two levels of grouping. +% Each chunk is ended by \UL@stop. Local intermissions go like +% \UL@stop...\UL@start. +\def\UL@start{\setbox\UL@box\hbox\bgroup\everyhbox{\UL@hrest}% +% the following are to cope with stops (\ ,\- etc) within extra braces + \let\UL@start\@empty \def\UL@unegroup{\bgroup\bgroup}\let\UL@leadtype\@empty + \bgroup \kern-3sp\kern3sp % kerns so I can test for beginning of list + \if@ignore \global\@ignorefalse \ignorespaces \fi} + +\def\UL@stop{\global\UL@pe\lastpenalty \unpenalty % penalty in \UL@pe + \ifnum\lastkern=\thr@@ \egroup\egroup % Nothing in hbox...but make sure: + \ifdim\wd\UL@box=\z@ \else \UL@putbox \fi % something in box so print it + \else \egroup\egroup \UL@putbox % something in box so print it + \fi \ifnum\UL@pe=\z@ \else \LA@penalty\UL@pe \fi % use penalty from inside box + \UL@unegroup} +% notice that a box with only a penalty in it is discarded, but the penalty +% is still used! This is so a series of discardable glues and penalties +% behaves properly. + +\def\UL@putbox{\ifx\UL@start\@empty \else % not inner + \vrule\@width\z@ \LA@penalty\@M + {\UL@skip\wd\UL@box \UL@leaders \kern-\UL@skip}% + \box\UL@box + \fi} + +% With interword leaders, give some overlap to avoid gaps caused by +% round-off errors in the printing program. Needs \unskip \unskip \unskip +% above. This version overlaps 1/300 inch, which looks good at high +% resolution, and will still work down to ~150 dpi. Change the value +% of \UL@pixel if necessary. + +\newdimen\UL@pixel \UL@pixel=1in \divide\UL@pixel 300 + +\def\UL@leaders{{\LA@hskip-\UL@pixel \advance\UL@skip\tw@\UL@pixel + \UL@leadtype\LA@hskip\UL@skip \LA@hskip-\UL@pixel}} + +% restore some things for inside math or \mbox +\def\UL@hrest{\let\ \LA@space \let\-\@empty \let\penalty\LA@penalty} + +\let\LA@space\ % +\UL@protected\def\UL@space{\LA@space \global\UL@skip\lastskip \unskip \UL@reskip}% + +% Hyphenation is done by explicit \discretionary. The overlapping melds +% with the running overlap because it *is* part of the running overlap: +% The word fragment is extended by the width of the hyphenation which is +% then overlapped by leaders. The discretionary may occupy this space +% if a break occurs; otherwise the next syllable gets doubly-overlapped +% (in registration) for a distance of the hyphen's width. +\UL@protected\def\UL@dischyp{\global\setbox\UL@hyphenbox\hbox + {\ifnum \hyphenchar\font<\z@ \string-\else \char\hyphenchar\font \fi}% + \kern\wd\UL@hyphenbox \LA@penalty\@M + \UL@stop \kern-\wd\UL@hyphenbox + \discretionary{\box\UL@hyphenbox}{}{}\UL@start} + +\let\LA@penalty\penalty +\UL@protected\def\UL@penalty{\relax\ifhmode \afterassignment\UL@@penalty\count@ + \else\LA@penalty\fi} +\def\UL@@penalty{\LA@penalty \ifnum\count@=\z@ + \@ne \else \count@ \fi % zero penalty => no penalty, so use 1 instead. + \UL@stop \UL@start} + +% The test \ifx\ \LA@space \else means we are neither in math mode nor an +% \mbox, so it is safe to stop the current \UL@box. \ , \- , and \penalty +% (= \linebreak or \nolinebreak) are common enough that they are restored +% directly (by \UL@hrest); \\, \newline, \hskip (= \hspace) are rare enough +% that the test is incorporated in their UL versions. This adds processing +% when they're used, but saves processing in \UL@hrest called by \everymath +% \everyvbox and \everyhbox. + +\let\LA@hskip\hskip +\UL@protected\def\UL@hskip{\ifx\ \LA@space \LA@hskip \else + \afterassignment\UL@reskip \global\UL@skip \fi} + +\def\UL@reskip{\UL@stop \UL@leaders \UL@start} + +% Redefine \\ and \newline so the vertical space from \\[ ] is not lost +% and so the \hfil is not underlined! \\ and \newline do nothing if inside +% inner braces. + +\UL@protected\def\UL@cr{\unskip \ifx\ \LA@space \let\UL@vad\@gobble + \else \UL@stop \unskip\unskip\unskip \let\UL@vad\vadjust \fi + \@ifstar{\UL@vad{\LA@penalty\@M}\UL@cra}\UL@cra} +\def\UL@cra{\@ifnextchar[\UL@crb\UL@newline} +\def\UL@crb[#1]{\UL@vad{\vskip#1}\UL@newline} + +\UL@protected\def\UL@newline{\ifx\UL@start\@empty % (\UL@cr may have \UL@stop-ed already) + \unskip \ifx\ \LA@space \else \UL@stop \unskip\unskip\unskip \fi\fi + \LA@hskip \z@\@plus.0001fil\LA@penalty -\@M \UL@start} + +% That concludes the basic underlining. To put various other objects +% (characters) under (or over) text we need to define \markoverwith +% to set the overlay material in a box, and use leaders of that box for +% overlaying the text. Here, the meaning of \UL@pixel is changed so +% that `pixel' size = box size. Note that we generally need \leaders +% (not \cleaders) for text, because an underline will be a patchwork +% of small \leaders, and the characters must stay in registration. +% However, we "hook" the leaders command so specific applications can +% reassign it (\let\ULleaders\xleaders or \let\ULleaders\cleaders). +% +\newbox\ULC@box +\let\ULleaders\leaders + +\UL@protected\def\markoverwith#1{\leavevmode + \setbox\ULC@box\hbox{{#1}}\UL@pixel.5\wd\ULC@box + \ifmmode \setbox\ULC@box\hbox{\raise1.4ex\box\ULC@box}% + \dp\ULC@box-1.4ex\ht\ULC@box\z@ \def\UL@leadtype{\cleaders\copy\ULC@box}% + \else + \def\UL@leadtype{\ULleaders\copy\ULC@box}% + \fi} + +% Now define various special underlines. All the definitions go like +% \def \command {\bgroup \markoverwith{something} \ULon} + +% For drawing a wavey underline instead of a straight one the command +% is \uwave (under-wave) which uses the wiggle from 6-pt lasy font: + +\UL@protected\def\uwave{\leavevmode \bgroup + \ifdim \ULdepth=\maxdimen \ULdepth 3.5\p@ + \else \advance\ULdepth2\p@ + \fi \markoverwith{\lower\ULdepth\hbox{\sixly \char58}}\ULon} +\font\sixly=lasy6 % does not re-load if already loaded, so no memory drain. + +% To draw a double underline under text, use \uuline{text} + +\UL@protected\def\uuline{\leavevmode \bgroup + \UL@setULdepth + \ifx\UL@on\UL@onin \advance\ULdepth2.8\p@\fi + \markoverwith{\lower\ULdepth\hbox + {\kern-.03em\vbox{\hrule width.2em\kern1\p@\hrule}\kern-.03em}}% + \ULon} + +% To draw a line through text instead of under it (strike out) do +% `under'-line with negative depth. Note that this one uses a real +% line, not characters, so there is no \markoverwith. + +\UL@protected\def\sout{\leavevmode \bgroup \ULdepth=-.55ex \ULset} + +% To mark //// over text instead of underlining (x-out) +% +\UL@protected\def\xout{\leavevmode \bgroup + \markoverwith{\hbox to.35em{\hss/\hss}}\ULon} + +\UL@protected\def\dotuline{\leavevmode \bgroup + \UL@setULdepth + \ifx\UL@on\UL@onin \advance\ULdepth2\p@\fi + \markoverwith{\begingroup + %\advance\ULdepth0.08ex + \lower\ULdepth\hbox{\kern.06em .\kern.04em}% + \endgroup}% + \ULon} + +\UL@protected\def\dashuline{\leavevmode \bgroup + \UL@setULdepth + \ifx\UL@on\UL@onin \advance\ULdepth2\p@\fi + \markoverwith{\kern.13em + \vtop{\kern\ULdepth \hrule width .3em}% + \kern.13em}\ULon} + +% A command to declare that an underline command should be used in +% place of a particular font selection: +% \useunder {underline_command}{font_declaration}{font_command} +% e.g.: \useunder{\uuline}{\bfseries}{\textbf} +% \useunder{\uwave}{\bf}{} + +\UL@protected\def\useunder#1#2#3{\relax + \ifx\relax#2\relax\else % declaration command given + \UL@protected\def#2{\def\@tempa{#1}\global\let\UL@ender\UL@swender + \expandafter\@tempa\expandafter{\ifnum\z@=\string`}\fi}% + \fi + \ifx\relax#3\relax\else % argumentative command + \UL@protected\def#3{#1}% + \fi} + +\expandafter\ifx \csname @ifundefined\endcsname \relax + +% Allow plain TeX to use ulem.sty: + \def\@height{height} + \def\@depth{depth} + \def\@width{width} + \def\@empty{} + \long\def\@gobble#1{} + \long\def\@firstoftwo#1#2{#1}% + \long\def\@secondoftwo#1#2{#2}% +% Do non-outer \newif with no visible \if's or \fi's when skipping + \csname newif\expandafter\endcsname \csname if@ignore\endcsname + +\else + + \let\LA@em\em \let\LA@emph\emph + \expandafter\let\expandafter\LA@Pem \csname em \endcsname + \expandafter\let\expandafter\LA@Pemph \csname emph \endcsname + \def\ULforem{\useunder{\uline}{\em}{\emph}} + \def\normalem{\let\em\LA@em \let\emph\LA@emph + \expandafter\let\csname em \endcsname\LA@Pem + \expandafter\let\csname emph \endcsname\LA@Pemph} + \ULforem % default is to use underlining for \em, + +\fi + +% Process LaTeX \package options; plain TeX skips this section + +\expandafter\ifx\csname ProvidesPackage\endcsname \relax \else + \ProvidesPackage{ulem}[2019/11/18] + \DeclareOption{normalem}{\normalem} + \DeclareOption{ULforem}{\ULforem} + \DeclareOption{normalbf}{} + \DeclareOption{UWforbf}{\useunder{\uwave}{\bf}{\textbf}} + \ProcessOptions +% + \newcommand\UL@marpar[2][\ULmp@opt@arg]{\gdef\ULmp@opt@arg{#2}% + \ifx\ \LA@space \@latexerr{Marginpar lost}% + \else \UL@stop \LA@marginpar[#1]{#2}\UL@start \fi} +% + \AtBeginDocument{\let\LA@marginpar\marginpar}% +% + \addto@hook\UL@hook{\let\marginpar\UL@marpar} +\fi + +\catcode`@=\ULthickness % Scratch meaning: restore catcode of @ + +\def\ULthickness{.4pt}% can change this with \renewcommand +\newdimen\ULdepth \ULdepth=\maxdimen +% "maxdimen" depth causes the depth to be set according to the font. You +% can change \ULdepth for a permanent setting or a special effect (\sout). + +\endinput + + +% Previous bug-finders: Esther Hu (\hfill in plain); Lones Smith (\tt\-); +% Steve Anderson (\ooalign accents); Thanassi Protopapas ( { in tables). +% The bug finders' fee is now $0.00; it will double for each new bug found. +% Version (identified by year) +% 1994: +% Many changes! Notably: LaTeX2e options and \emph. Nesting works (somewhat). +% Behavior with inner braces is more consistent (not stripped). \useunder. +% Better underwave (using lasy6). Special underlines are not commented out. +% patch 1995: fix \UL@swender to work in {tabular}; make hyphenation join +% well; crude math support; eliminate \@clb +% 1996: use "\csname ProvidesPackage\endcsname", tidying. +% 1997: fix \\ when LaTeX changed; remove extra overlap in putbox. +% 2000: hook (and marginpar) +% 2004: Fix spacing in \uwave and \xout. \ULleaders hook. +% 2009: Accept \par in argument (\long) +% 2010: Include \dotuline and \dashuline, typeset documentation, add \UL@setULdepth +% 2011: Change \dimen@ to \UL@height +% 2012: Removed \let\par garbage +% 2017: Remove \makerobust +% 2019: Handle \ULdepth better. Some tweaks. +% +% Send problem reports to asnd@triumf.ca +% +% test integrity: +% brackets: round, square, curly, angle: () [] {} <> +% backslash, slash, vertical, at, dollar, and: \ / | @ $ & +% hat, grave, acute (apostrophe), quote, tilde, under: ^ ` ' " ~ _ diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100644 index 0000000..65ed58e --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,14 @@ +FROM ubuntu:latest + +RUN apt update && apt install -y \ + make \ + pandoc \ + curl \ + python3.10-venv + + +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ + texlive-xetex \ + lmodern \ + texlive + diff --git a/docker/HOWTO b/docker/HOWTO new file mode 100644 index 0000000..853c709 --- /dev/null +++ b/docker/HOWTO @@ -0,0 +1,27 @@ + + +To use the docker image - + +1. create an image from the Dokerfile in ./docker: +# cd docker +# docker built -t . + +e.g: +IlPapersFork/docker$ docker build -t pdf-maker:latest . + +2. from the main directory run the docker: +# docker run -it --volume "${PWD}:/must have/two paths deep" +e.g +IlPapersFork/docker$ docker run -it --volume "${PWD}:/paper/base" pdf-maker + + +3. from the command line inside the docker go to the paper directory. +e.g: +# cd /paper/base/P2022 + +4. make the pdf: +make .pdf +e.g: +# make P2022R0.pdf + +5. pray diff --git a/pdf-generator b/pdf-generator index 5085524..dd6b737 160000 --- a/pdf-generator +++ b/pdf-generator @@ -1 +1 @@ -Subproject commit 5085524eb88052e8cb7debdaf065c16b5af68ca5 +Subproject commit dd6b7373f9e3c7ca102ff05b6969655eaff38e43 From 5ce4229205129a48bfa658228bc9247b07b43477 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sun, 29 Jan 2023 14:30:24 +0200 Subject: [PATCH 09/17] P2022/wording (#10) * added ranges interface * updated pdf and fixed submodule url * updated pdf * updated pdf --------- Co-authored-by: Ran Regev Co-authored-by: Mor Elmaliach --- .gitmodules | 2 +- P2022/P2022R0.md | 251 +++++++++++++++++------- P2022/generated/P2022R0.pdf | Bin 30167 -> 33952 bytes P2022/tests/header/3way.hpp | 71 ++++++- P2022/tests/units/CMakeLists.txt | 2 + P2022/tests/units/compilation_error.cpp | 30 +++ P2022/tests/units/ranges.cpp | 15 ++ docker/HOWTO | 2 +- 8 files changed, 295 insertions(+), 78 deletions(-) create mode 100644 P2022/tests/units/compilation_error.cpp create mode 100644 P2022/tests/units/ranges.cpp diff --git a/.gitmodules b/.gitmodules index 5965d16..71ba810 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ -[submodule "pdf-generator"] +[submodule "pdf-generator/"] path = pdf-generator branch = master url = https://github.com/MorTD/wg21 diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md index e8b0ffa..8c67283 100644 --- a/P2022/P2022R0.md +++ b/P2022/P2022R0.md @@ -3,99 +3,208 @@ title: "Rangified version of lexicographical_compare_three_way" document: P2022R0 date: today audience: + - SG9 - LEWG - - LWG author: - name: Ran Regev - email: + email: toc: false --- # Motivation and Scope This document adds the wording for ```ranges::lexicographical_compare_three_way``` +# Design Decisions +- There is no reason to restrict the relation between the compared ranges in any way (e.g. three_way_comparable_with). +- The Comp function is restricted to return one of the comparison categories, and nothing else. +- Functions built on top of may restrict their input parameters if required. +- Functions built on top of ```ranges::lexicographical_compare_three_way``` such as (the yet to be defined) ```ranges::sort_three_way()``` +should benefit from the additional information that can be found in the return value of ```ranges::lexicographical_compare_three_way```, +and even use it to indicate the user that the function ended in a specific state. +E.g. sort_three_way() may report that the resulted sorted range is sorted from smallest to largest (or largest to smallest), all element are equal or even +that the given range is unsortable. + # Proposed Wording ## Add to [algorithm.syn] -> | template -> | constexpr auto -> | lexicographical_compare_three_way(InputIterator1 b1, InputIterator1 e1, -> | InputIterator2 b2, InputIterator2 e2, -> | Cmp comp) -> | -> common_comparison_category_t; +> | template +> | constexpr auto +> | lexicographical_compare_three_way(InputIterator1 b1, InputIterator1 e1, +> | InputIterator2 b2, InputIterator2 e2); > ::: add -> | template< -> | input_iterator I1, sentinel_for S1, -> | input_iterator I2, sentinel_for S2, -> | class Proj1 = identity, -> | class Proj2 = identity, -> | class Comp = compare_three_way -> | > -> | constexpr auto -> | ranges::lexicographical_compare_three_way( -> | I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 = {}, Proj2 = {} -> | ) -> std::common_comparison_category_t< -> | decltype(comp(*first1, *first2)), std::strong_ordering>; +> | template +> | concept same-as-any-of = (std::same_as or ...); // exposition only +> | +> | template< +> | input_iterator I1, +> | input_iterator I2, +> | class Comp, +> | class Proj1, +> | class Proj2 +> | > +> | using lexicographical-compare-three-way-result-t = +> | invoke_result_t< +> | Comp, +> | typename projected::value_type, +> | typename projected::value_type +> | >; // exposition-only +> | +> | constexpr bool is-lexicographical-compare-three-way-result-ordering = +> | std::same-as-any-of< +> | lexicographical-compare-three-way-result-t< +> | I1, I2, Comp, Proj1, Proj2 +> | >, +> | std::strong_ordering, std::weak_ordering, std::partial_ordering>; //exposition-only +> | template< +> | input_iterator I1, sentinel_for S1, +> | input_iterator I2, sentinel_for S2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | I1, I2, Comp, Proj1, Proj2 +> | > +> | +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | I1 first1, +> | S1 last1, +> | I2 first2, +> | S2 last2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(*first1), proj2(*first2)) +> | ), +> | strong_ordering +> | >; +> | +> | template< +> | ranges::input_range R1, +> | ranges::input_range R2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | iterator_t, iterator_t, Comp, Proj1, Proj2 +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | R1&& r1, +> | R2&& r2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(*ranges::begin(r1)), proj2(*ranges::begin(r2))) +> | ), +> | strong_ordering +> | >; > ::: -## Add to ยง25.7.11 [alg.three.way] +## Add to ยง27.8.12 [alg.three.way] -> | template +> | template > | constexpr auto > | lexicographical_compare_three_way(InputIterator1 b1, InputIterator1 e1, -> | InputIterator2 b2, InputIterator2 e2, -> | Cmp comp) -> | -> common_comparison_category_t; - -> ::: add -> | template< -> | input_iterator I1, sentinel_for S1, -> | input_iterator I2, sentinel_for S2, -> | class Proj1 = identity, -> | class Proj2 = identity, -> | class Comp = compare_three_way -> | > -> | constexpr auto -> | ranges::lexicographical_compare_three_way( -> | I1 first1, S1 last1, I2 first2, S2 last2, Comp comp = {}, Proj1 = {}, Proj2 = {} -> | ) -> std::common_comparison_category_t< -> | decltype(comp(*first1, *first2)), std::strong_ordering>; -> ::: - -> ::: add - -- [1] Let N be the minimum integer between distance(first1,s1) and distance(first2,s2). Let E(n) be comp(proj1(*(first1 + n)), proj2(*(first2 + n))). - -- [2] Returns: E(i), where i is the smallest integer in [0, N) such that E(i) != 0 is true, or (distance(first1,s1) <=> distance(first2, s2) if no such integer exists. - -- [3] Complexity: At most N applications of comp, porj1, porj2. - -> ::: +> | InputIterator2 b2, InputIterator2 e2); > ::: add -> | template< -> | input_range R1, input_range R2, -> | class Proj1 = identity, -> | class Proj2 = identity -> | class Cat = partial_ordering, -> | three_way_comparable_with< -> | projected,Proj1>, projected,Proj2>, Cat -> | > Comp = std::compare_three_way() -> | > -> | constexpr auto -> | ranges::lexicographical_compare_three_way( -> | R1&& r1, R2&& r2, Comp comp = {}, Proj1 = {}, Proj2 = {} -> | ) -> std::common_comparison_category_t< -> | decltype(comp(*r1.begin(), *r2.begin())), std::strong_ordering>; +> | template +> | concept same-as-any-of = (std::same_as or ...); // exposition only +> | +> | template< +> | input_iterator I1, +> | input_iterator I2, +> | class Comp, +> | class Proj1, +> | class Proj2 +> | > +> | using lexicographical-compare-three-way-result-t = +> | invoke_result_t< +> | Comp, +> | typename projected::value_type, +> | typename projected::value_type +> | >; // exposition-only +> | +> | constexpr bool is-lexicographical-compare-three-way-result-ordering = +> | std::same-as-any-of< +> | lexicographical-compare-three-way-result-t< +> | I1, I2, Comp, Proj1, Proj2 +> | >, +> | std::strong_ordering, std::weak_ordering, std::partial_ordering>; //exposition-only +> | template< +> | input_iterator I1, sentinel_for S1, +> | input_iterator I2, sentinel_for S2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | I1, I2, Comp, Proj1, Proj2 +> | > +> | +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | I1 first1, +> | S1 last1, +> | I2 first2, +> | S2 last2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(*first1), proj2(*first2)) +> | ), +> | strong_ordering +> | >; +> | +> | template< +> | ranges::input_range R1, +> | ranges::input_range R2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | iterator_t, iterator_t, Comp, Proj1, Proj2 +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | R1&& r1, +> | R2&& r2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(*ranges::begin(r1)), proj2(*ranges::begin(r2))) +> | ), +> | strong_ordering +> | >; +> ::: + +- [1]{.pnum} Let N be the minimum integer between distance(first1,s1) and distance(first2,s2). Let E(n) be comp(proj1(*(first1 + n)), proj2(*(first2 + n))). +- [2]{.pnum} Returns: E(i), where i is the smallest integer in [0, N) such that E(i) != 0 is true, or (distance(first1,s1) <=> distance(first2, s2) if no such integer exists. +- [3]{.pnum} Complexity: At most N applications of comp, porj1, porj2. > ::: -> ::: add -- [2]{.pnum} _Mandates_: decltype(comp(\*r1.begin(), \*r2.begin())) is a comparison category type. -> ::: - - # Acknowledgements - Dan Raviv - Michael Park (for github.com/mpark/wg21) + Alex Dathskovsky + Avi Korzac + Lee-or Saar + Mor Elmaliach + Yaron Meister + diff --git a/P2022/generated/P2022R0.pdf b/P2022/generated/P2022R0.pdf index 6c6e8f86056b51a08a6cf73115e716e1cf0ee6b1..e108a79fb9935961964087260312670308866c32 100644 GIT binary patch delta 30016 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�FpL@PIAXrmcs7Xm+su5 zZ+cl%x$C*UG_@TGjd6hCpQi`Q9D(m)A2H=QbqK_Pz2~s~r zw`I_$d?PGpL|Sa5_?zvG2jQK#oSJ5tmzYOe+rrUMn}9f`+T0vOzq=V@Fm;=|R864V z+S1-Kr$2@~K)PYWfE@34!w1jr413ivv%5No{OVR`+@UF@>W$6_32#WIq-@6Ny3S+i zo{Hr2GD|Ya^;uw14Pbkuq3|DtgVzT!yz5w#;mIu27T@h1uoTsH2|&(^T*=V4Qc!J; zem~~sd?bD99Hv>4ENN>H;*kQdf?=O#m9@l9( z4Lk(5&fH>F^QY8;d3c(i*|bX0_3^pRN9&Bi1iz)SvJgujlFf8W%x*AjjRHP}Jln1B zjhCQdB%YzK0TgPga?y)aE|$v^&UvYw-#Axf1?>9~74}N5nfs+t#RGxqc^Zbi8r!$@ z+PWH=60CKKWU^j3N7t4vtzAU*)hz2m#|jo$*Vlq&Ar=vcap4psJ#HiZ0#wnnC@n11i zHZC5v|J#(#)kIKM)57l~qwG<&Z_On7`)}k0q|y?c(4~91>CpQ8V-!c|k~9GlHcCcb z)O#c`l#=r3hzK1v;|Dw}q*36vBI{b+>PuT-TSs-Ru2t7z+tT^m^`;xp!}AGxvu@{n zX6~w&{WQ<_B>Ya&J%U8;JA8kwBa?M)&p!cS;3m5+u|3c!l81#vFHE zs((Bii@vRV`PNk~BG^O8Q45H8M zktL(2(@2WJX7u(jtTB+Ro1tt*h#qNzFVz;umWDF-r0!%*nMu-MDJEw#pr%3yD}_on zRn?R~f%i%}mMs*O`9*7f?0TFd&(^M9Ldjqb&pPRcB^uT6gAOzCST#slq)ImIC=0md zI=RAD8NE$Pk1h*H6J?_ap-dAc)2ULOG|Cq?(lAV>Q%jv;wmhLdm7}JnI~`xOsQHtc zlHF*sQ&p4Wpp#i8i>1S;miVo(>IbEY}+=Ve*0Qdh`0ivmmIK zF!+wn>mR@9jfG5je`zGAB(>yCsl4ohLR~WSVOD_)D~SC$fP&@RzRi`rPeHF!B$Nm& zBE<0b0g&8r2sxesme8@KcGCehTik=ouR(R2e9W3FSAM?OikUZ;)6=g4cm>u-<1Ffr z$iJ|P=0FV)^^em6ldZ2jiismInjd|{7e2#_8!GutcQ72kR7}%Y7@rF@U|GeDQQ6|W zO`z=;4TbStpJR!PXNDT$GeO{bx3SqEgY?EmqfijlsV$D+l|EeQoX| z^go_^){Y8fEZWBkMa)8wy7QT~?OFrJXu_BqsA@7ejm=Y!3C?1ua55W8Go zF!P_cHoW-=p-*=oJlf$E{pZcS-JAgXJ%dgFEwq3EYS1NxI=&f0{J!Wdw2-;V2B8+a zbH^A(of=*#c8?yz->LDle{?;?@^WT89d=L08*?*?Lc^*p2hC}5wI^(>pb+giNXR4c z>iR|?>ZUq@kTTT*e6*ta&eu3_cNh5(zaxcAY%W^g-uDAIkV%}e%q6OShKqkaUdI7o zfLy!iX&j13!hxiZzKvNC!7OV@=@ilOCRA$|vi$NFcYHzLlh(MWy}Lw|rHs^> zi__D8Q5B~lx6Uhm&c^#9Ig^aFQ8K z1~lE(BRTp7xq`?+jVI!ke}YFPSv|njstH4{aLvc;(y_I%;=7DLDiF(bBEM-caQNiS zZ@@I-!jr8A1kws5hybwVgU+3iL9vbwtO7T@nP#t%XdPj0%U%z2Z^COe)LpV4AA|7N zIowm>z?LYK!0Ds$c7UUwGeX#sPyu=Y+{xi!!OpdKFLt?(5>1a{In&rVk56vs9M!@s z5`kzpsFf&0FF0fT_*S6%JVb?yGjntHtKd<0g*HGe37`{`31Grz2g9xp>S&m0r$i_% zcL>P(k$vW;Uu{8&&)Hd%2PXfFSSC1PLa2`u*120)xtm(CKLAE(%tb{P{V@WW`@Sk$ zFlsZ<3lD7E8oL&S7=z9oE2^v=Z$7s~Cfc)Q5Rs6;g@m&{bu0lNuZp89Uv;|W?hXd0 z2_WKfE66861cYdgIqhi;GymmaC(CimSFov+dB58TYFeS{p5}b^^%3c~`kIO%c50tz zb)2*z34dp1@xuAthFNR0MS3{!1)mf(q%}I7-W1;G^X6Rya2{2v`dHxI8Nv((>$cG1#&gi$EL> z2UckJ`B}bTKk*_3%prw?;n&%yR-3Q<^yhtO|z}=fG@>frp2*{t#n4%?muA-@bzn$x^`u|Dd;;6wl%a z#6I}$1;7#X)3??cwle&!b^h#=erD z(X9gbl2^qc!wkoLH#+l1S>4i5*%49qker5L$#BN6Lqx5lq`2Mh&X1+wK6La7E$u)d zG2s2$6E=ODwpeiRjxu}V=>bE^_`#`2&{-&zQ?Hj@H>h4?H&S&*`nVEI&Y~DCtySR^ z`_G()=L0c;3mU|0SvWU+L0oEF+rG-+eXyMdR$5BIK_drdq5e5UZfh?}qVJb1tf1ZD zSO0l6O~ykocQI5yKtR~>l&O5hW9Vnub23C@Teqy;`za6xvSeT3y3N);{&+dMg>9t= zON;*ni=z}jp9V?>W2Q>>W2HK1={9xxVkJwD7{BBnx$liH*dZ$0^qyDg!^vkn`XX30 zPWk)~RqKDDX8u*VXw;~CDyYAWC*8DB2L`@@VX}NH{twIl3&8^5=KgQajDf12J)#P( z(9*`Wrb6rWq~mN}w4Et)A*`tAQc+vXCNv6h*-mr!QtowS<_2SOw1?c9J7bJwXp64B zjR)w*Ll9}D9Qk)R84xMuB56{=$%r=##{S^fjZxow`n!=3yf$NCQ3a?kOLu!@6uaA2 z1;F#&xd=`(S(Qz}M0@DlK?&>(g#|~ZW9H=VbiC>MP$6a8)-TGJC9s0z(K2B+Lx>r7 zifP~Z8I~YTOKRE)2uxbYQDb^qsQf_1h2;!@l_s={pe}(pYi7FFoR@F!F;>UV@`(rv zww%8Y-!rUUshraYG~JL?auSOKj!Z?gfq-yM$Fp%bh~s@i!jK2rAvm%~F_yr#fsRmd zxNr$Vr(Y*sCZt1hEJ35R97U0kBQmtGhmEA@g@hu`9y?`VHAAd;ug}n!DX8w9q^YRE zXgZFD7oZ7H13`?5(!^Pkz)(K*q}g0&)#@9>_ub8C*{?F$_8zftGR7g&WM0F>ZNS&v zYx|>FV-!Z9NoxU`xJ?MfFynw}lLfflfSqmYDtEkqrt6Wu;-m!zM$1fg6hw)QEb@jW z1I=5`(J!EA6;gAb#~-nW_$ZX2w(D`($GSVMvDJ#JyxF1#jcVCb0)F(~c@ABMY1_7X zFW-uGBjNY6caaoNhvTDtk6|A}9KhSh#Y#HLReg^bU+q%N#V?SRmwwOkLK;xU9iHB| z_{-)EYkZ*Cn|H0rp?l9>oTs%_L%uXMBmzFw+%}>2xWhH8*Nmu73+5p?`uA8k6i_V3 zP1)h^Wy_PS!MCyQ3xnNv-K3Luj@vNKU7u=yVxmcv1j*gFKkxDw8r69-dH}t{Nu=%+ zD454uWnIFq`B(oEVP8PQ-stb82oj*K$_9devSCxlcJuM;AjXbhxtrDFlapn>k&mnA zZ_x4MZRs(m#zKRdaKYbMrE3kQ0y#LAHJ`l#!B0;Eu-Y@{UeL~V}%dX&ab(Wgi?0-1*eEDKHL9!VR%{o@q_XI z+b2nO#)05a(9jTIFnwSPDWtXxh+N#vk~Xex?xdWo+$oLjga9tq|E3{Zb+%l$c+mZK z>-V-~TdB~Vrq!of`(kP8c%s%kx!8yIL&z84?aUXb7G>U_-0&%>rm&k=;}6-Y;R+Ub zc6hA8Qe(77JVw$YA!9<-y~!u-DfKA@V@hIEwUXSE7U)&kniLDDT@A(Y4Kg{B!~vE7 zkI=asb|O0DC|Q}sGih&W6hSl>GE$_H@Rmg6;X(sfV!HJdTH0kfGm2wU!4gux#D;nf z%6*T-hT={reQEbaTqQjm8@MPCScV?08SV8RLKl2l5J4j3fE^ATlyk*5LNq+c0hVX^ zZ)OD2Fb2eM)zUa3;POB+CV1!AaM4(RvYo*DDSgw86on*qhXAz8O$-6vU}8}q-*dSM zyaW==ghI>&MH_KpFviT=gefMt+>MAEsmKBtl_}y9ZZbH7I}ZosaL)6Dw46#@?0zJ* z<@7gvQ#*lg@wht3^4_iJj%1$Bu#Uz*V(9U`h zIMc2?9U(Yojo^>sV$frVjxqFKY?aEKS&UZ2uDaV6VtC)QxAw$rxTyZMkH?=26_8=5 zDiGApT8KMrk^{`dku-=xyER<2Qa9}Hv8ri|<|3**{mdkRw`~sCxHq3_ddUV}-1M>z znW?et(}k51E=l5I)=JCj+Do1RH4i{O?(eA#zObpzEt4LMPX_e-aKiig-Zcm(`P ztDpVaCH%Ubc#98%PWaqilCArUH z+3Qvxie*H;UyUzC1<+CILep}r51{^7F!m7aCD2H39qG1zRqGbA=E^jRz9bhq zuOX53PQgM)arhJZM8rny@Z2r3u!k>c0WswGqs5`jM(>j2N9`3jSzd65wuRBzeIs~@ zFBoX^a`g^1H=7y&pPw}$Pf&n~v=B%k7y+Y#t%J1sieHf@2;J3t!*A^YQ@BI24_QHJ zSW>GZy(VqA_V<>&z~MKHllw=g&zAGZ7c=vS8uLX)_KudeLB7%yS2D=O1;v@7F$KR0!}}?B0AmE8gcO@i{bLE~>IZ_s66pkW zN3XtyzdrD$86@o~;7XK$N%i5AP70i^VZ7E_swvrmunB`Wf@⋘ORT>tvL%!yxH^9 zC1I1}v#*c%gNt#MIp$~8f8m}!fBAjn`uaL^r`sy5)pJ9#YU9Unyp9utO711a!pNQj z*EEgPXuI=2wmZ+T4l};nc(uJMR&_WM$8eiWT2O&;m^I$Qcd>v51)l|(+BUKl8}o=~ zGS17*>%$tFtWnXAA>U!4OZ;AHg%tm-SR7~1t?c7^C%)H&j|Gpny5$0=u1c~TXRD_r zd(LOBx8&VfN5_5%03swt4&KQZF7oB?plg~GdV(Cldnol}$4!SDxg^EdXVjMo(eabl z#w|-toMp4XY&FNs!ItT-QIe^v5C7JQ^o(Wa+oEo&%GTCP4e`4_w-hY<-l_`NqdA%} z&QXg(8f+>vB~#Q{ck0c`i};MeHzK1Gzb)m1eQj(dnA}Zkr5$$WK?UdPv_Er6_1D)m zE)2*43xP3Sq7vH!7>86P(y2>{^sHkdS!GwYbnZnxN;cE&QKgqGb$zQ{>Qj`kxz-M< z=jgTtQU#h(Bc>0ugu*I_2}tD_JZC{sYHC$bnXt8zOHYvAwjo3@#gOK<-ngNJ<;>tb z4zk0;u+X1BcALb_1o8EKhDfbNeh^|pXu6XF+-TLzbwfD<8X~5d@|HVGfLFX5#REF8 z<|6sb(hD%csDdJrq#8E~h%J&^AW|`PIP7~9%}7+uCOH!%)tk-4ieVbUvSBvq%)s%Q zsCJ6%sj_G)^aw2hag2)!`GYgP(BI-%agq+^k;HH$kVTTf0tAl|>7Noca8zOc*mFGq zcX6V{Vz5kO7`NjP8_4ifL7t$0{~VRsKnxh?ca%8aI{B;^`o4BSn8#0V>cv)K{aj0y zUg{+t6Dc5dN0qH3NUgMc?~;trG8IE5&`_(+YQ3nVsfimCL9eQo7fQadtp4SPklZX8 zEm~b6OTofXh^smbWhtgK`8#0YsFR)GBvXRNxh1<@!qyr zbH9R2c&X&#ZMw`upU|H8`o5KYNp6$1|LL8(eL2-Vy_tSD6RH+6OWHKPi1b`W^F$}? z&na|@x<5yB!^tP3Ib9k)_DhlgFbWySpYQ|@TtjfpYDpi+ZLbP}pJlqS+lmSK5PkLJVBf2dT`#ZfXDNUc7C=PTCE%@% zMpz&N5v^kX7OpF#78?Nqy!?BhhXV*z7l}k=sRz7;{W|9H)k4UP= zzYU?yhFQ2JS;z`Cg?WfE0_J$W1ZEC8w>X;Ul`Kuk(uS9II!y<8?AaQYT)!`? zqvz5{08RF@Vfg*1<1pHI7om$OO8h<2k&IL-O?e8MmRWc;YW&|W3&gj6u7bWFp0vd_ZM0^O1@Z}?Ub@3P zWy!xvnY)T}^GZT3#sPaltAc#L`M$hp&EB|42fI_j)kN@ukYKynX^RbSa~5%WkQLhI zngjCh>=Qu#HsmuHSuN%t2o6jT&Hte|Wlj0+jw{N}X2EL0!Og>JX~}8H$;-pa&ck7D z!D(S`Vrk0G&BZDt@c&zp66sF-jh8K@!u=n4`M=>|sea2Sii%){?fW(qqCsJf(i}is z5h!DhLSI>4Amie}P{&d&G*&x9)Qx!HmVY0_Tg~Txxz(C0P_?iuRvB7sgV<_-miirx zVI6V~9E{})L3ZEQ|8*zQfUNaftqLgijVm?ood-JG8DWjy-48bcPa6cSsz z5mg^Pz$(zOM~&rGYk9X*z1q%G5B>#C@AqW@$ksLy)U~{~VP`a4w-y&pVhH2&fso$+ hmGJ>l#6W2Jf6h0h)dL%mot=|~9iECxLP-+-e*r#f2KWE~ delta 26254 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 A9RL6T diff --git a/P2022/tests/header/3way.hpp b/P2022/tests/header/3way.hpp index 4fff09e..55afe1a 100644 --- a/P2022/tests/header/3way.hpp +++ b/P2022/tests/header/3way.hpp @@ -1,6 +1,17 @@ #include +#include + + +namespace std +{ + template < + typename T, + typename... U + > + concept same_as_any_of = (std::same_as or ...); // exposition only +} namespace std::ranges { @@ -12,7 +23,25 @@ namespace std::ranges class Proj2 > using lexicographical_compare_three_way_result_t = - invoke_result_t::value_type , typename projected::value_type>; + invoke_result_t< + Comp, + typename projected::value_type, + typename projected::value_type + >; // exposition-only + + template< + std::input_iterator I1, + std::input_iterator I2, + class Comp, + class Proj1, + class Proj2 + > + constexpr bool is_lexicographical_compare_three_way_result_ordering = + std::same_as_any_of< + lexicographical_compare_three_way_result_t< + I1, I2, Comp, Proj1, Proj2 + >, + std::strong_ordering, std::weak_ordering, std::partial_ordering>; //exposition-only template< input_iterator I1, sentinel_for S1, @@ -22,10 +51,9 @@ namespace std::ranges class Proj2 = identity > requires - std::same_as, strong_ordering> || - std::same_as, weak_ordering> || - std::same_as, partial_ordering> - + is_lexicographical_compare_three_way_result_ordering< + I1, I2, Comp, Proj1, Proj2 + > constexpr auto lexicographical_compare_three_way( I1 first1, @@ -63,5 +91,38 @@ namespace std::ranges // note: See PR 94006 return (first2 == last2) <=> true; } + + template< + ranges::input_range R1, + ranges::input_range R2, + class Comp = compare_three_way, + class Proj1 = identity, + class Proj2 = identity + > + requires + is_lexicographical_compare_three_way_result_ordering< + iterator_t, iterator_t, Comp, Proj1, Proj2 + > + constexpr auto + lexicographical_compare_three_way( + R1&& r1, + R2&& r2, + Comp comp = {}, + Proj1 proj1 = {}, + Proj2 proj2 = {} + ) -> common_comparison_category_t< + decltype( + comp(proj1(*ranges::begin(r1)), proj2(*ranges::begin(r2))) + ), + strong_ordering + > + { + return lexicographical_compare_three_way( + ranges::begin(r1), ranges::end(r1), + ranges::begin(r2), ranges::end(r2), + move(comp), + move(proj1), + move(proj2)); + } } diff --git a/P2022/tests/units/CMakeLists.txt b/P2022/tests/units/CMakeLists.txt index 727566f..ea3546e 100644 --- a/P2022/tests/units/CMakeLists.txt +++ b/P2022/tests/units/CMakeLists.txt @@ -23,6 +23,8 @@ add_executable( unordered.cpp t1.cpp avi_tests.cpp + ranges.cpp + compilation_error.cpp ) set_target_properties( diff --git a/P2022/tests/units/compilation_error.cpp b/P2022/tests/units/compilation_error.cpp new file mode 100644 index 0000000..fd0179a --- /dev/null +++ b/P2022/tests/units/compilation_error.cpp @@ -0,0 +1,30 @@ + +#include "3way.hpp" +#include "catch2/catch_all.hpp" + + +struct BadComp +{ + template + auto operator()(T t, U u) -> bool + { + return 5 > 6; + } +}; + +TEST_CASE("compilation error") +{ + std::vector v1{0, 1, 2, 3}; + std::vector v2{0, 1, 2, 3}; + + // open the followinf section to make sure + // Comp doesn't compile correctly + /* + auto res = + std::ranges::lexicographical_compare_three_way( + std::ranges::begin(v1), std::ranges::end(v1), + std::ranges::begin(v2), std::ranges::end(v2), + BadComp{} + ); + */ +} diff --git a/P2022/tests/units/ranges.cpp b/P2022/tests/units/ranges.cpp new file mode 100644 index 0000000..e747cbe --- /dev/null +++ b/P2022/tests/units/ranges.cpp @@ -0,0 +1,15 @@ + +#include "3way.hpp" +#include "catch2/catch_all.hpp" + +TEST_CASE("ranges") +{ + std::vector v1{5, 6, 7, 8}; + std::vector v2{0, 1, 2, 3}; + + auto res = + std::ranges::lexicographical_compare_three_way(v1, v2); + + CHECK(res == std::strong_ordering::greater); +} + diff --git a/docker/HOWTO b/docker/HOWTO index 853c709..d5e507d 100644 --- a/docker/HOWTO +++ b/docker/HOWTO @@ -12,7 +12,7 @@ IlPapersFork/docker$ docker build -t pdf-maker:latest . 2. from the main directory run the docker: # docker run -it --volume "${PWD}:/must have/two paths deep" e.g -IlPapersFork/docker$ docker run -it --volume "${PWD}:/paper/base" pdf-maker +IlPapersFork$ docker run -it --volume "${PWD}:/paper/base" pdf-maker 3. from the command line inside the docker go to the paper directory. From 2b7888052849281446655d0966d089d28b620fe7 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sun, 29 Jan 2023 21:04:11 +0200 Subject: [PATCH 10/17] crucial but essential md changes --- P2022/P2022R0.md | 31 +++++++++++++++---------------- P2022/generated/P2022R0.pdf | Bin 33952 -> 34099 bytes 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md index 8c67283..2df30cc 100644 --- a/P2022/P2022R0.md +++ b/P2022/P2022R0.md @@ -15,9 +15,9 @@ toc: false This document adds the wording for ```ranges::lexicographical_compare_three_way``` # Design Decisions +- The Comp function is restricted to return one of the comparison categories, and nothing else. Therefore - - There is no reason to restrict the relation between the compared ranges in any way (e.g. three_way_comparable_with). -- The Comp function is restricted to return one of the comparison categories, and nothing else. -- Functions built on top of may restrict their input parameters if required. +- Functions built on top of ```ranges::lexicographical_compare_three_way``` may restrict their input parameters if required. - Functions built on top of ```ranges::lexicographical_compare_three_way``` such as (the yet to be defined) ```ranges::sort_three_way()``` should benefit from the additional information that can be found in the return value of ```ranges::lexicographical_compare_three_way```, and even use it to indicate the user that the function ended in a specific state. @@ -35,7 +35,7 @@ that the given range is unsortable. > ::: add > | template -> | concept same-as-any-of = (std::same_as or ...); // exposition only +> | concept same-as-any-of = (same_as or ...); // exposition only > | > | template< > | input_iterator I1, @@ -52,11 +52,12 @@ that the given range is unsortable. > | >; // exposition-only > | > | constexpr bool is-lexicographical-compare-three-way-result-ordering = -> | std::same-as-any-of< +> | same-as-any-of< > | lexicographical-compare-three-way-result-t< > | I1, I2, Comp, Proj1, Proj2 > | >, -> | std::strong_ordering, std::weak_ordering, std::partial_ordering>; //exposition-only +> | strong_ordering, weak_ordering, partial_ordering>; //exposition-only +> | > | template< > | input_iterator I1, sentinel_for S1, > | input_iterator I2, sentinel_for S2, @@ -68,7 +69,6 @@ that the given range is unsortable. > | is-lexicographical-compare-three-way-result-ordering< > | I1, I2, Comp, Proj1, Proj2 > | > -> | > | constexpr auto > | ranges::lexicographical_compare_three_way( > | I1 first1, @@ -80,7 +80,7 @@ that the given range is unsortable. > | Proj2 proj2 = {} > | ) -> common_comparison_category_t< > | decltype( -> | comp(proj1(*first1), proj2(*first2)) +> | comp(proj1(\*first1), proj2(\*first2)) > | ), > | strong_ordering > | >; @@ -94,7 +94,7 @@ that the given range is unsortable. > | > > | requires > | is-lexicographical-compare-three-way-result-ordering< -> | iterator_t, iterator_t, Comp, Proj1, Proj2 +> | iterator_t\, iterator_t\, Comp, Proj1, Proj2 > | > > | constexpr auto > | ranges::lexicographical_compare_three_way( @@ -120,7 +120,7 @@ that the given range is unsortable. > ::: add > | template -> | concept same-as-any-of = (std::same_as or ...); // exposition only +> | concept same-as-any-of = (same_as or ...); // exposition only > | > | template< > | input_iterator I1, @@ -137,11 +137,12 @@ that the given range is unsortable. > | >; // exposition-only > | > | constexpr bool is-lexicographical-compare-three-way-result-ordering = -> | std::same-as-any-of< +> | same-as-any-of< > | lexicographical-compare-three-way-result-t< > | I1, I2, Comp, Proj1, Proj2 > | >, -> | std::strong_ordering, std::weak_ordering, std::partial_ordering>; //exposition-only +> | strong_ordering, weak_ordering, partial_ordering>; //exposition-only +> | > | template< > | input_iterator I1, sentinel_for S1, > | input_iterator I2, sentinel_for S2, @@ -153,7 +154,6 @@ that the given range is unsortable. > | is-lexicographical-compare-three-way-result-ordering< > | I1, I2, Comp, Proj1, Proj2 > | > -> | > | constexpr auto > | ranges::lexicographical_compare_three_way( > | I1 first1, @@ -165,7 +165,7 @@ that the given range is unsortable. > | Proj2 proj2 = {} > | ) -> common_comparison_category_t< > | decltype( -> | comp(proj1(*first1), proj2(*first2)) +> | comp(proj1(\*first1), proj2(\*first2)) > | ), > | strong_ordering > | >; @@ -179,7 +179,7 @@ that the given range is unsortable. > | > > | requires > | is-lexicographical-compare-three-way-result-ordering< -> | iterator_t, iterator_t, Comp, Proj1, Proj2 +> | iterator_t\, iterator_t\, Comp, Proj1, Proj2 > | > > | constexpr auto > | ranges::lexicographical_compare_three_way( @@ -190,7 +190,7 @@ that the given range is unsortable. > | Proj2 proj2 = {} > | ) -> common_comparison_category_t< > | decltype( -> | comp(proj1(*ranges::begin(r1)), proj2(*ranges::begin(r2))) +> | comp(proj1(\*ranges::begin(r1)), proj2(\*ranges::begin(r2))) > | ), > | strong_ordering > | >; @@ -199,7 +199,6 @@ that the given range is unsortable. - [1]{.pnum} Let N be the minimum integer between distance(first1,s1) and distance(first2,s2). Let E(n) be comp(proj1(*(first1 + n)), proj2(*(first2 + n))). - [2]{.pnum} Returns: E(i), where i is the smallest integer in [0, N) such that E(i) != 0 is true, or (distance(first1,s1) <=> distance(first2, s2) if no such integer exists. - [3]{.pnum} Complexity: At most N applications of comp, porj1, porj2. -> ::: # Acknowledgements Alex Dathskovsky diff --git a/P2022/generated/P2022R0.pdf b/P2022/generated/P2022R0.pdf index e108a79fb9935961964087260312670308866c32..42fdf4078a5122138bbd3bab24310a9e8c6d1bb7 100644 GIT binary patch delta 18153 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�&gbb)G<)k*O>7X>!!=og*$T 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 K3MC~)Peuw3abIfy delta 17944 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 Date: Mon, 6 Feb 2023 13:45:47 -0800 Subject: [PATCH 11/17] wording: canges - the paper number was changed. P2022 -> D2794 - added some explored directions in the design decision section - fixed typos in the Complexity section --- P2022/P2022R0.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md index 2df30cc..54fc2e2 100644 --- a/P2022/P2022R0.md +++ b/P2022/P2022R0.md @@ -1,6 +1,6 @@ --- title: "Rangified version of lexicographical_compare_three_way" -document: P2022R0 +document: D2794R0 date: today audience: - SG9 @@ -15,10 +15,15 @@ toc: false This document adds the wording for ```ranges::lexicographical_compare_three_way``` # Design Decisions -- The Comp function is restricted to return one of the comparison categories, and nothing else. Therefore - -- There is no reason to restrict the relation between the compared ranges in any way (e.g. three_way_comparable_with). -- Functions built on top of ```ranges::lexicographical_compare_three_way``` may restrict their input parameters if required. -- Functions built on top of ```ranges::lexicographical_compare_three_way``` such as (the yet to be defined) ```ranges::sort_three_way()``` +- We explored the following directions and decided to drop them: +-- Having restrictions on the relation berween the ranges. We found it unneccessary as the comp predicate glue the ranges together to this comparison's needs. +-- Returning not only the comparison result but also the iterators to the ranges where the decision was made (return a result-struct). We couldn't find any useful implementation for these iterators and therefore decided to drop the idea. +- The chosen direction is as follows: +-- Follow the way std:lexicographical_compare_three_way is declared. +-- The Comp function is restricted to return one of the comparison categories, and nothing else. Therefore - +--- There is no reason to restrict the relation between the compared ranges in any way (e.g. three_way_comparable_with). +--- Functions built on top of ```ranges::lexicographical_compare_three_way``` may restrict their input parameters if required. +--- Functions built on top of ```ranges::lexicographical_compare_three_way``` such as (the yet to be defined) ```ranges::sort_three_way()``` should benefit from the additional information that can be found in the return value of ```ranges::lexicographical_compare_three_way```, and even use it to indicate the user that the function ended in a specific state. E.g. sort_three_way() may report that the resulted sorted range is sorted from smallest to largest (or largest to smallest), all element are equal or even @@ -198,7 +203,7 @@ that the given range is unsortable. - [1]{.pnum} Let N be the minimum integer between distance(first1,s1) and distance(first2,s2). Let E(n) be comp(proj1(*(first1 + n)), proj2(*(first2 + n))). - [2]{.pnum} Returns: E(i), where i is the smallest integer in [0, N) such that E(i) != 0 is true, or (distance(first1,s1) <=> distance(first2, s2) if no such integer exists. -- [3]{.pnum} Complexity: At most N applications of comp, porj1, porj2. +- [3]{.pnum} Complexity: At most N applications of comp, proj1, proj2. # Acknowledgements Alex Dathskovsky From 89ff564f74f89a2ffe79bd382f27270d392417d2 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Mon, 6 Feb 2023 14:05:31 -0800 Subject: [PATCH 12/17] wording: same-as-any-of -> same-as-one-of it just seems more correct --- P2022/P2022R0.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md index 54fc2e2..aa5aa38 100644 --- a/P2022/P2022R0.md +++ b/P2022/P2022R0.md @@ -40,7 +40,7 @@ that the given range is unsortable. > ::: add > | template -> | concept same-as-any-of = (same_as or ...); // exposition only +> | concept same-as-one-of = (same_as or ...); // exposition only > | > | template< > | input_iterator I1, @@ -57,7 +57,7 @@ that the given range is unsortable. > | >; // exposition-only > | > | constexpr bool is-lexicographical-compare-three-way-result-ordering = -> | same-as-any-of< +> | same-as-one-of< > | lexicographical-compare-three-way-result-t< > | I1, I2, Comp, Proj1, Proj2 > | >, @@ -125,7 +125,7 @@ that the given range is unsortable. > ::: add > | template -> | concept same-as-any-of = (same_as or ...); // exposition only +> | concept same-as-one-of = (same_as or ...); // exposition only > | > | template< > | input_iterator I1, @@ -142,7 +142,7 @@ that the given range is unsortable. > | >; // exposition-only > | > | constexpr bool is-lexicographical-compare-three-way-result-ordering = -> | same-as-any-of< +> | same-as-one-of< > | lexicographical-compare-three-way-result-t< > | I1, I2, Comp, Proj1, Proj2 > | >, From 51e670708e356c2814973107c347dc24e1f186de Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sun, 26 Feb 2023 22:01:57 +0200 Subject: [PATCH 13/17] incorportaed issaquah requests --- P2022/P2022R0.md | 62 ++++++++++++++++++++++++++++-------- P2022/generated/P2022R0.pdf | Bin 34099 -> 37810 bytes pdf-generator | 2 +- 3 files changed, 49 insertions(+), 15 deletions(-) diff --git a/P2022/P2022R0.md b/P2022/P2022R0.md index aa5aa38..32f2474 100644 --- a/P2022/P2022R0.md +++ b/P2022/P2022R0.md @@ -1,6 +1,8 @@ + + --- title: "Rangified version of lexicographical_compare_three_way" -document: D2794R0 +document: P2794R1 date: today audience: - SG9 @@ -11,26 +13,39 @@ author: toc: false --- + + + +# Revision History + - R1 + - Added link to github implementation + - Added code example + - R0 + - initial work + # Motivation and Scope This document adds the wording for ```ranges::lexicographical_compare_three_way``` # Design Decisions + - We explored the following directions and decided to drop them: --- Having restrictions on the relation berween the ranges. We found it unneccessary as the comp predicate glue the ranges together to this comparison's needs. --- Returning not only the comparison result but also the iterators to the ranges where the decision was made (return a result-struct). We couldn't find any useful implementation for these iterators and therefore decided to drop the idea. + - Having restrictions on the relation between the ranges. We found it unneccessary as the comp predicate glue the ranges together to this comparison's needs. + - Returning not only the comparison result but also the iterators to the ranges where the decision was made (return a result-struct). We couldn't find any useful implementation for these iterators and therefore decided to drop the idea. + - The chosen direction is as follows: --- Follow the way std:lexicographical_compare_three_way is declared. --- The Comp function is restricted to return one of the comparison categories, and nothing else. Therefore - ---- There is no reason to restrict the relation between the compared ranges in any way (e.g. three_way_comparable_with). ---- Functions built on top of ```ranges::lexicographical_compare_three_way``` may restrict their input parameters if required. ---- Functions built on top of ```ranges::lexicographical_compare_three_way``` such as (the yet to be defined) ```ranges::sort_three_way()``` -should benefit from the additional information that can be found in the return value of ```ranges::lexicographical_compare_three_way```, -and even use it to indicate the user that the function ended in a specific state. -E.g. sort_three_way() may report that the resulted sorted range is sorted from smallest to largest (or largest to smallest), all element are equal or even -that the given range is unsortable. + - Follow the way std::lexicographical_compare_three_way is declared. + - The Comp function is restricted to return one of the comparison categories, and nothing else. Therefore - + - There is no reason to restrict the relation between the compared ranges in any way. + - Functions built on top of ```ranges::lexicographical_compare_three_way``` may restrict their input parameters if required. + - Functions built on top of ```ranges::lexicographical_compare_three_way``` such as (the yet to be defined) ```ranges::sort_three_way()``` should benefit from the additional information that can be found in the return value of ```ranges::lexicographical_compare_three_way```, and even use it to indicate the user that the function ended in a specific state. E.g. sort_three_way() may report that the resulted sorted range is sorted from smallest to largest (or largest to smallest), all element are equal or even that the given range is unsortable. + +# Code Example +- In [@GitHub] branch P2022/master one can build and run [@Tests] to experiment with the function + # Proposed Wording + ## Add to [algorithm.syn] > | template @@ -205,10 +220,29 @@ that the given range is unsortable. - [2]{.pnum} Returns: E(i), where i is the smallest integer in [0, N) such that E(i) != 0 is true, or (distance(first1,s1) <=> distance(first2, s2) if no such integer exists. - [3]{.pnum} Complexity: At most N applications of comp, proj1, proj2. +--- +references: + - id: GitHub + citation-label: GitHub + title: "implementation" + author: + - family: Regev + given: Ran + URL: https://github.com/regevran/IlPapersFork/tree/P2022/master + + - id: Tests + citation-label: Tests + title: "tests" + author: + - family: Regev + - given: Ran + URL: https://github.com/regevran/IlPapersFork/tree/P2022/master/P2022/tests +--- + + # Acknowledgements Alex Dathskovsky Avi Korzac Lee-or Saar Mor Elmaliach - Yaron Meister - + Yaron Meister diff --git a/P2022/generated/P2022R0.pdf b/P2022/generated/P2022R0.pdf index 42fdf4078a5122138bbd3bab24310a9e8c6d1bb7..bdf04d88d0d913f0b25e45cee2925b6c80910bf0 100644 GIT binary patch delta 30334 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 delta 26721 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 diff --git a/pdf-generator b/pdf-generator index dd6b737..d4c30dd 160000 --- a/pdf-generator +++ b/pdf-generator @@ -1 +1 @@ -Subproject commit dd6b7373f9e3c7ca102ff05b6969655eaff38e43 +Subproject commit d4c30dd6a4b8c9c35cad6d61ae59007843b23664 From 0c7a9a55727620a78a699c4abb88538aed4e6d61 Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sat, 11 Mar 2023 10:43:08 +0200 Subject: [PATCH 14/17] P2021R1 --- P2022/P2022R1.md | 248 ++++++++++++++++++++++++++++++++++++ P2022/generated/P2022R1.pdf | Bin 0 -> 37670 bytes 2 files changed, 248 insertions(+) create mode 100644 P2022/P2022R1.md create mode 100644 P2022/generated/P2022R1.pdf diff --git a/P2022/P2022R1.md b/P2022/P2022R1.md new file mode 100644 index 0000000..32f2474 --- /dev/null +++ b/P2022/P2022R1.md @@ -0,0 +1,248 @@ + + +--- +title: "Rangified version of lexicographical_compare_three_way" +document: P2794R1 +date: today +audience: + - SG9 + - LEWG +author: + - name: Ran Regev + email: +toc: false +--- + + + + +# Revision History + - R1 + - Added link to github implementation + - Added code example + - R0 + - initial work + +# Motivation and Scope +This document adds the wording for ```ranges::lexicographical_compare_three_way``` + +# Design Decisions + +- We explored the following directions and decided to drop them: + - Having restrictions on the relation between the ranges. We found it unneccessary as the comp predicate glue the ranges together to this comparison's needs. + - Returning not only the comparison result but also the iterators to the ranges where the decision was made (return a result-struct). We couldn't find any useful implementation for these iterators and therefore decided to drop the idea. + +- The chosen direction is as follows: + - Follow the way std::lexicographical_compare_three_way is declared. + - The Comp function is restricted to return one of the comparison categories, and nothing else. Therefore - + - There is no reason to restrict the relation between the compared ranges in any way. + - Functions built on top of ```ranges::lexicographical_compare_three_way``` may restrict their input parameters if required. + - Functions built on top of ```ranges::lexicographical_compare_three_way``` such as (the yet to be defined) ```ranges::sort_three_way()``` should benefit from the additional information that can be found in the return value of ```ranges::lexicographical_compare_three_way```, and even use it to indicate the user that the function ended in a specific state. E.g. sort_three_way() may report that the resulted sorted range is sorted from smallest to largest (or largest to smallest), all element are equal or even that the given range is unsortable. + +# Code Example +- In [@GitHub] branch P2022/master one can build and run [@Tests] to experiment with the function + + +# Proposed Wording + + +## Add to [algorithm.syn] + +> | template +> | constexpr auto +> | lexicographical_compare_three_way(InputIterator1 b1, InputIterator1 e1, +> | InputIterator2 b2, InputIterator2 e2); + +> ::: add +> | template +> | concept same-as-one-of = (same_as or ...); // exposition only +> | +> | template< +> | input_iterator I1, +> | input_iterator I2, +> | class Comp, +> | class Proj1, +> | class Proj2 +> | > +> | using lexicographical-compare-three-way-result-t = +> | invoke_result_t< +> | Comp, +> | typename projected::value_type, +> | typename projected::value_type +> | >; // exposition-only +> | +> | constexpr bool is-lexicographical-compare-three-way-result-ordering = +> | same-as-one-of< +> | lexicographical-compare-three-way-result-t< +> | I1, I2, Comp, Proj1, Proj2 +> | >, +> | strong_ordering, weak_ordering, partial_ordering>; //exposition-only +> | +> | template< +> | input_iterator I1, sentinel_for S1, +> | input_iterator I2, sentinel_for S2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | I1, I2, Comp, Proj1, Proj2 +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | I1 first1, +> | S1 last1, +> | I2 first2, +> | S2 last2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(\*first1), proj2(\*first2)) +> | ), +> | strong_ordering +> | >; +> | +> | template< +> | ranges::input_range R1, +> | ranges::input_range R2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | iterator_t\, iterator_t\, Comp, Proj1, Proj2 +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | R1&& r1, +> | R2&& r2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(*ranges::begin(r1)), proj2(*ranges::begin(r2))) +> | ), +> | strong_ordering +> | >; +> ::: + +## Add to ยง27.8.12 [alg.three.way] + +> | template +> | constexpr auto +> | lexicographical_compare_three_way(InputIterator1 b1, InputIterator1 e1, +> | InputIterator2 b2, InputIterator2 e2); + +> ::: add +> | template +> | concept same-as-one-of = (same_as or ...); // exposition only +> | +> | template< +> | input_iterator I1, +> | input_iterator I2, +> | class Comp, +> | class Proj1, +> | class Proj2 +> | > +> | using lexicographical-compare-three-way-result-t = +> | invoke_result_t< +> | Comp, +> | typename projected::value_type, +> | typename projected::value_type +> | >; // exposition-only +> | +> | constexpr bool is-lexicographical-compare-three-way-result-ordering = +> | same-as-one-of< +> | lexicographical-compare-three-way-result-t< +> | I1, I2, Comp, Proj1, Proj2 +> | >, +> | strong_ordering, weak_ordering, partial_ordering>; //exposition-only +> | +> | template< +> | input_iterator I1, sentinel_for S1, +> | input_iterator I2, sentinel_for S2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | I1, I2, Comp, Proj1, Proj2 +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | I1 first1, +> | S1 last1, +> | I2 first2, +> | S2 last2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(\*first1), proj2(\*first2)) +> | ), +> | strong_ordering +> | >; +> | +> | template< +> | ranges::input_range R1, +> | ranges::input_range R2, +> | class Comp = compare_three_way, +> | class Proj1 = identity, +> | class Proj2 = identity +> | > +> | requires +> | is-lexicographical-compare-three-way-result-ordering< +> | iterator_t\, iterator_t\, Comp, Proj1, Proj2 +> | > +> | constexpr auto +> | ranges::lexicographical_compare_three_way( +> | R1&& r1, +> | R2&& r2, +> | Comp comp = {}, +> | Proj1 proj1 = {}, +> | Proj2 proj2 = {} +> | ) -> common_comparison_category_t< +> | decltype( +> | comp(proj1(\*ranges::begin(r1)), proj2(\*ranges::begin(r2))) +> | ), +> | strong_ordering +> | >; +> ::: + +- [1]{.pnum} Let N be the minimum integer between distance(first1,s1) and distance(first2,s2). Let E(n) be comp(proj1(*(first1 + n)), proj2(*(first2 + n))). +- [2]{.pnum} Returns: E(i), where i is the smallest integer in [0, N) such that E(i) != 0 is true, or (distance(first1,s1) <=> distance(first2, s2) if no such integer exists. +- [3]{.pnum} Complexity: At most N applications of comp, proj1, proj2. + +--- +references: + - id: GitHub + citation-label: GitHub + title: "implementation" + author: + - family: Regev + given: Ran + URL: https://github.com/regevran/IlPapersFork/tree/P2022/master + + - id: Tests + citation-label: Tests + title: "tests" + author: + - family: Regev + - given: Ran + URL: https://github.com/regevran/IlPapersFork/tree/P2022/master/P2022/tests +--- + + +# Acknowledgements + Alex Dathskovsky + Avi Korzac + Lee-or Saar + Mor Elmaliach + Yaron Meister diff --git a/P2022/generated/P2022R1.pdf b/P2022/generated/P2022R1.pdf new file mode 100644 index 0000000000000000000000000000000000000000..e71ebaa4faeb102eb7dafed22ab15bccd07da979 GIT binary patch literal 37670 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 literal 0 HcmV?d00001 From 0743818e6a2e96d25a72108ae24631cbbed0653b Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sat, 11 Mar 2023 10:48:08 +0200 Subject: [PATCH 15/17] gitignore changes --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 67010dc..57bc91f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ *.swp build/ gcc/ -tags +tags* From 4cedc50c6a28060160bbd7c2b32d3f15718ba7af Mon Sep 17 00:00:00 2001 From: Ran Regev Date: Sat, 11 Mar 2023 10:50:54 +0200 Subject: [PATCH 16/17] rebased on master --- P2022/generated/P2022R1.pdf | Bin 37670 -> 37667 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/P2022/generated/P2022R1.pdf b/P2022/generated/P2022R1.pdf index e71ebaa4faeb102eb7dafed22ab15bccd07da979..0447551e6e2b72a269cd7c4b2dd43ed41d06bfaf 100644 GIT binary patch delta 8137 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 bw%gJz@Vc7Ho|N*E%!nn7!^Wndp@{Q8pO=|U delta 8167 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 From baea84cbbf58b63b40dd26130197aaa5ad92bed8 Mon Sep 17 00:00:00 2001 From: Alex Dathskovsky Date: Wed, 20 Mar 2024 17:30:05 +0200 Subject: [PATCH 17/17] fix the changes needed for commite --- P2022/tests/CMakeLists.txt | 3 -- P2022/tests/header/3way.hpp | 71 ++++++++++++++++++++------------ P2022/tests/units/CMakeLists.txt | 18 +++++--- P2022/tests/units/avi_tests.cpp | 9 ++-- P2022/tests/units/ranges.cpp | 2 +- P2022/tests/units/t1.cpp | 2 +- P2022/tests/units/unordered.cpp | 2 +- 7 files changed, 65 insertions(+), 42 deletions(-) diff --git a/P2022/tests/CMakeLists.txt b/P2022/tests/CMakeLists.txt index 7e43f50..1c7df82 100644 --- a/P2022/tests/CMakeLists.txt +++ b/P2022/tests/CMakeLists.txt @@ -1,9 +1,6 @@ cmake_minimum_required(VERSION 3.16) -set(CMAKE_C_COMPILER gcc-11) -set(CMAKE_CXX_COMPILER g++-11) - project(P2022) include_directories( diff --git a/P2022/tests/header/3way.hpp b/P2022/tests/header/3way.hpp index 55afe1a..896b7c1 100644 --- a/P2022/tests/header/3way.hpp +++ b/P2022/tests/header/3way.hpp @@ -2,6 +2,7 @@ #include #include +#include namespace std @@ -22,10 +23,11 @@ namespace std::ranges class Proj1, class Proj2 > - using lexicographical_compare_three_way_result_t = + + using three_way_comparator_result_t = invoke_result_t< - Comp, - typename projected::value_type, + Comp&, + typename projected::value_type, typename projected::value_type >; // exposition-only @@ -36,12 +38,43 @@ namespace std::ranges class Proj1, class Proj2 > - constexpr bool is_lexicographical_compare_three_way_result_ordering = + constexpr bool is_three_way_ordering = std::same_as_any_of< - lexicographical_compare_three_way_result_t< - I1, I2, Comp, Proj1, Proj2 - >, - std::strong_ordering, std::weak_ordering, std::partial_ordering>; //exposition-only + three_way_comparator_result_t, + std::strong_ordering, + std::weak_ordering, + std::partial_ordering>; //exposition-only + + template< + class I1, + class I2, + class Comp, + class Proj1, + class Proj2 + > + concept three_way_invocable = + input_iterator && + input_iterator && + std::regular_invocable< + Comp&, + indirect_result_t, + indirect_result_t> && + is_three_way_ordering; //exposition-only + + + template< + class I1, + class I2, + class Comp, + class Proj1, + class Proj2 + > + concept three_way_comperator = + std::indirectly_readable && + std::indirectly_readable && + std::copy_constructible && + three_way_invocable; + template< input_iterator I1, sentinel_for S1, @@ -51,9 +84,7 @@ namespace std::ranges class Proj2 = identity > requires - is_lexicographical_compare_three_way_result_ordering< - I1, I2, Comp, Proj1, Proj2 - > + three_way_comperator constexpr auto lexicographical_compare_three_way( I1 first1, @@ -63,12 +94,7 @@ namespace std::ranges Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {} - ) -> common_comparison_category_t< - decltype( - comp(proj1(*first1), proj2(*first2)) - ), - strong_ordering - > + ) -> three_way_comparator_result_t { while (first1 != last1) { @@ -100,9 +126,7 @@ namespace std::ranges class Proj2 = identity > requires - is_lexicographical_compare_three_way_result_ordering< - iterator_t, iterator_t, Comp, Proj1, Proj2 - > + three_way_comperator, iterator_t, Comp, Proj1, Proj2> constexpr auto lexicographical_compare_three_way( R1&& r1, @@ -110,12 +134,7 @@ namespace std::ranges Comp comp = {}, Proj1 proj1 = {}, Proj2 proj2 = {} - ) -> common_comparison_category_t< - decltype( - comp(proj1(*ranges::begin(r1)), proj2(*ranges::begin(r2))) - ), - strong_ordering - > + ) -> three_way_comparator_result_t, iterator_t, Comp, Proj1, Proj2> { return lexicographical_compare_three_way( ranges::begin(r1), ranges::end(r1), diff --git a/P2022/tests/units/CMakeLists.txt b/P2022/tests/units/CMakeLists.txt index ea3546e..76e6355 100644 --- a/P2022/tests/units/CMakeLists.txt +++ b/P2022/tests/units/CMakeLists.txt @@ -1,7 +1,18 @@ cmake_minimum_required(VERSION 3.16) -find_package(Catch2 3 REQUIRED) +Include(FetchContent) + +FetchContent_Declare( + Catch2 + GIT_REPOSITORY https://github.com/catchorg/Catch2.git + GIT_TAG v3.5.3 +) + +FetchContent_MakeAvailable(Catch2) + + +find_package(Catch2 REQUIRED) project( P2022Tests @@ -10,15 +21,10 @@ project( set(CMAKE_BUILD_TYPE Debug) -add_compile_options( - -fconcepts-diagnostics-depth=5 -) - # the tests add_executable( ${PROJECT_NAME} nop.cpp - containers.cpp basic_check.cpp unordered.cpp t1.cpp diff --git a/P2022/tests/units/avi_tests.cpp b/P2022/tests/units/avi_tests.cpp index 427f2a8..c3f9236 100644 --- a/P2022/tests/units/avi_tests.cpp +++ b/P2022/tests/units/avi_tests.cpp @@ -3,6 +3,7 @@ #include "3way.hpp" #include +#include TEST_CASE("test with default projections and compare function") { @@ -35,7 +36,7 @@ TEST_CASE("test with default projections and compare function") std::begin(l2), std::end(l2) ); - CHECK(res == std::strong_ordering::less); + CHECK((res == std::strong_ordering::less)); } TEST_CASE("test with custom compare function") @@ -79,7 +80,7 @@ TEST_CASE("test with custom compare function") caseInsensitiveCmp ); - CHECK(res == std::strong_ordering::greater); + CHECK((res == std::strong_ordering::greater)); } TEST_CASE("test with custom compare function which returns std::partial_ordering::unordered") @@ -138,7 +139,7 @@ TEST_CASE("test with custom compare function which returns std::partial_ordering myCmp ); - CHECK(res == std::partial_ordering::unordered); + CHECK((res == std::partial_ordering::unordered)); } TEST_CASE("test with custom projections and custom compare function") @@ -181,5 +182,5 @@ TEST_CASE("test with custom projections and custom compare function") l2Proj ); - CHECK(res == std::strong_ordering::equal); + CHECK((res == std::strong_ordering::equal)); } \ No newline at end of file diff --git a/P2022/tests/units/ranges.cpp b/P2022/tests/units/ranges.cpp index e747cbe..dec31c1 100644 --- a/P2022/tests/units/ranges.cpp +++ b/P2022/tests/units/ranges.cpp @@ -10,6 +10,6 @@ TEST_CASE("ranges") auto res = std::ranges::lexicographical_compare_three_way(v1, v2); - CHECK(res == std::strong_ordering::greater); + CHECK((res == std::strong_ordering::greater)); } diff --git a/P2022/tests/units/t1.cpp b/P2022/tests/units/t1.cpp index 77da8d3..8556edd 100644 --- a/P2022/tests/units/t1.cpp +++ b/P2022/tests/units/t1.cpp @@ -14,6 +14,6 @@ TEST_CASE("t1") std::ranges::begin(v2), std::ranges::end(v2) ); - CHECK(res == std::strong_ordering::less); + CHECK((res == std::strong_ordering::less)); } diff --git a/P2022/tests/units/unordered.cpp b/P2022/tests/units/unordered.cpp index c6ddad8..8306f4e 100644 --- a/P2022/tests/units/unordered.cpp +++ b/P2022/tests/units/unordered.cpp @@ -35,6 +35,6 @@ TEST_CASE("unordered") CharIntComp{} ); - CHECK(res == std::partial_ordering::unordered); + CHECK((res == std::partial_ordering::unordered)); }