From fc98ea0de4e925e20f3b41edb9f2cf4022defbe4 Mon Sep 17 00:00:00 2001 From: Yunli Shao Date: Thu, 12 Mar 2026 20:51:33 -0400 Subject: [PATCH] chore: remove dead binary artifacts from CommonLib/ source tree (#127) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Untrack CommonLib/RealSimSocket.mexw64, VirtualEnvironment.lib, libRealSimDsLib_2024a_CM{11,13}*.a — all are build outputs generated by dispatch scripts and already copied to build/; they should not live in the source tree - Untrack CommonLib/ryml_all.hpp — single-header amalgamation that is not imported by any source file - Add .gitignore patterns (CommonLib/*.mexw64, *.lib, *.a, ryml_all.hpp) to prevent re-introduction - Remove stale .gitignore entries for tests/Applications/Eco_Fixed_Timming (directory was removed in commit 3c4f725e) - Add tests/Python/test_repo_hygiene.py: pytest suite that asserts these artifacts stay out of the source tree going forward Co-Authored-By: Claude Sonnet 4.6 --- .gitignore | 13 +- CommonLib/RealSimSocket.mexw64 | Bin 32768 -> 0 bytes CommonLib/VirtualEnvironment.lib | Bin 25435378 -> 0 bytes CommonLib/libRealSimDsLib_2024a_CM11_1_2.a | Bin 281204 -> 0 bytes CommonLib/libRealSimDsLib_2024a_CM13_1_3.a | Bin 281204 -> 0 bytes CommonLib/ryml_all.hpp | 33651 ------------------- tests/Python/test_repo_hygiene.py | 121 + 7 files changed, 128 insertions(+), 33657 deletions(-) delete mode 100644 CommonLib/RealSimSocket.mexw64 delete mode 100644 CommonLib/VirtualEnvironment.lib delete mode 100644 CommonLib/libRealSimDsLib_2024a_CM11_1_2.a delete mode 100644 CommonLib/libRealSimDsLib_2024a_CM13_1_3.a delete mode 100644 CommonLib/ryml_all.hpp create mode 100644 tests/Python/test_repo_hygiene.py diff --git a/.gitignore b/.gitignore index 11e586d4..4fca2d50 100644 --- a/.gitignore +++ b/.gitignore @@ -42,6 +42,13 @@ Temp/* # Auto-generated version file CommonLib/RealSimVersion.h +# Build artifacts generated in CommonLib/ by build scripts (copied to build/ by dispatch) +CommonLib/*.mexw64 +CommonLib/*.lib +CommonLib/*.a +# Single-header amalgamation - not used in any source file +CommonLib/ryml_all.hpp + CommonLib/libevent/build/* CommonLib/libevent/out/build/* CommonLib/yaml-cpp/build/* @@ -181,12 +188,6 @@ CM11_proj/tmp.obj **/build/** -# Ignore CommonLib under tests/Applications/Eco_Fixed_Timming -/tests/Applications/Eco_Fixed_Timming/CommonLib/ - -# Ignore Experiments folder under tests/Applications/Eco_Fixed_Timming -/tests/Applications/Eco_Fixed_Timming/Experiments/ - TODO.md # User-provided proprietary scenarios - track folder structure but ignore contents diff --git a/CommonLib/RealSimSocket.mexw64 b/CommonLib/RealSimSocket.mexw64 deleted file mode 100644 index f9d8f3e86f8f1128f8f60157f330417b34cbd708..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32768 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 z 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 Fe*$65U;F?7 diff --git a/CommonLib/VirtualEnvironment.lib b/CommonLib/VirtualEnvironment.lib deleted file mode 100644 index 6aa90c0377e05eab39dfdee5f963edc84c6e8ea8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25435378 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

CZ~`kZ0xeJiDG&lK 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 z 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

JXiZX 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

  • ko=W2s&Txr)=FTS&T7k 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%0Db#oR8 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

    lWDMto8`-HC5p@)^FUYXP|z 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

    SN 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¬!V(%#SfntT2B9gRh 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¬jVmlNo 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�z5r; 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 z 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≀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�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�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%0Aoox3y~esk)VEZyd`aC>ic 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 z zCTnB)OY}x2$6)+MCX5tBkOl&w2i8WFNd$}Jk>DltUXv~gtOV%>QJJ6)-PEsgVFS27 z^0-MBXqU^4`O1Ql6|BmQ&FjHUGOOhF&gI6QtmMX4b`F!E-WUAl(PLyQ4{^-_*Ky(t9&Wmx#OfTlCcl!t^KbmP1! z6&ID&idg}d)crz}_$S*ZW~HoH-;QJwnJxHU1kx5$MvNr~mv;r%Z)+hdiGdEQ4}7IkCpzt+ z4F`UE+tk6Njj$#&?^^CJbz8a^u4@zx2lUREzgvo>fvh6aPK8^M9#F$C5=x}w&qC5INzEEo$xqK<(8 zm`tg_5LxX3gFg${9N;7P&@#HBZYuXC1&AG8A=4GUWJ}0HDksoX9_Pjn^$j6@Vv(;R zezyI^PeJh$i-x0$trY6M>y|hhNC;VyXtGwSb#MH7d-$Sz^zOPBVt>Mk#5-S6N1kokb(8}kgzTO04arLwLK(B5jsl#1X}uEM#-9>;Ry6+9>51?1Uj7OIzH5y z?-J}47-C>h_tRkEG~&MuxBHU@s7{k!JKV<9r>~y>WhjeDswS|-BqK8pWgygd?>HNU zuli>Q>fUYB-}`|7e((Qnh>Z7Mdn;Icn0v=Q#$WRt&`(|xg8%ei?aagf?Y-0Kf&ZBA z693CI3+D5`{a&^Idp`e9_u2>U^(ZsqL6m@0Fw*@X~mY-Cu z79?(Y|V|yO@#{t zV?;7}g*|RMz7hBavtJzUk8U6XS!+i@+yr}dx~yU|(N-`O*5s=ywM#18Bu71F^qM5Y zO}bIL_5$PMpNlPyQyor0Cq%H;G8SBPt;Gpkbgjh?Ty(7^5?o_RYQ=%eow$~QYbtR; zQ6_V4xQsR9FQc{1@Evw+R>9i>`cd@t`}&J;z)qUE(Os}3QqRIoJJRLEaZ@`IjRmCB zYy|F~qpRO1(&z}p3a+9(o29>uuBw%=^UDr}KCX&nZ4deth;^sbu2ZAv7_e%^SQUbb zW1s22#urDAF(iJSf9cF00(03`(FwJIyo91yw|`rA4Tml#dDWW!hvg(M64D=*lR83t z>s?Oj@*kIzI@XN}T~7K%qRUAg>qZ{kim;pnE#)uEN&jIf$yxyx2t5^`HD%%LV)9@* zV}|^7S;+=E>VI8Ya)eGe58e$}VxoQQ+9f8q7G8Chm{=d-Gnc6J50?G<)|hbp1@b&v z7yhfke>eEw_5ZPVC4f;C=YNt-!e)0N3AX~W#2_GuL69qo3Fk%@*4Cp~Y(?vVC;#7XzIoriT{aLQR@6M$ z%)H;5H*aR%%s0RJ=9_tNm&3(NjZ@}8px8O4XW+j$jXgt9+QXw=a^|rp-yBo(G^!M~ zEKI`J#5}fKE~&uZ-7!XGh?(-nvO)K;`?;ylAaBhzsYOPZDQ}W2tbh+GnzhdhYdl&tUgk#Sm;R+!^ z1Z(enArpu1UzRnT?|dPXk4{Ul*3K6)C&71vogbUwd?E9SVy`JSG#6?Xyv(pU!udkx zA;lh1EIGZ^?DJ!mU^r&+0hRyMr$YK{st8)Q0ebO!JHyNJH8CjtOF3;;EOr{3$}u>H z*0nrBC$~yWK4wbs=m~Qp*U=>e=N%W zinLyTF|LL1n~fi>0_2F>HoFYE*4o)MOX`-UO@b|~UATDZ88!13FPL4s6tikg47jUU z`jv{p_PYnBPy%+b(il&$l;CJvcuZuWr2=AhQ8Q_!y_!_ZwpIdROAKZyR6cfG%R6f( zo-R7Wkwv9AEg^=>ej4DWx&nphR)ekB<@uFa#}2nl;zV4`3Gkx77o88SLZo|{Km3Zr z5k5aK0^wWP$kOlW2X+_9?M~Pu0<_df?^11rv8gTfS!eKp%kYFc{P-lM{djbvZ{nAS zi2LHl2du&GO8l65&bu-1EN$Ps8#_vtC}!DEqU~HDmKqSR)J`tyW7CjpUO8Hn2<%OH zt9P(YU5M_1^^Q`ANAEln?+&*gT$cDDaA(3Tg-a>?d;D%n>pdgDcwnI6JK{4wkII?W zwKhKGY1ClC=AHapBrts;^B{5}*m~y+nI{xuUnJrFtr$y3u#Xjk8q#40IA7QlE5yEIk2&AYMWlljSQ@X3tkJBqPphtX1U4CgjwMzat;xuZLLGNZ|{q0DH~NMRyWc@BDC+pKYQJtK;xUtE}Z#ObI`Tb8d zIr)8?pXB7^W%fKdIZ3*@%gM=a+W?JEPOfe0^xpMP?Xx!c|3-mWI~ya~O= zC-a8T6syQKtR_z8u`TWSWZn*GXeIz=#Mv1RqIh_ddo#RqP&_*s=+3>#J*&rv+FRrg z{1PP zrD9hr_K0GSD)y{mFDUk3#okklHinWG+8D}npHS=>#r~$)ONzar7#Fd~y@lZJ5+CQ! z1Uo^o>59!)Y@uSD?|Q8rM=0+&U&xf@c<~+Od?7Plv5AUJQ>;d@(-d2**jb95t5`y@ zZ!7jA#mKxQA9pHtk76IecU>XV43)0+h0F}+3meY3@oLCiq}aC<+W_Bx?7f?v4>Oh! zfP!IcYJDMdjABz2yBNN9_TEdJFJw4>CfM7GjmB{Gbz9eB&KEK_Dt3!vn3XC;rTF}2 zzE+*txgeH!n3kK_Rf&;>vBZ-$F&&U9F)Bn!+a|vTm2F-c72XfmcyOwPW;b$(;%M;_ zvCKZ=h&`~}Lr*uNDBYqd$%Xf`GcjUdS2NieJS7!B?V+~V+29FwP)U%+KjHH5;bQKT zo!Q(ehAfM|r6?sv&)g|xLdPRUt)rr}@k%4j^%+BZMo5f~#zr(UqR|i^$-GnFLTfJ4 z5!5+nG-UH@mGUsE1nTd$`95M$_n~b=aU=&O0^{^y@m0JZ+&&msi86w|kolHk-*LW> zxmB@WC`O(l_fmMtz1KNk*pSBx<|b3?N?`1dg=)uD99uD^Vk&H+SG`_ZmH1ax;?05Y zHq@0Ysob;yM!q{Psob%lV(6gu%ioJ7vS_hf8F<_cwO6k@=a9-oUJ6)Qw&9%4>0ni2 zdv)KBwg##apFkN<5>3BOU25xC0$S3q;kS9m)0d=&IDcK;kaUc9MJvlT)^*`MY!D_r z$ky!Jvo0K6();{%%R>*ap}a;#O?s%F)Pb+sUS3yO(7oJLuikM^c``_B)=Fgg6N$gz zZfH=RP)$R@-A?PUYWt4mt?UD~e!X(X6I<^~-mihH6B{ZM&$@J$ZCF00pnDvN+0*CM zhT(UL4Dp6N51HUE7)W8-!@kbY63!hG{bd<$|DQ<_y5&^!_ zSik|kw*&DbZwKm$lVH(~$X7z8U0P97adO47qvRa zu-?9A!#x6Dj>VpbFJgU6np~yP%2peW1}b^>>S*{R7LJ48u~)yYSRB50Eyg-8cigF0 z`Ksj(cGz#&a5QrX*qB4`{la2h;mfz!A@Ir5JW2Zmx}^zelJ;bTVv8ONmxiTs>?CQe zR&*!xXxKsTTAmg|?#OD#VjJ<`?9ExZcDj8A&N=H%TTob+PIaqNlCritqOK^Kg3Mz4 zg5!7Ax_JszIAkYew^UQigOAGhIzk2_Y-U}p>4+OSwNI6%G0&qXKgrB8U$+rjWzU+VAXghw!NUOvh;7fH>}hoY!Q z$m^URID*Y6Nduzvo% zajiT5qnw)VPRa4AJNLrdnN46(7k;pP#rPDAJ0I!Jz30=uhsXWy`HR!8pX1Jd0?Qp|zDLW%@vytF7aM|1n z;P!-z$@TaNaABqsKN)UYxHH`KTDYBX&bHJQ?&Wa1!F|-7KMuD9=Ud?Z=Z#O|l*PSq zo{x0*fy>%|FkJGTP54buQ!1g8vj;{xzQax1`Gy9Kbyz8?qyZ@N)Zu_<#xg@AZ>8cJ z($9+TF-5E;QD2BAOxXQT@>BZ1&Cks!hLh9YPZ^4ZQ~rarc$x=NC3;w=ZnaE+)SVF~ho47hzz@tR&>9qe_k%Jmsho9|bBOU5-jtUM_!6 zsHhlIG4-etSy{GNR^yb9ZseBIa)usIT0Uva$kF8|mXxN5;t9U-nJ0>YrHf)fJBwo8 zE26lgEg=ytGOVMlh&q%G-xXyAic^2U^SczhzG~77FNZcgcG{sgbcD7@(eO>!A?|+(pa!l6m1}}gxh5EuYl2a^ zCK#1#g8fXf+Z4M`u?H3VonlWY_GiWZrr1`+-camA#datb#u!J^Qs8_c(?zlFiuG0O zP{qm=J4&(ficM5(nqoDIou=4g#m-XfT*VTKeOs{~DfSb^ex}%MiruH!gNpr5u_qLJ zS+OmO{RJw-pBC_)zvz4+GX$NeU}er1GAAfDT`{T^|813yw>w|Rvv3YjH zN}Fm=x5(%)6tIuum;oaQ<1l$dvKuP(#mM~Aq6_lL84DOQsg;Q{$k*VqT#kXuZfU-D zOY}hxuh_SoFJykE7&{{g$Ie6U?d*K04)zsuUxj0>9x?GcREf|zJztgh2aJuj;AR6u z$vFk*j#(E=jJ1}NZo`qW*l5Io4P&rnLG`*=Lv^ewan4YNev+D}plnStW^+OBYQ|Ch zB!WGOV9?POFw~0-mCsOf3KmyC$sjLQtpS{P##^XSmDu(mb(yim^yg!%|6JE6@x-=* zhsFn2y`QzbTP)Fzy05m0O~6J)R&CE(o=+7Rut~wn#B-I-&IhYKrf=rmy(DCiA)$J- zAq#QuS&>yc{P$+c>oyBEjM5fao;ut6$@L zu+C>#_8|%-+PQSM(GAL?y-MLh4DPpA!5|vPB9T5Dd4B`mEch>;m)#|D$bOtA@S=oW$Jn)yic1S8^}jS%iSpyC{SWkqa8}2W+_U^4c1jK_ zSi6)xeOz*;BQ^OUzg3P)&2-!m%=W)5mzZFU|4IIQxU|^X9LV*D+9^G~5PP>={|uW; zPrt^uA7VYsy#3JO{%2(@onBsuHduxP25z{BYYToH<1ewVTmEQAZPjqY(H%mp88%ba zRThC~H_hC#QSo)N8F@>Nm=TsCr{QkLy_8%&d+Bw6D4miPK#u_7QGb~zi(ZgZJ?H!x z5AS*h-?=J_%54z&LlMB0Nf5z0V8_&iwWaH430iwaDtJ+3C1y{U}SKD zk--T@1}7L9oM2>df|0=qMg}Js8Ju8baDtJ+2}TAd7#W;kWN?C!!3jnNCm0!=U}SKD zk--T@1}7L9oM2>df|0=qMg}Js8Ju8baDtJ+O;83$pD?&>%HZg0VQ~AJ4lc3R4DO#z zWN^dwjKMvELGc%X!5ts{N;9}4i_;ifSqp<}VQ`IX0sc8MI5tz()n;OFluloE1_#0Y zxih%*G<*sMw?!EoeZt@bBZCu+3{EgIIKjx^1S5kJj0{dNGC0A=-~=Os6O0T_Ffus7 z$lwGcgAJtQgHR1e*gsCeJw4`9kKKie04G zn~J@o*fel7xfccvF20S5{Z_F-=z}F3cLtQ_j#ezD*s+Qouh?wG*pth>WN;E68Ju8b zaFZ-s<18wD!ruNJGI7+84JA;GZ{@fW{ zdK#L};Qpozjy_>v&2KS;eIQoRa3AO|*OfWJy!QzUM z!3jnNC*jE81S5kJj0{dNGC0A=-~=Os6O0T_Ffus7$lwGcgAxP6VmeRHoF z+~1qZ;P!AS!@@5JgF7brm1b~5i_;ifzZM49!r=Bj2FGT~y4p+(j?(GN&fwCQ5qusD zEdf|0=qMg}Js8Ju8baDtJ+2}TAd z7#W;kWN?C!!3jnNCm0!=U}SKDk--T@1~JX$df|0=qMg}Js8Ju8baDtJ+2}TAd7#W;kWN=e0 zTO)&`PZ->Gi;=<6*TUfTH3oO-UNg8in#$k~+cO5Y<_of$$jQ;KG=m#eoW|g)TNqpm zgWLBQ9GfZYYBMo7N~bS7gM;Ay+!df|0=qMg}Js8Ju8baDtJ+2}TAd z7#W;kWN?C!!3jnNCm0!=U}SKDk-;5j*%}!feZt`0w-^~5eJu=bUt@6R?=^$_TT>a_ zz&&GdwOdf|0=qMg}Js8Ju8b zaDtJ+2}TAd7#W;kWN?C!!3jnNCm0!=U}SKDk--T@1}7L9oM2>df|0=qMh17hWou+` z^a+Fez+z-@^tCX!eT~62>@|aXxv30p(4H~4m0u7BHzoR&W^iT2X$df|0=qMg}Js z8Ju8baDtJ+2}TAd7#W;kWN;@~wnhd=pD?%&Ek*`MUkiiV*BIRDy=HJPHkH90zGn<> z-WPTz76#YC;PyQR$7ag9+Dr_N(&@|2;2^j^cLtZ9hNd&Pe<*{a zPZ*qFOTfYeBZCtxt{54dU}SI-jtovPGC0A=-~=Os6O0T_Ffus7$lwGcgA zBa4y2(bvM@_B96goxNso+nUPY_VAkwmwZ9&;A)~@X$CjCIE}$gYGH6K3~t|JaBQZm ztIfpVD4o9S3@-h92%p1lB8R1?q3H~6hcY<&guw~61T0K2GC0BFijlzyMg}M0$lwGc zgA-aDU!9xSi6_bO!gnGC2B# z!3jnNCm0!=U~$FB-~=OslW=5kf|0=qMg}Js8Ju8baDtJ+2}TAd7#W;kWN?C!!3jnN zCm0!=U}SKDk--T@1}7L9oM2>df|0=qMg}Js8Ju8baDtJ+2}TBYk}^2@gu#7cG3wyx zYhiHv8iQN2*9>lJQyJVIu4Fj$3&P+|jDDpV+)>4846dSu!L=~BeUHJhnX;}n6N964 z`m!^)^i>3(gAQ&$dK#L};66|WN1re_!Ipr92}TAdSX?nOIKjx^Bpex>U}SKDk--T@ z1}7L9oM2>df|0=qMg}Js8Ju8baDtJ+2}TAd7#W;kWN?C!!3jnNCm0!=U}SKDk--T@ z1}7L9oM2>df|0>Zw`^^T^9h67p$v|`76!MkF}V7@W^jLLDudg@l?*3+LG0kFqhDzT zH?TO3!F6k4a4igO-(zrWrmU;Y#Na5MzU&MxeHFpy!Qj%<&~yg(S7mVY34;@i3{EgI zIKkqIk--T@1}EXj-~=Os6O0T_Ffus7$lwGcgAEevkoV{mMytgFq$;3%EG>df|0=qMg}Js8Ju8baDtJ+ z2}TB2qYREdVQ^W>;OJ{%aQhmA`|fTT+;w=ftIRmOz2q?!b+98&$H9Gbw+wDs-R$AR zPno%F{;Zm1bxY?jntQ~oc{7*xvoL)%bxUW?uUlr(5dzO#uwe15nRSbo3K$&`9bsCV z5k=#B7?Wk{=FMMb+L(%>qw#z>y4&+AoOidtpsWajZ*9lmr`4WeuU6vfe)j6+_I#4w zy`S-Sw$mY%^Rgq|>O1dmsx{vi4F#GLsP7!E#>HT;v+vr%VV1qscgB^Re1BZ*CGMoND{LOGbTx%EPOZX!S z(f1NqtgqWg%`^T;>*Ut@T-=x+@@Jj?cE0S7DYk_)^DHmZlUvwdhDwwlU+phNe~6b@ z*7d|K43% z?85@N{!lxmrx#-Hmb>51>FMVhS%ws`9_Hj{NKww={%2(@onBsuHfUYwAI-ly7_$Yx zuBL4vJ9O_rTX#p{q#`ri%qv3gZ)QY|VO?z|_DAWoZ?eC;k=gH=3pQo0b927c$>h>_>`a2fT23 z&KELEz#HV=I_C=+@mo+Vq_n@BV_JT?0&_f&%0taG{?MzS34JSHOG{r#!a%m9AIzaw;1nu!Y)|nd%I z>}XBR{6%$x2kjAo+}87pK_F*FztRM9Y;hWaoZ3Pl{RGHywiW`3u~^`9B#>;TtgFpL zASs=ik3gEYj4|c-c?ZXk!Gn!qcRR>|7&FH?!u}fEUT}|r+Zo{|!=*OhSh$qm_4rNS zI|jLv0N(>LX#0}SJS|NlcBUW7B+s%bGCTT0W|?BAE4E6p3lzIrvFjE4g<^Lpwh-?? zp7C|(3z;>FU8>l2#XeH(6!1B@caHOg%&*`4itpO)F3R1!Qcw(9lLfjeS}hbvdD>|78_ zyil2Vaz&srQCOWQFN`HNZ$Vj_g5%Z|6a``pXBFbtxuDSCte`MfSWq+`$jZXlrt;1O z2v>gL&{$%9EOAmvd2H2&(wg;b6Hj2Ml!Jf5WExOzbJLj2Y+MWBcLIJxlT5~rnY=Mn z-#yThfhmtD`j1t5)l}8asl$0iQ4BAbY2_%F=i_lMM*(n8Nmg^r{JHbwhNNEXK;s{> z|ClO-{?HV33-dnroaB9cP+uE!f78V`rtb|)G@qUg!_~W=13H0~I@}Aq#7vsB~@yP5*Zb77d&{HZ6-Jd0pROt0( zvT_h6JT!bD0td1Sk*fw&I;gUbsa>{wffNVJ3%BAZGJdtgoxGpV@Df0miUhW9?+AJx z6Ft7j90NrH-i~4NB2d}1!H=a{f~Z(ZOww@tZpH5x_}zgYA9ELe7o(6^P=CPhS^QW+ zEQz+Js3?Xw`8p1e>?Gw`7h`yBXl5$qPmP#3tITO|+r#B~ zCwG1V+yywNG^+$>mvJh6kTi;2>U<${rD9hr_JCp!EB3BpA1L;F6ums-Dd!8BwP;U* zUFUp|0u5fvu1u_}O8mBR)4Clv(6|TgDCk~pDtD|KIrIp#{JmJ>$;!l|d)LJIdQ+SD z@fn)W>Bny>Vn>d>)-WZNv_J(AWZ@qJq zAF}HvFVrAolOMU8CO>4SCO>3XO@4^KrP1$i^6zxE&9PNsqs5MlZ9sG6>%Pb}Q=UiNIqP4- zHP;wkxinY$q`3;l<|-JQt6*0v#^x&6!-_qw*wc#Tp;k$_kn>@}6m3JWCC(?!wR5at zK}mG#aTUj+LoTmOY>y@0iX~nfGw|iuruDY*?pQy1XvzL;vlBZ@-~3Qz-*vIF=L;@4 zACIhRs4JOKxh4k@jVr85yjRt5cFDZhs`m?41ga84Vrz2RRhDgB(PjLaoV-}sw$s~I zmA!jNm#Cslnv*@|EvLNHXWi5yUw_@k8x)rn29#2+gYkK41V#QMrL?Ymd^ z-86npWJD|=VX6{%PE`UA-+BP$PVX@TA00DrT@1;I#uCrO5>MEhW6aS>B}*)m7=zT- zf?PZT2W+BMLD3jfP&g5Eq8jLel9g2rbHORbSxzzf!d~DKDO^{@dJ=$VnC@8%asj*$NiU$f4=rD9Xx6 z8j_M{a7ypYZZQ&!zYz{Y`V`=Q`;50&BmNFH{&rd2eVw~-jz~fL6U^DQ_wf!tp|QLJ z&xquN{lvg>kN6vqL?9kyAFbN@Vz%rfC;o;fKRnkz-i~01gk;AbJ)pvO=hun02dl{o z6oto!dxw{WYx6>Ze4Mup_Y5BxF3!sj1oPSi0^vi$;8}raUS8yYY)_ai>_HwkqG*T+ z^HGbJFA{>n3AmoN3<7x35&#rt;)2;V%jTb13#_7u#f%cgag{mF907hdq6j(?95s{b zmewqrH-AoD?d+PF_`4KSyA?&8VEl#+Fvet?0Hj3#EGWsIxB&o3(=p-Rbn?iZmVlP0 zawiTUr`TAQX5vmcCuS-=%2P<`g7`g*^fJlr*!fGB)eW$9inG3V*+_#(+Jqv1$-8^o z#DAE6_AY|4cad-( zE0%>P2$qHZL&9NF(P2Fm>!a9I#ZbFkxF0J<`Y7?esn|P;jSG0s81H-`Qwo_X&mH7^ zAyYniO2w3lsTCYemd6tRiZxV~^d9(hbz*x};>~0SHne@;<=d+h^9p14vP;8pZY+Ub z?2%a6`hxR7$&3s_8}2N*5IK&a3maP1FuSC5MW8w{6kW%JH6?v33X1X`Bpa`6m|BQm z=gP#pRb~HNv9dDpQEb%{1+lXCSM-bBg8)3@vBdkaRqJ|rBiY#Mb#+I?)+|Av^6HDR zhOyhX9(hkkgo~AJj}?sE9$PapE4KR4<+-(=_1t=})01r?fCBa4;j`Hmh>%%*; zTAxDH>GZB}3POST7`ku&@4CW5D}pEBp(tD&W3q;zGEzXlAYS6(pEH7AmH00KsGr?VEi0vS7V(X2CSmY`Tz z3t24B+G5Fe=U&x4(nNic&*+B8+cNS<*S;F9KSTj5T~2z4QePaM&|&2bwFx{t&=(c4 zKdL26TJj@#VUVa`t2`#vUtFD`*FX^m<8OKVYEUo8d1U-hU%b6~AXJ+`{2H(|)b2=5 zFs~@khc!4SFBHjZm6spMo$W=?9#Q(5+enzOotCUftk5sp;#h*}JKGkCzmj%JHdHdQ zS&J9d&78joY>f1cH{Wb;9)~*EUvCysu%E4!H(B9AI;X||D|<`cPQ{MYQnHVD7~Vhl{ii3dvRbX>b^E+SkYF1JhJdY zJY~Wpf$U#)0qOK_5NI89I~Z<1xI^Jq!aV}+5eR=I&*2V(I}t8%h6^bDqfh9cV5EP7 zU8&)&R_tNLHY)ZH#a>mc6`m#Wg`F>C4pD4?V!u=D3B~@b*xwZUuVU{h76uWNXF#dz z(%eO{?us3%*g(Z5D|Vb>D-=6ZvF|AMJ;l0$Y|3+^&WG|->{7+9RP1WSehk7R_pWum zkhxv4I~99DvHw%---^AdSOkh-iLcQ4LZ+)?QN@0!*p-TXsMrq0p2nc?W9T2k=8w)7 zG7)ey_YCI?nG(f%E2etgXl&J)oeQAZrE(_}TXhC!ZXQ|@h$XUOi8Bi;6HmnwCvf&A zR`wz2X;s0g3h%)?1`R#Q($8qkdMIql{#Nk)bryPPOLve`phqIm zBWQ2Q*_+ewj?!7=5`^+pyNk+jVvl&r?9CB-I(y?7p(<3!d*nE5XU3R1ozoYDC^~IdXH^PZpBi3=;8Ov1pl<-IPBSHVIwO zk%Vn$QiQR~DHaRDq&oS~3)m%uB=SgZYfs+#IgW_)K&SBGyPS1lj|bU`qd221@8rep ze>~$3AHAEHsT`+13<5c0%qgbI>=~jqu>1)o{l{O5q|GZrWwp|s61~z5)LF(X3cdph z>{5hr!dVCC2;yOB1N3rS@ebCtban40NL<#x&6L1!ABB6OJLgN`IVJK+mB{poL>7z^ zS+JjLxL+#9k(PvO=X@b^pklogTdi1wVwA6P?@Nls(S`&&-}#^dmiGKG+jDkR;^@NI zJv|RBKL6z(zx6u|qgOv#S6un)I}iiM$eh8cD7ZUP7~Ao1Y~Vwc1-Ct1S@zV@*VjX4 z*`eNT5Qb-DjblaCV~q2ShWif7+8)wKYo^SbxojRN*1{z-m)16msj4hnV6@E=UDU0E zsQvo#nG0&_7B^F*(Gf`--QIngDN;*5$yI!70+Ldz)XET!zSsz;tj&cS%QK^k*p$c? zox~eodj^&-Sm}~fB6mv>X)`EYvLnSN(!SI$>hAO5esS;t5(QD$rgbD2vqJ6s-1Vn} zY*abC1PB_FjY3yC52+B3)77uqIWrHYAR>1)RcPpYHLQ>$z28}fdUys z>WQ%)dt>bmP%lPy#eZ9yNOl*0F04>1-;GeC{zGKbkr{=WKG74KbSd0y(sue2g>dT+ z;YKmTq9UF3Xe=pL@l2BKj@BQgZO% zV0*n0;sH(B=`M`9%#EwR2bb;m`*11P2B=`8FJ!Jl<^`i+vtU10?3arDMX?tZn~P`4 zz3l4c-ft>)kz!XUc9mj3SL~OH6(9o=UpwaunGK3rC1mceQ<;I^S91&S!sIG~ieJKvmy zpj_>BKOU83md+E}!Z8ZcjHA|^2!WHzm0H^|U({ZgKmMMbh91&uGa(bRTtW%~vMb?( zCT8(L9AtHJk>p2dsXokUwD2l%E6)eI>)kGw^KtIHjSGLA@4DD%q_+*0=kXm=+s4Ic z3oL*&a8H4YF5R|`Zy?Vy$4j3Wm^F*qP^=PP8|Mp| z{S~8XR-SRNV*M2xuGk30_+lkK)+D)iwqo-X+xOZ_Ta@poZ!ct@6L-;G=6;&?GJEmz zQx??jMU#2mwzL01li`DQ-(>!?$4$o0Z29|>Pt#`3(>6n2$gDtZ7mTq8_D#huQtU>> zZc*%h#nvg-8t+`84l@#i-7Za8zf=bB|Q4LNN+I3CG$b;n-3HTcFs!*Jikk z?$fuKX~@wDyJ$1hKTVt2$*g$KI~>xz|4E0#2kpM~{C7`V&))Pmacw*FVTl)NysKrfAiM-s`=o(E;An=m4Ez1zE!+YmuFGUG*X+S!3JnEyB$n zqyIJJ$86!B#}2|DndKzqm03=X;srYvzSMclr;((oX_cQej0B7>HPLdo!EJ@Cov%G& zz+f4b){L&5GZWUVHEvaXty^#}{f09q8F@xstq`Xq)jA$#B|TGy6K>WdcLIkGeSL}_ zJ5iDo*bj4j!9Z@9Q!sY6BsY?m&q)$B$=m%TiHx1fOl#8zGkQ9kkUA+sHphe>Vzb^A zfkzajO@MIdHr!s$&y;(R~2 zAHyBta6XCWN4xV0a3Q7QlO5gU<&dxQ1hmmT+4XdtI^e$!L1e_hv)0i-A#Sc^EBl2Xww0qSLe$ z9`3cm;c2a~LrN>$5tiFrOSBCz=7G{22O@LQ^rpfm&G96~PK7VEIgSiqf+npwE=DNm zwhi4^qxfSFX^wlj@5S)pHC}tJnX?$vf^Lrdh|&>u%#+)mFBf4@H~srz6j~KaDH6ho zZRx0LMtKwLoV8Alk4`~7&N5^1n}%QdI4R@&t~V!%r{kDn^35n{Ym<6lH>aCZ80p_S zk~buhi|N-k{s3-DH#NXc)@|OzKkGUa4$!yuF_ZAHLwt|2Q@=R@XmKLh*_ijGy`*UBercAj?1|dM$e*D4DcKHyWMdU(@p$u_d`FaWbMZ@+bOQ%r@GS#mRzOHP zRKSjIbSz{gS=lK5j&%=96@M!=3DS0`=!SB^*;_#WA24wyss~(Ffu3+#;|_<*QTGtI z>@A3ocR0lzaXyjw42REh_%&KI&441&F&*qa*e9mP6AfJr!x zh9$mlC|0l7Q1l-X?g-}#nOeo>D@Ikhgu76&0A$Y`D^^=MU&xGrPr^|$$#aia>?Fl3 zpK(@Qz0-tdqtr!2B=zbdA}LQqL=J{8RWSY#Sv)OGFkYdVnj}XWPpMfra}l)M z3(lxnQ9BEpM}Vf-h1;T@-edAI996XEZtO9n4IGB{7Tta0>}*rtDAk|}%|JF~5H{h~ z>5bDnr~GJ~au_sBY@@|NqivX}jc~xA#_2|Xn;3KrXf~o#vIFFK4yMC*LcS4#!w!!J zsCb<3>mIl)n|tAcHJjhSW%eI{%Lex#T;_Kj+&*wO!sR1*oeIQX!({`Trwxq05cU-D zu3u0LQ09Ot~xprabn1TNu zlX#^HDJX}f=YI>%9bFQ$@iSKp(VN#w?;VOFu(4HPNkPNtlH>UYD&WaTK&;SSi6usr zRyK?)wKs4f#H7l^6HI%o;(kPi*k)saVxkM8ubW-aJq`$1TIAa@#XBDHPAIKz7*gGE zPSD=M)e}futa8T&U$o0_=emgFv2?;_@U^?}1mw5i{PW?7CC1|3p-5p6nXX8D%o)8{ z;(%CUYVX*p4+>Tc;LKiPLSd}_1GHMRv}-{j6N%aRclVda*@O|*rc9@ zcQ!&uxPAKR7#eZuLHdqRNHtCdvbQh*)1Re_5SK?jOa)b3M6kyHrMYHDB&VuzE?ErB; zAImcAc6c_kH8u=pOI;UfPnXSKxMTr__Gc`qUG~|&0G5eMY^6(A4Td?jrQR-mPYvRr z#O=~IvM7q`AvE|>*wKqI<5pBdR@T%}OHXT0%S9v7n|>Qha>toJV<&+lvwmj7(qi%r zd+!0@tQAF5an2scm~UpcM*s7F7$4l7m1CaHx)qXSMA3CWwBw^GcKHY>s*HPz?H%uA zJ#7}5le5;Ojd_Y)I1HNYlb*q(jMK4l zba!FAWItxQVLK9aAalQh%`;kf}Y-&j!%#n}6%OK|K&U7#Vlo)JWdR{tH)tha)j^p{FmYJ%`{z9+Db96@_+) zT>uB;<$_3F7k}cMWo+;~ESi~snatz}{x(LC6FKC(8IinW{TKS%m?HWE#`AL45|beDQWHrACkKABtQ8Ve4( z42JBvsEB@>?wK^{=3+UU5+?sF8?v=KPo~U!kBzzhEfb%`z@I6f#LA5=F8sow#`Yj1sIr zJTN?(3CLk-QN-XaR4!UpyR@$6lv*gCWM@&T()YK?7;InRcumG>Y}`ni+>D0jZk9!b zp5#B!-g}76LQgQzW^_~od}`7l|`4s^w@0~Ss8gkgSPR<{5* zD5Zrs-~*AHL$EHf0B~OSNN(FmZv1wi?3T`e31XSP%_2od!1|ah)7eN$cZl2(MfGc~ zyu_-IMcCvJ!A7Ci5uwRta1?f)0Hm-Z^W|8FCQiNK^S_FZ*mh9D@ynS@|Ekg(dqDM( z8;5O4>UzdcygRU3E%nOfe1XV#{153@t}VuuV5CF*LH`r}1eBQ9BD3~O${T-O{3%j` zQjA}Vgm!{cEOdLNZa_0e$?vUMx>)o&4#ev^D^nB{Bq?(FQ;!u0>}9;Xrb`} z^O~MtuZ-$r=~uims)w0&YUz1pRNramGOF+7rFl1HRL_^$Hd7h3u1`T-8Kt4FjDUL2 z%Tz{8xxYA$J^=5r@a(*LEWv5Vi++WJS5|f_RR0C9j25Ry_fgco?y<;8@Bm8aOD3@4 z>lVwj${5QUjpf6nBwUE*5w0R&o3O7po7O2JFT|9UO^a=0q`h&ty)l)kMYG7z{Q3Hz zvrEW?$bQKJ*`HfBC##?}9?lMo7unv53@`JBEyx6pjw#w0*V)PB70bc<`3q`?RKuJR zyg1PJ=*dDt>QA8z${TF^mtZ6>2lmG3XadJmexh~c=dv`&?I1mqf~E?k@mKt4Cf69V z>wp^_vzxTEc6RNo+GWcY%VHkRWl=4_+eP>85yNSwANoxy`Ppwm=#E)BbJ_Bxn9Ji! zAU8eR-Y0W=T=C}h8RVhdFUUP|LhZ`ra`IL79_n;OCdTb~8CD6B2;ZNw&$DAi^{Y^Y zT95aO29FTcKki38LX?VngsA>;uQ8+(B7Yo?5RI>2CC7j2FBAUL)t`?>sLy4#SPw=YA&n>_^|{0b zk~LrKY(47Z&!eM0^;i0-Pn+Gcp6hMY?QNAJ>$%sSXMq^MyBpTS89r7wt_=V9|7vjhMh{UTfWmVU}!GlqfMMak& z0uG&h#F!~rK}SlkenhKXx^s2zrShKU^7At;7+oOF?Q0zrhamfGAhM(?2hrX2cP zj>Rr^U|z0?bFdzS%MoQh+)}tC;f{d2AKV3S_lL`Q&n|G6!ezL#;bIw4{BpRh z;hvHO8U&Y;ryE?X3$ZxXaF{kY=bT6Z+&2;aT=<7&H*M=_s|;yTIEgN%sb5m~k|~^0 zHiaxz1qT%?OCZdES-cGo>C5 zXr6l55B0MB=&bpe9$^FM-7O(GbGzQdL&M%gOiKy+NVA1U?|#eSyP zZHoP$Vt-eR`=&^I?<{`X%Q0%{o?NBVx$}7J<&KEX^C^k&7BNh9eVpk}3 zgJL%;)(yH4Nplb9!*XrK1}JudV$&6yuh>Gx{-xM|6#GE2PZaB!?>)DV^M%YX#g0@g z67j+nIvJ+ER~T(R#dc8y{; zDE3>$9#`y7it$sb65l6^ao-}r+Bjd>v{kGYv!{~2`OX(I7b*5F#ja57D#cz=>@~&S zQS5!ix`SNGGY)jVkU3Pbfr`y60=>6W`L)g$GV9@!dpQd!`S^=sFDmxqw%F?mxeA-L z&KELIVdx;(v(ASl<{dChK+3|VxATR}37tG_y7OUi>Kc9)$Gk>*fQn^m5qA#J-hOnl zpnG6OP-Cb0F9b1ZvKav;p~qnAdTc4&Qn52bhFP@?4)EhieYXv}V3m1=_U8$8gO z8#oh$g7Yr~pk@eZiO67vpwAzheEx*w^T#HiKOv^33Wzpos(_6bVP+u~5X&!4HC6Zp z5@Ssj;_#%HD!g2Q9k%w;Oks}COkqypuUXp7W~T7(%w`IUV5abT_3D4qOkpm}6nZqH znZm48GX=@cZp{=nBG+pn7IVyt@QFzR=Me;(0iR%;R}hngA?kZgef+kJTl;TnJIKZD4HqIedvE@reH^7oM7XK z!C-nV)m-9Lm`i+uRcM$k&(1N2WsAAQ->x||SQ?lD+ea}3w3v-DVDdHp&Fq`8Fm zT+dwMxwUrs&zVcmq=1y*Crpef%FZ=`tkzktL(?#-Xra5-+ZIErxkNXMU5B~CD{NRA zY=HZipZLN~!OLRYUJCYy?Tg=B;vpM$G_NMNSybB#>^#LQKp+q zi1v3H%q4ySOPZv)ggo~|``qi0`geTh5>K-jOl9`lNYjtf%q4b!L@^zAb7Ej;bBX(S zndTB7`*rIRnRuE@q@dpHzmbBVhfGne26zv+NyE^&7g%_U$b zmpUt_<`U}~GnZK3h`Ge3PiZc($u{TRm`kj;fs*DD?a>9IOfs5FJn5e^Xrj5q^EUpZ zxx^NG-V}3*KiiN=a|thH{&$(l@1LT64k~q;OWcl%CFT-I;gDi3aff|a(pqC!aE!OHflo+b+(; zC8hb!<`R>9QRyAq*z!?biSPD{G5!B^VhNf6o7eXMqy)Bo2)M{MUbj_#*w{FZ;0v zGGGs8z}7h|Q%xu4ukAM>r+7>8`%n<61{wEt!4(>0tn=qa4Kh+tHON@!y>0_Byg_(g7;GDdBMwpKLz>@ZfW!#d_Vn)_YUfh^OvW*gZksVG-rMX^|Sr=$U8{I zF~-YJrgy+}_@7;c3C~Dj z{IbjzAKuHb79aj3crPJ-0VDLkzjvdyLebLBH9?{`Nv7cy{_*^gnMOF){f-8kU%t9OjeT)k56rH~LLXU}!QngM|ruyqzpe zV6=iGX)K(>)VxuiQ|yt>tFK6tQICO`K>QJ z3zL_2Z(;Hh>!&|PwJ`a&A5{yJZJ8`g-fp^u$=kM=cVl6)%?3(Zn0TDbpGVKa^;RkRE%v)?hQL1_G4D8mtq4I!v+}c8MTVdSL_>#)hk9r z8hHkHo0s&_kVddyD@KzV!Dvz=;r^u9UlsdUF)YS(;fkCuY&s}5T(J>~9i!M(#a1eI zwqlnl_5;OkRO}YT)+t6K97*#Z6nkE=*A?5QSQU0iko-<^zL1%%*gVDJit%g4@{G4& zW+V5$>wF>82?jEPb#XpyXQo(R#ZFi3EX6KRETPyh6uV2YhZK86u>&x%AkQs!KA2@G zc9>$>b7GU~nVPUFm!wbG~91Dt4PR;kz&#ZFLctzy?HcDrJCD)uME z{;Jr&6#I{2GcfPo!PY zWNv})CgeVBZg;+rnZLh>Ep)z}&30zv?w!qcCJEZO*$(#3z^6O0`^Rfli2;>~!Ifq2 z)(x>1J8wgrSFIU^eK#gxUUiAZjKfqk)XoB%72i5BO~3GeZq)*3sx zN_g1-!^1n`wQ;>TbI`{(ARrk#IleUa$Z&HCL z%04OH(>kL<%!dt!e`|}6p=-pG&g)1O`_8r+8+n=^z8mQ znSnhJ2W>SvHfF2A3z=*+IyTW(qa!uM{zp2M`yuB=8?)6oun}90UZ2udqZdT%Znw5L z&<0A{YSh{D%(fb(e(ie`Z8f;Mj>=qC4KDJ;DtR1DvDGNEA(OTmUdl45-2Iq;_VO7h zrD?0d{W--}BiYg_N_1*bOZ6GHQkE^{#mvA3vt#PnyZgD6YCqdoXB4Bs6$c=>J*HZX7VVr8H@f1rG zlAUj!h8mKVIl8mOx7Vf^YIxiGP-5N0JFy>ZzNy6RqwL2#iN9rWG2rla!C31sO0X#W z{x_6mHSpHo8FIq*GomF z>3zQ>;=)9>i}+Lckh=eZ78@@xwdpzbN~u1Ye#I-L`f&OcEu|e^`gU1LP(Woar5777 zrB^bRQVOc2^oo~?Or^wU`wJvyjUeV`wt?_UtCV;7tpdDK!UDO}=$s`$McxFwZ%qeA zl3b|&0!FB6k1Kl=RoE)t#qyBkx2$f$-WOfWJaajAq(9iq&uVXZ2tRfN@sc!)AO||q zMzFsrc0!mvJ(i2ZETTI;lXHm~iklZ@6__AQcr$ExVJ!gg!M?^fyr{Ghw#&HT1;z@Q zH@om!#4rZ%TOyq3h{qw8c(~0jcCtjs$))I_Jm1L@;cDa=?c0h$5;q}`L$Qll#GHkF zMrnyaISk&H$r53(y*+7(Ah++{5<$Y9Y9$^m5xh=>RFivMxJRZ~B8;`qnro9vDd{Cu zxb6eSFDM*Ms;BKtswINQkm@h>Hvx|!rJ^1~s=w5$db_eja13dD{aAm@YKbt`KTGdf zB8=U=CBj&~bAODE77eJM}M`k#3^;r&F2#C}r)pFnxAF7rE6c+ES^;-_edq8dqJ<9=0Pkw-a-a#ElCes0q zj=94HUk7)%;CPcJ0elE|xIjMb4i_iErRhKoT$&D?0+-?D!lmgz94<`+4#^VJ0m>Vi z4*U)-@n_-Ebl^R>p6Ng_()5?CJ=)=7FZBv7N|{+T_>|lHMRWJy>%7!HeTrFiR@Ky5 zb=EC8nzRXpc@u$K>Pp?xne*$G?b<-%3#GuzFyp-Ub%j&T#hBQTog(N9nYSQw1bf%{ zLM9usN3cBS3z^=E^;4`|vC)c6QtVj8&QR}tifRJUNO3Zc8l_!nOmb-s{!1wIMK*(eDI zOHzmBIA6%DgKryR4x0_m7cxIUT!Q`B`9kJ(_-@7%!)BZF;S0MRJZ!V`+3Da?h{e~~ z=c2-xIf&a%2S;(D=v0fAPo8>Q#ng)9?5C#^!(#aIL!z><8ndQ-pQuWF5PRtT?5eVd z3ckr@pRxNmmxtr1shR9W_XWx>ejW2<-6 zjfkyjzXst<@@oKziTJ9)!@XjC@#Wuf_5%l}kKkv36HjbmKz#G6Auon0O#JXUiD!~C zqa%)9)AcR}slpQzPgEwJvo~x#$@|(cKJjQIv+~oD}U4mMf z!_R=&?*`=X!ys-(@(sm0p*P}w9{3IEZzkZcx^Q`5`|3-HN>3Ydd>!`M6eti><=g$1Vf@1aJzdZCWc`A0t!cY{{2xO z!&o)1bD$qIM(v=??i#Me-vQ8Kmq2G5&f(VM2jvw-a+kC*CqkWxO%qW+}&~ANR z=GX0{?f=QNP(3AYp;3{a9`zoC1wUnaymnZUh?9g77_5<4#Ci9DTFS#GP9ZHYclxtzF4{+=$vY z*A|&y8{$_c{VIy$>mBJBzlF*;*NjHjx|+qO++v^7*`|##M}cuglV1sU4`ay-#BYHT zu1(OdyTLas@xcrqwmH;R36urX}gXF%b_ zw)~r65IIn4t-|ko{8~Y&wLgAmzQn z&KEM@QtUg5U8UGHimg{{lVZ;(_MBoLDE5hBAv|B6+s64qrdY9q6r=o>a1yquo*WLL-<}}3?D|U%umnlYbZb=Jf(_C6Q2Ry8+^TC`^v4x7! zOk3`)SL|BFI69TQJ*e1v#qvR@KY+J@d0C!ahW-=YQo#;4Yzu~nN3Vr3gw^oiYrkUZkCRqJ}`Hx}`2 zXz>4)y<)5WiEl%X+rIUvdpjZ!O)|?KiWQ7}6Xv8@{M2;Lz#Ur;^u9CQ*89TksI7OU ze7-iZ9mKz~0fU8SD;rM6*x-rEh83M{0ypNAAzGUxFOe31O#VWqnT?isFNSX|55o)jW*Sxh7}rAh(Y-c}s_&)l8Vh4a@l#k! zm(Qv@Vn9ExjdBa49FNa1Yl~Fi=%(CSQuHFM%W}+<_>q-eTxe-m#nQR9YfCcu{q1ce z#rxZ6UNWWNHqYY6UfO*%dz2*`vW6McHa6g^W)O(n3;2=dB{_a4M5w#;L-y;pd~G<= z>bds*9Q$CBwIAB^S;#>vFu=p@_lr0lLFb0!B_IJa83T>g=6DxJ7CynrBdEk*&QC?i z<5G5ic{PfjI1=e{T3&wOV6dMq_?$$yND!aP9iH)vzd~72Z5TZY!K1K`*z;nfBFQXf zprBzF*5$NFm;M^7KY;uCZ)$);eKA-Ai=j;2;er16mU#a_4!^B{&-#Wzzk~L(zQg?# z!dVpr(zKU6+0FGE{Qnb^)h>NC59oTdb5<}ezsnweaxI)S=`=|w^PykEgrmbIL*t3R}6j* z<@tN~il!dY0VNTr3J1fzNUXE-+C&Qa(BQxgH>+nZ!w2bX~|PhvLVFa>swpelqK;@LLO_m->m-!)3|yBt%Z};O#5cpmmdf$p zx%0>2LLnZ1+MPcO_iUWM;LiUF_dJ~c6E2_gCfpO@z6Y1jVfyw%M=nzk^o7jN6k}Tv z>^{XFRO}y$y{Z_?N#c7~u`Z~0f^~PkkQu1h5XGh`R-@Qyit$4#l9pA9U7#3uWRquH zs~BmaV5Eg|?+(QRpmu^4IA7S%no+P2NSWN*#`&tY#wo_>3%Qrm7jiGBF9bVN zv2zr=NU?7z7DPua_i}q{xi_j%Djw&XLh4BC`?>qXhrwpdi%yD$L z5-!=D7orn_AlOik>`0ZP zP)ZpVPRgJX`n)2_0tY&4{Gy`rBxZAy+*^U6y@S!+j@QEX!4}Np=C<;=^Y|j4R^a@_bawev41E=X&}#t<2_1z=Q|%1 z{Ci#dIPjahi`sX42@+tBOttTXit4K2!)Mpl&78kr_;7w4E_!hE;C`9m5tcR{f(TPI z$LaOc1!%N>y6c}&{k#jwv-;alS3h~%AZ!@o)lVi;l^$OGbYM#TbePsp%KW{pog1`v z(kH43!M=mo1^c=4h0QM&dt9-n6=R<#_p(mPy*a2ef(4x~WY#Knonpz_Nx`_LEBjwg z6g4g#p{q)hjyWJaOZiiS|RPK8co; zlhnrz zn_`!s-pIZD!k9dl^)cx0t2t*WOBC(w9(w6g>7~g;Q+sK~H#)5z9*j_|hpe^i*W}1l z4=EqL88?2Y&JDS(PPAs$JX>Fqa!~qVPCP+SYW<>8PwH1E8$MYdll9BZp7?4lM@@w` zVf&@k%EDdN_OIbSIl9<&SuvdKx~s-2^djEGZn~rErrr2J^XW-K<_+S}=B=}0NHM%%_Y6u+dG3vh?M;2X8nH~-MSW$5B}b$6wXt5j zsTKJ5m0!#X%zk`#6_|P3`wEN~&>VI65v{}Yh0M8#SFlyi7qYu`3wEty9FYokhhiM_ z3dT_{eK229>@~$&qkc&^HhKwnk7D;L7AyO0-AY#E&LViR!X9h&KN$FKEb#)DpJTmw z=h&(b3Rd)sCBm^C536}dRieV0hgA063_Y-zhv2gxo3|hd;JwSBm>y*n)8!WqjICN9 z#dZSAe;G^I=ug5bemmN7YU5*Y%heH5{5X86>%%+czyc$!p{z!z0{rNnqY}n76bh}S zi_dUo6m~zMz@?V^r;_5-E?`z?2TuxLaP)~n&D zap_?x%_o3D%v36Vm7Mq8(4&aHw$`Yg=1et*zR6wYJr&)T6b42j0cA9zCqK3Z?aG zJzM4f`^`7++qaudK*iSfp9e29`+IY}c{B6PeBU?U48;an|869^86-F~a!76@cSZ&c zh!Wop*%2NKkGosaG$1^Egb}8wLooZxaQHg|kmg zq8^DmTd{?TEmn-jI7>M0^_94DN3kH7cM`6v^@W`S z6dSMDk&11HuRC}&Vdr7%3prgerZW}9wLa*QDpsOc+1&Z%bF45F_EI1NbrXfL#M`l9 zZ$XW*GVx+`>qlAc*7vfaw_8!^WGE;`OSj~2tiVfBLDC)e5UJZD>POOi4D=2khZZD{ ze=3SKuM0#ITSOx=|NNee(wrTNCf<#fZg=yiz7Z{bBmaDimVn3HhA#-yE$=`E`oiub z-NuhNZLb{y$><=r^s)T&p2uUMeVdT|uNb)bct})VhD3Ghd%MF)^~h(-6OrN>&0}sU zZ|aQoO)N1TZ+1YmbZ0|OY}mHly<&;`;F`4fEZRIHJ2vb-2va5bL_Q?3^`qRxe7xM_ z?uM8C)h12Gkz7KPk8Y0K)D8JePK;(oVjW}e#|IhZ6FmBK1&npps{4B2t{f~u46 z@r!h=c=l$zl?Y{bsP9AgWGTk>EIy9#LeI~IPw4q3_(YR30bi=1Hrx>>n5EJ9ixDb} zwCVn$2p)3@jo$~I%8Jw0tgK#AQ&n4IiN9gR?nR$c&OhLiY^=%c#6U$L3p8p{pxOOGj3bG5Ew^1Pk~c(A&tr;g}&7DTwQhbu@fWKcJx$nkC`ZWI?p$L^Oyy1*_<@p=7qLY+ z3~}4R7^S7&q(t~;CNZ{+Z<&y+S(y|4#{B-Vb1BmBZ>c`DAKt7>q@;UT$@*v0Sm3B{8tjI7eHn(Y7XJPXRoX`8=VGe~g5@khLA zgD1Ki?3)T12`-B8eawRLf*qk=It0SX?7ZAgD8#*9%+_VM-o)`bQ!0^KQU_8#bPg&= zdHS>JYr#rb1@6VF8flaK4rZi6Fn&_ncaYk>5gS`OV_LDo%yZIYxBMvN+^`{K`Y0J{ zAt!#5_by&7cry(Dm%6_{(hLRHLVBH-q9x~_B^d=-D8^2XK*Wz}TgPxd`D*#C=*jZM zIJKT?O8jLg4s>*uLKY)4An%25$0Yoxm~v=sC3R>SkTtc|B(Tt#+@iK_x3#r4WmZgm zJ1X$9oZid&t7ao#_Fx!Gc+-zkKm3K$7}{7iWH!0sNN&FW3s{BVp^Y#ZbE03x!D<9I`c1|h?tRk? z6JlwYu+C!3#s0*Bs)b50Cowz_hAP^OWR@oe%XJ3$dWuyMZY)Wg9gl0XiLaII*s!u_>qKW%nnAd;JxiM`AQ+0i5} z>JRL)-WT*MgWJ}Cgu;3FX2CX;TKT3ClVs4;qrXx38<@!KU`|FGCEvgw!j?W9f5)#g zEJX>%-$6NYa$A=bvK;?nwV{4J<`M>VO2b{tN3sVwh(bMN*2C9!4AiT}&1Wx8Ig zqq05MC4)^$@~24s)TH<#)+K#_P>Y1^hXX!`501Jd7oPg;qwq7Y^|<-=9EbS6>u|TF zPV1@C_Cg1vIxRaIRcg<{ou*cc1x*IET5_h2M*%GhRc8#IW-Vs~GXuUE!T3U-FQOt+y zs0F%?q7SF`Dt3|eg>cZE7mn;&3Aar#5+uQ%Q0y7S-dBt>PzlHWM_`%5qm6@raZ zY?@;1{t|APVy7zhb;T}K>_>|IRI$etdqT1I6#JKAJTOAaf}U#gJzueeVwWrSJ;nM2 zy}13X52sZtHcGL1ib3_o=7Bb1^Mx9Y#hMkPIc2GXD-^p*vB_ACNtvfwU&xuS*hz}T z72BxTC5qAfvE%_;12(-b)(2%1#ri8oZCc6qPQ`ws*b9p7R_t}f#)APMagVgVkP}s` zQn5P4&QNTFV&^NiL$Rk6dr`4JDK?;kmoE(_%lnR2>E>cqKChJZbS8mP`liK9 zVPqF$h81_lz-Ik1Wftd+8MZXGz67`8DkZ4itV3R;^(FW+yllYn5nR8<^Z$b-IP2|` zFTsC++RL~E{|O(oFTwu{mf$@wMc(TY{G0MQKle-ULE!7RwFJMO@6lojPA$3py#z02 zN%n0C-k*Gf+(`Qp+^}sv=@Q(2+T;?Px_N#LoPAw_+t#o@m*Aq7*wzxE=BqG zF2QYCTUml%f=c~(OK^@a#vEKf$KfzSl5s6=zVVN6{}?x^1>f~&xS2nf;N(B`L(gFE z2w-{L4;_k~Y9MZQ^O3j@#XSo5VYsRH(fSgcGYY%=!CQh`B@mr4cuR232==xFH;Nzs z?Q8IRbPY~l$oVBE0)lO|zL4{%Vvj4vxw(YnDqG^_U==GESJ{FMSFA*_iHeme#CToRY7F9|nCvEvoP{$9wm=NhSYiJJ(-5^uSQ z6?v73o$j!mv0-n(8cvQbzdOVdFF_Ftvf=!VUqe$j5^bD+0-YYdQnxVE?3USPid_R91tCHZhYhRdik8>tJ+y zf+4B4F-E{)b?|iJkjiQh;SsyiC==<2flDARr~Lgjj0vr>8V)ovCmwuqpoz9Ma6=%+ zFHiT3ZBV>PU4m&Q*rkDGfj;2zWER`AWVFeIjB$yA+7(xGcXieDhU(g-$aAU@F6QC! zQ3xn9oT-J!!cR<0Ne59TQ9T5wKsT|&7S&46rV=v|L2_5~9`o`0FH8%gOf>=HM3U^t;5@%J;NT+=XIwD;7HmLu4G+fi9I)qS z6n6IsD6hc`)uftNaF7q)G#<8z9_)iUZ3{NB3@#p>WEzj>S^vZrH zK$pnLtDxMl%>Q5qA7tAHnUotgwNP$o?B1$!!|A5Z76wKKWZMgs8))+vc|e|&+!1fL zWryQiJYk$C*3YEeaA^kRhQ{7r%)Ki&Ty9F0RBn(G?Spc|4JKkzxj~vlFt7@ZDGnuA zDsiSMH?Sq$X`+d8LwZZfPzyQnA9(NL)k3CExSj1T6kG-6hU^sO2ES_TNsvzBb7mij zjpGpcLcJk79Nri8hH_Kp_4rOaU?i#DAg`PsnCINuwtB-Vlfa3vhLv7l`L@0;gfX{d z6X<}2m{(FLtaxuc$`@n|)@fvV91|W9j={p!7={nRI8%oR^bV+kK>Y)i=TbS_-?S6# zbYz6AYDE{J)~B4iFS-bn&~Zp>RTqI1p>$n@2Mm^37vZdrt&2bvH@_}|6lq^{5x6Yk zo>mTTR2T5a^eW$TyTBwJ)&tIkXmY$yu#)l;CSk9^p2wl2{31xo5imtk&bCNNImaFj zGaNYCh&@Z~ov|$EnE5hpYWZ@Iq#Xi&w;$u?8S%H^rdl>_6L5fh3is2vjpi@LzPoXA z3}kDfCh!4hGHfd?WR-!H0(0rU1~@5f+R|OVCI~NPl-{nR z7ZKFEI4`2`ycd9{EJ)!w=S(A$l=f3ek^*OCfqWTnf=ihWVSliNbAmzcp~5 zhf87lEA}_3A%7o;{3u*M1TKZ^L*P=lJ`65}>*L`z!X>5L2=^Gc6r%qCE`{vZ+241; zrI4NP$LGI>OCdXlN>9jM)tSO>wgLJ=s2cHwo#U)84WyzPOl_lJ4#lEB1m5SY{*iDK(quBF`y`tD(6ng;E(Ix1NVdoL+gJL|^ zJCZL~K2nx3ij7l@D&9qNVIbG6tc{V}MJ_DC;c`dc>o!d*o)yENq8K&E-;X5%(P2BH zcaFd4<#G7mIhxq!z684ep5E zvHkRe_&*RWeLR2TvuO0O=EVUwF|(kR7;fSr_wilP#8!9MR=0FV{`o&d9IVg_qlw=} zOYg-B{n=>gbNT0!2E>}jyb#^`N_M5uHh*V#S=4Hq4~H)JpeVJ?S0dO>^Lnt|)!A)c z15NW+plN>8d%L^Xm1#8bn1o2YF|&E%p6J$Bvtz-JqRl_On6+Z~1>hl+uwB!N=VN7_A4|Z}@cpsUzch3(&vy5XdP?a?smwfvp89+&(;u~2 z_jNbDP+#XJR_D2;zpL-2+j$%BF{LQ|UBh2vi4L~j+}ph`;=Y?!;jm8pguC^nY+cLK zGI2EFz84#|HQHPz+s`UviLIWtyW4ccG0l-bxm*93?FJvCvU{{SGL|at{J@D=@ho?= zXtleE?-bw8D%o)FqH-7x=K8*Bp{M_Tv3U`z{|+kR3>d+M`#bQ-QlC0fvT*1A0l~Of zIuiqOwnI&+6OHd|_|7sueq!<62;aMAsSi^dmJz_S@U|5)?mYM;Onw2#Z_s3dWxC0HVR@W|thWyg1)2i3($8@c} z|NblJ{@)NN6|lUzZux$BZ|@+Fn$sJwbD)0peoZv(?blSVsNFy5Ll?cSzDTO#zu=pZ z{p3~je?f6m>a|sS;@%6TedPA8zJHpyHkkIV-rm*iX-jEcZ9i-;-`B3b7Y2HJr*H4{ z6DG9N_oWji{14H0Sf3!5`&F~GG=mE5NGmUa2925ekIx#A#X~hF70v*s2ntimRZEp? z4KwlPVofs4#G8nCvahs>S9gcK}Jy* zWmJ@cV|%w1Yf!#aYw9v;r^u8ox$B|==8 zK4VI@DX=!c(;4LK7VjHmkcEUByQRxQM))KGWGC}v@SQ3VvUZDeu$7bMiW}#6(f2ME zk{x78v5*vNAH+f*n0FErTHNz0wOyJ?9K?^)0XLf*Iq&HoCqotF#NYPbAzd8g-%od6 zf20`-#_wve+0`#Se9%_d`4FG?5p-K<%RQ=hnK!G3kW~c8$+w#hrMV6`lsPHD znNI0UcBFS4n~KEn$8g`%5vrRNR*!Y(JG+lF; zOl7MZMMb27BVtXOi_lMxHf^0^7AZ(;hsiJ|2eV(9n3p@p*qHuT@M@Q?zs~9*2EiB2 zY5aa9(uw`=uV#!^Lnqwr?l{zPbDXU>@0o|b=%{SXPKxZGhJ9f?(OHeUU?265IbQAu zLL@{M=b31Bw-$k?1ef=0D;ipaXWoT^*{kH(LWt~_V|!?-Xz0g9A{ydst2hYgyV zn!klOi0y&zM={SYAl~^BL_0ZXQ3v5>%VOID^Vpm+G846&Chj@x2qW&f61kFa`NTcf z1LANDJ1PFP7cRv@Yv58Wv;i)~K_o>K2i*miVi=Az6bF%F)WSU)F2z76 z!d(lu3NFP#r^BVO>a}nw4q6A7;-EO(I9%Gtpje1v7>av%(j~<~)Lf((h_6KaB)Aj< zacE@zZ=xL2BaZV?_+y;c>z@s^FA~}p3GIsn!&~-ui%+?Vmlgbfjx&%k|Msrl-qqW? z`u|#2Z)XCoT)BElb^YpEIfK0w3CO1$(37H~cFuo0=l^rS`5!c4!lF_5vlI=#xTGb! ztBX@%)X0TPhgAaDSKQb~UxsUa7o$A~bwnJT1U&^&E2A&ubi?{Wu%6Zza*7ojtXNF3 zS&A)CY>{Fc6gywBuPb(`Vs|Qbw_*<|_LyRSQ|wK}dO=@8%G}5LLe4_P7Av+&v0BB> zQEa_pS1R@c#copUR>dZu#w6cK))#VSC^lQMrxklnu|F%eOR>)RUV2@u5BseY>#x|6 zij^w{9-u7?&qSARxl^&fD)ukMuxz*CZnnO#bDLsMDE5qEhd}d0-gl_=kqh8qlN4K| z*iyyn6M9*zXm4NwK#Sdq=S!biq*qMuqHp>kB!Z@LS4PG>xu&LW zVn)LqvR9|Jx(=a`fJ9DP;YeCMXeMJC!`H4}u@uLelb9Ob>}AE2NMsOV@QejH)wu`W zfLnHGNSd3IA;7SPq>llsM6RwTG&#HYcDTkFamP>zJ$v=)dX~t9Ap;I=7nhv4oRnJ> z7;bRVME7toT*E2m|1JW{3oOx`!?0DvZ;SdX#6vCdarjhV?Y9U|7FzB&!TpR=kFn>u ze%^93^T>__4+Zl!n8(dVd^?CRu)BtzQeO_?aD~lp@}dqizvZ+=|I2kjRWT#40Bj`b zCZT(pxcpOe{8wQSad{y$E{)l>FZUNtAdAInVHNOo8*#74O~Ytq2+Qwld406$>;mF9 z6r0Z6r#%Y@-vo$$Cr^u;p}mXk`KIBh1Gv}+ZmzepoH*O~J8+BOLd!RPDBSnpPPRDP z{|ESusHXo2Sz}KM89@krVdr`KG~~RZ;i%6o;j-DTOt?Jj14&ejYJU=LoMPMrEtspA zX`LqD;}u(=;ku&_OCG(fFXT{fTCgFC9j@4T#r~w&PQ}Wg4U562#11}CW`*YKoB5lX z@m5s%92|qnW>LlHck=tj0bwwjj=|{Zq?O`7xCt0jK5m>b{y)M^98;Ff3x|etI z!^N8Fu)XzRoB}Wo)Ww;0L0!>KW;AWw8NKSiN`u3LW7un1#7&h+b<0Q4cAOY$Dce~G z-&G*z+0HlAcME)?5}6Gj$G%^I1HLeAN966m*)Hgwj)p1MzK(rndAQ$Y<~6GtPAi&& z!F5LUX*G3K{Aor(Zhze8A@$!^v=#&PRU=y+s6~jz^8ht>qyWJPXP@QCo? z;o|UUjGmB7265!8f8$dv8VLvRvm-$WEc5-31~CbY;Taxz!?=Cq4Wtx-c_TPozwED~ zA5zPU98nR;o*2QNsoWv{r}l6K-&6nAJ6ha_$glzwXheu|!^3b2Dt2F)V-_%vNeaxo zLlY{Py`NCoLlZ{KjN~r%zob1hA$w-z5R~a8|29eUk|TrjeEYH{_}{dZLlcfOUt}+b zCd@N|s`1GVcl_pntzFovw5?c2wkhpnyI5ipoP&Lh6Kq=vIA<7aZ-*v)!Gx;BoMb}E z$Mb(k&+nJ`)k+JSOsX6tRb~^;K$WMM^r?j*lNypGp0K+V1C?OOR@?;#{xL7FnmL4# zGD|Br5gi|8#$gR7f--l<16CZH*vC1nfo=bHxPOnkGv1~vZZ>+p8T(J_Ar9kZ*A}TZ zM+6^fKOPW!e3G;;0>bL>lXeQ{ZU)Xvg>w|mF-7m^2Q|hhq0B_Ml>aQ|wK} zK2$6KdMxR6vc9mx^D+hd9`+s47k0jHeIbX2Km>b0vF;#tg7vb#kTXQF5sGoAl7!<< zCHg|nPZgta5W#+>*gc9psn~B6I}NmTCdTNnbGr3~oV(zYJV<#Zy{8m=Rxz5IO=aTeVjXoQ?K&VHW*uV10S6qQaXZzhq--1#?@cxE z?q*s++bcWLmQ>%zGtPf6!+kM&i(DUTT2Y5H;judcCkSL%9(}_3K-+1yAmj)1Z-tP{ zsddQ>`UykCxrH>-ic2izQ=N#41l+1m0)BNr6S@TfFEnA&&!;U+8~RQM0iT<)Uw9+F zkr41mCoIsDB<`!Ie^BgBU-E;K7`jUuXsL9kFL}dhI(_!1@TCDrAulqn!VhMFpksU= zSK%M{^9;zTMdZ+qep*@weF@ArW`wy?>zPOT_zbq5`WCrdf<{e+9BZf)S7mIl+@k8w zqFz#}K{_3AY;)$5eEbnMNNpvF5kE&7G2$v@3Q<^R_oi1B=J(tdU!x07Q1=reHu|;+ z(IgNe^e97!SeL8}z6L)6KN-IeOUduL3HKYgxtwDavqn98+H9n0w1o{ZmA3Hh(rL>Q z^D0<}UIJn$reh6stFFXX(9XM(+NeIbX| zvjppCeIaLnVuKVLt=JKYQK?blo}}0^#ZFc148_h;Y5W~5fI1Pja`w*jv zH3i(Z=vF4y^>jC!H8|gGKCWOb5<3ng=CSC8J^5>~&9k#xT36Ii2vbP)2Vh&HS)5`s zWtbZkySRyy@^&Lh*f{RsHdW=}{GO)1?)K?6U*zH@w$u2Kn_7qjigh1GyKMXuO7bd5 z;=HWsG6J&HxOU(M!`Rt|`gQcP){1;^zc2ZvvO(2{m*5W;`bVu;B^Gt|OJ!RQYJ5}* zaUsi3u4*&BQ{l1N0A0ZGoK(0Q^EuG-V`|Ryn1;y(wVbDsr0I8n>netgcv=u*v1xkI zj`d~470j`k(Q0QTT0hkvPej>3e~en6p)MqSLrrO}z!IjTVF6z+fhtzfSdpB|BCDGy zPABYve{zbAyu<>Nb{V2lY1T%a(y-*zn)<4htIZp81~b#-5jSsaPdbu78bbPG=M?_# zJD^frQO}8t>F8fJS3}(qM7RY$5fm*GJ{45WOUJLx{SSuE4xWu;fpRg+2<3Q+zo^<+ z%_;R&<~Su%Wm4(m%{wekG17BBOM;Vhk_x{5wfZn}2vGi$bAvExGyp{l=JK02;p^cu z%&w_xSXpmd1s9*ZK+ln1vX!jH@1m4ivD}30lOx$Zyjh6@t{V*e*lWRDK#ZE1+JN;N-&Sn8wXJ$sdmM*MoL) ztgp8?b}z*FI|!Fk=N!1~61i~6yzT&(Jo`RykAVw&i}5*dVdf$Jb+`w>{TAHbaCvG* zH@H89+Y|0>a2byaUrHKfRzhFMISb_w>|E;$IXrPfu&*fgW5sS(?3apdRg6q$iA$!l z7`IFVK1k#}h0h+(gC76q}_OZEH%nFDVAiSc`GdEa`F4EaA#QYz3>ZzL0a3 zV%I2kvtqX?)(!Mo;`X#Y$hH+5tk}O4qYOgw{okLx48^;CyN%h)RYhoO=K43xUd-%5 zbQtYKCX-`TGuo#&sulIwhz<7fYZ$$$&vF7(jnUG#y8c{EfJ%+@buSa3CJFROCO|f7 z`vgeFp!Nxn14(`63D7?<`QapJZxbMPr%yZq`drO`X6g)xzK}!P-hyqjzK}yJ--6M~ zw}g8`G0tZM!#c=@%eKCdGf1&viXEX?sbUKhTcj9v{@C<3DE4*5E>&!cV&ttzSzc1? z6~%bwmb}LW))#XAq}Wcy{-M}=ip|H&M&h1ieIaL=Vy7xrhPi-*n`V8`eEOf~-wcNo z>hfUg{F}NW8G9UimXcW!$O3==^KT5z{jb@j(mn1tm|*NqpL7oR7QR88AHrV$NgmiV zodMD(k}APCn-YwYD#0kJ66`I--cc+I^CbzFYki`GAsCe~B<^?(ccfwq69Dc#-}RP0WlbaL{!;!n-h*$I6i zhn8IgtFpe3bE;yi6>C=PtBPHr*j0+%tJnjIJ*C*QioLJchl(A9d5@H($ofJ~iDF|E zJ6W-6#mL)|xa4igyY<67MX-U^7jifQ5{xq-3HMdSI2RI(JSz!Do|RzPpvi*eSzpNc ztzs`Kwu}7^l4s{$vy%kzje6&KfM%zucOs5n-^HX@E=$r?b)#zaDOGD$*Hy`?d&L)P zmYPlH!Sz- zG3pC8xfwMzOIOMkwxq&F(l8nllMw!-k}4WGXkI54vL2p>mK~+%_Vv;oZ1du-EUGy% zV zr*9-&3bz+)*P$=uoUK^g`a;fiiv38j2Nio%F)mmny>}G*4ysD9E3Ho^xG}#XgxZ|OTW|ZKnsutc8Eq$%_38<;@Q$ueJDfZs|P%VC>Dy6MLN7$aWYwAvf zqGAHw#v=SNmu>&tF>0BbbN07VT86DrqM^33rf&b}z5Tm1zB0T?3-zznXVlbIEneNQ zYU%#e0-J-Lk&yvbhA~O>d&Ud~&SJkx)v8wT2Ss(tg!gZax&jjfs7{?u z&Q1<=r*aOZV)Ym^j8&Ddsxxm%ovyW}Ak&Za%@J-zOz)Plaigm$qL=+)M+rf>T9Dt3&GwQ%9MUOERX6vvgW2N42dO zH5Q6dpo7kd{gcX3Q9Jcw4YNY{#RlR&1UJ7Dzlf(C#a7nl)Qd#GMF!u98QNhr&XVJN z+`Nzc;W$IpYrk^TY$z}B_Z+ww^PPEc%izw3I~DHna5>h4VG)nRJrV9kxC{r4Z)XYI zYv3{*m7*5Fy%{dp8bAzacASLp|RA?L67ih{jieIe&xijfpaxc=4`b`DW&tYQ-s zJ3+CN6?;jsR}_Paxy={KmnBE!AL^Rc+^XfZ8X zwRTi>RrQ)RHPCE@W@tmrL>x>YTl=lf=sdeOJ*k(`%M3r)VX}Z(i%$_XIrBLJ8$puV zfY*(ICR-Usk;Agt=?9pXtMbz22J0d~wB+awSl!Lmej6TQ@>*Ms`8a9P3Zbb-nJ@g zb<>!}s@1Eime*8Unx1YH<5Oip;hEWr_2FpKW32IuWPd7A5-;uX3!LoZeWw-jH!aLw zATeDOFl~(?ajA>z#m&bSEb4AE4md-z)N%%A2i;7~ZAuMLvrd$XdCsPZ8BxP!Q}ap&O9#eFbt7Mw+5S@~u^#Qg&9 zPH5I$aMSDs>y}>+LkPZJ7a(ketYI#&_*If5@_0P)uFK#l8-h208?)flfD`ANO@qra z9tD@5Wjb8ugYhul02i~e_U03((etnA@x z^AJ|XojUb>6~0vC6l1WK9h0`q`X)k!aMS%2OJJ@x#v(H+eOeB;9n9>Oluti;eTIe7 z@$QjPna4YBPmm=|k*T}Ypxi^8qcFMmk9pjCLKaKQF|WvsmmKrF_}R`P|9%x2^Sq@^ z5BWgYFOi!Xh~pjuaoihZOL8)F?qyr0mwE@3EjgF@2w$9=B#Ocvut{`uTSh6iFer>t zoY>MR#XK1oGd;4SqxYz_G170)eM~=O1bY%ikznO(($t|}S9gdZxgB&*(5Wqz`$ls)c zUEz`rva6B~7QrR`<2;=7kiC9vFXYfXgkX;-M)MGY^|3zK zt5a;0Vl)pS;pQv$K74~wkzwaU>jTFh^h?5#lFP}Cz`rk|0Wu3NbBBrxqzo>jp=>zHOT&?;vc)%O6Pxk*r%cM++y)@>Ac;R(Keme zK%a!p??J2CM>>BOgJ!1lGxsZzG@ebE z4e+O+@sHzc_)cWla3OXEMmdPA{Oju#bzk>Dk!;x+iiUzCjx3LSb_D0oRbx+R_t`e8Wg)! zvC9=Z67+6>q4PX+p1zP%51-^gYAEIVvSJr2W_EjgHgw*wELRdOzi@6gMPm;})F6eOp;mXYAurT*gsuVrwgF4fIJU?uYn(`$%!`XVA

    vk#|I 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�fj$a)3g}~?*sSh< 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�>pS5UqVGh+chVC@u#lnR^R5 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%0AI)2mJI~k1nE}`Hv#?-T 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%0Dqr!IUXeK?ujO~E^Gvpoo**}kNm=z| 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�FV_@CxC=t>z$c!PYv|C&!4 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 H#+3hG*ynN@ diff --git a/CommonLib/libRealSimDsLib_2024a_CM13_1_3.a b/CommonLib/libRealSimDsLib_2024a_CM13_1_3.a deleted file mode 100644 index c6bee810a4903609c40724bc7b101827a1d83c54..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 281204 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�JqDT3D>UtE;N2=@5I3I=I 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 E3lJ}H@&Et; diff --git a/CommonLib/ryml_all.hpp b/CommonLib/ryml_all.hpp deleted file mode 100644 index e4b32755..00000000 --- a/CommonLib/ryml_all.hpp +++ /dev/null @@ -1,33651 +0,0 @@ -#ifndef _RYML_SINGLE_HEADER_AMALGAMATED_HPP_ -#define _RYML_SINGLE_HEADER_AMALGAMATED_HPP_ - -// -// Rapid YAML - a library to parse and emit YAML, and do it fast. -// -// https://github.com/biojppm/rapidyaml -// -// DO NOT EDIT. This file is generated automatically. -// This is an amalgamated single-header version of the library. -// -// INSTRUCTIONS: -// - Include at will in any header of your project -// - In one (and only one) of your project source files, -// #define RYML_SINGLE_HDR_DEFINE_NOW and then include this header. -// This will enable the function and class definitions in -// the header file. -// - To compile into a shared library, just define the -// preprocessor symbol RYML_SHARED . This will take -// care of symbol export/import. -// - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// LICENSE.txt -// https://github.com/biojppm/rapidyaml/LICENSE.txt -//-------------------------------------------------------------------------------- -//******************************************************************************** - -// Copyright (c) 2018, Joao Paulo Magalhaes -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - - // shared library: export when defining -#if defined(RYML_SHARED) && defined(RYML_SINGLE_HDR_DEFINE_NOW) && !defined(RYML_EXPORTS) -#define RYML_EXPORTS -#endif - - - // propagate defines to c4core -#if defined(RYML_SINGLE_HDR_DEFINE_NOW) && !defined(C4CORE_SINGLE_HDR_DEFINE_NOW) -#define C4CORE_SINGLE_HDR_DEFINE_NOW -#endif - -#if defined(RYML_EXPORTS) && !defined(C4CORE_EXPORTS) -#define C4CORE_EXPORTS -#endif - -#if defined(RYML_SHARED) && !defined(C4CORE_SHARED) -#define C4CORE_SHARED -#endif - -// workaround for include removal while amalgamating -// resulting in missing in arm-none-eabi-g++ -// https://github.com/biojppm/rapidyaml/issues/193 -#include - - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/c4core_all.hpp -// https://github.com/biojppm/rapidyaml/src/c4/c4core_all.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4CORE_SINGLE_HEADER_AMALGAMATED_HPP_ -#define _C4CORE_SINGLE_HEADER_AMALGAMATED_HPP_ - -// -// c4core - C++ utilities -// -// https://github.com/biojppm/c4core -// -// DO NOT EDIT. This file is generated automatically. -// This is an amalgamated single-header version of the library. -// -// INSTRUCTIONS: -// - Include at will in any header of your project -// - In one (and only one) of your project source files, -// #define C4CORE_SINGLE_HDR_DEFINE_NOW and then include this header. -// This will enable the function and class definitions in -// the header file. -// - To compile into a shared library, just define the -// preprocessor symbol C4CORE_SHARED . This will take -// care of symbol export/import. -// - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// LICENSE.txt -// https://github.com/biojppm/c4core/LICENSE.txt -//-------------------------------------------------------------------------------- -//******************************************************************************** - -// Copyright (c) 2018, Joao Paulo Magalhaes -// -// Permission is hereby granted, free of charge, to any person obtaining -// a copy of this software and associated documentation files (the "Software"), -// to deal in the Software without restriction, including without limitation -// the rights to use, copy, modify, merge, publish, distribute, sublicense, -// and/or sell copies of the Software, and to permit persons to whom the -// Software is furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. -// - -// shared library: export when defining -#if defined(C4CORE_SHARED) && defined(C4CORE_SINGLE_HDR_DEFINE_NOW) && !defined(C4CORE_EXPORTS) -#define C4CORE_EXPORTS -#endif - - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/export.hpp -// https://github.com/biojppm/c4core/src/c4/export.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef C4_EXPORT_HPP_ -#define C4_EXPORT_HPP_ - -#ifdef _WIN32 - #ifdef C4CORE_SHARED - #ifdef C4CORE_EXPORTS - #define C4CORE_EXPORT __declspec(dllexport) - #else - #define C4CORE_EXPORT __declspec(dllimport) - #endif - #else - #define C4CORE_EXPORT - #endif -#else - #define C4CORE_EXPORT -#endif - -#endif /* C4CORE_EXPORT_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/export.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/preprocessor.hpp -// https://github.com/biojppm/c4core/src/c4/preprocessor.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_PREPROCESSOR_HPP_ -#define _C4_PREPROCESSOR_HPP_ - -/** @file preprocessor.hpp Contains basic macros and preprocessor utilities. - * @ingroup basic_headers */ - -#ifdef __clang__ - /* NOTE: using , ## __VA_ARGS__ to deal with zero-args calls to - * variadic macros is not portable, but works in clang, gcc, msvc, icc. - * clang requires switching off compiler warnings for pedantic mode. - * @see http://stackoverflow.com/questions/32047685/variadic-macro-without-arguments */ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" // warning: token pasting of ',' and __VA_ARGS__ is a GNU extension -#elif defined(__GNUC__) - /* GCC also issues a warning for zero-args calls to variadic macros. - * This warning is switched on with -pedantic and apparently there is no - * easy way to turn it off as with clang. But marking this as a system - * header works. - * @see https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html - * @see http://stackoverflow.com/questions/35587137/ */ -# pragma GCC system_header -#endif - -#define C4_WIDEN(str) L"" str - -#define C4_COUNTOF(arr) (sizeof(arr)/sizeof((arr)[0])) - -#define C4_EXPAND(arg) arg - -/** useful in some macro calls with template arguments */ -#define C4_COMMA , -/** useful in some macro calls with template arguments - * @see C4_COMMA */ -#define C4_COMMA_X C4_COMMA - -/** expand and quote */ -#define C4_XQUOTE(arg) _C4_XQUOTE(arg) -#define _C4_XQUOTE(arg) C4_QUOTE(arg) -#define C4_QUOTE(arg) #arg - -/** expand and concatenate */ -#define C4_XCAT(arg1, arg2) _C4_XCAT(arg1, arg2) -#define _C4_XCAT(arg1, arg2) C4_CAT(arg1, arg2) -#define C4_CAT(arg1, arg2) arg1##arg2 - -#define C4_VERSION_CAT(major, minor, patch) ((major)*10000 + (minor)*100 + (patch)) - -/** A preprocessor foreach. Spectacular trick taken from: - * http://stackoverflow.com/a/1872506/5875572 - * The first argument is for a macro receiving a single argument, - * which will be called with every subsequent argument. There is - * currently a limit of 32 arguments, and at least 1 must be provided. - * -Example: -@code{.cpp} -struct Example { - int a; - int b; - int c; -}; -// define a one-arg macro to be called -#define PRN_STRUCT_OFFSETS(field) PRN_STRUCT_OFFSETS_(Example, field) -#define PRN_STRUCT_OFFSETS_(structure, field) printf(C4_XQUOTE(structure) ":" C4_XQUOTE(field)" - offset=%zu\n", offsetof(structure, field)); - -// now call the macro for a, b and c -C4_FOR_EACH(PRN_STRUCT_OFFSETS, a, b, c); -@endcode */ -#define C4_FOR_EACH(what, ...) C4_FOR_EACH_SEP(what, ;, __VA_ARGS__) - -/** same as C4_FOR_EACH(), but use a custom separator between statements. - * If a comma is needed as the separator, use the C4_COMMA macro. - * @see C4_FOR_EACH - * @see C4_COMMA - */ -#define C4_FOR_EACH_SEP(what, sep, ...) _C4_FOR_EACH_(_C4_FOR_EACH_NARG(__VA_ARGS__), what, sep, __VA_ARGS__) - -/// @cond dev - -#define _C4_FOR_EACH_01(what, sep, x) what(x) sep -#define _C4_FOR_EACH_02(what, sep, x, ...) what(x) sep _C4_FOR_EACH_01(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_03(what, sep, x, ...) what(x) sep _C4_FOR_EACH_02(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_04(what, sep, x, ...) what(x) sep _C4_FOR_EACH_03(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_05(what, sep, x, ...) what(x) sep _C4_FOR_EACH_04(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_06(what, sep, x, ...) what(x) sep _C4_FOR_EACH_05(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_07(what, sep, x, ...) what(x) sep _C4_FOR_EACH_06(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_08(what, sep, x, ...) what(x) sep _C4_FOR_EACH_07(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_09(what, sep, x, ...) what(x) sep _C4_FOR_EACH_08(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_10(what, sep, x, ...) what(x) sep _C4_FOR_EACH_09(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_11(what, sep, x, ...) what(x) sep _C4_FOR_EACH_10(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_12(what, sep, x, ...) what(x) sep _C4_FOR_EACH_11(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_13(what, sep, x, ...) what(x) sep _C4_FOR_EACH_12(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_14(what, sep, x, ...) what(x) sep _C4_FOR_EACH_13(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_15(what, sep, x, ...) what(x) sep _C4_FOR_EACH_14(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_16(what, sep, x, ...) what(x) sep _C4_FOR_EACH_15(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_17(what, sep, x, ...) what(x) sep _C4_FOR_EACH_16(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_18(what, sep, x, ...) what(x) sep _C4_FOR_EACH_17(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_19(what, sep, x, ...) what(x) sep _C4_FOR_EACH_18(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_20(what, sep, x, ...) what(x) sep _C4_FOR_EACH_19(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_21(what, sep, x, ...) what(x) sep _C4_FOR_EACH_20(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_22(what, sep, x, ...) what(x) sep _C4_FOR_EACH_21(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_23(what, sep, x, ...) what(x) sep _C4_FOR_EACH_22(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_24(what, sep, x, ...) what(x) sep _C4_FOR_EACH_23(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_25(what, sep, x, ...) what(x) sep _C4_FOR_EACH_24(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_26(what, sep, x, ...) what(x) sep _C4_FOR_EACH_25(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_27(what, sep, x, ...) what(x) sep _C4_FOR_EACH_26(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_28(what, sep, x, ...) what(x) sep _C4_FOR_EACH_27(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_29(what, sep, x, ...) what(x) sep _C4_FOR_EACH_28(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_30(what, sep, x, ...) what(x) sep _C4_FOR_EACH_29(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_31(what, sep, x, ...) what(x) sep _C4_FOR_EACH_30(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_32(what, sep, x, ...) what(x) sep _C4_FOR_EACH_31(what, sep, __VA_ARGS__) -#define _C4_FOR_EACH_NARG(...) _C4_FOR_EACH_NARG_(__VA_ARGS__, _C4_FOR_EACH_RSEQ_N()) -#define _C4_FOR_EACH_NARG_(...) _C4_FOR_EACH_ARG_N(__VA_ARGS__) -#define _C4_FOR_EACH_ARG_N(_01, _02, _03, _04, _05, _06, _07, _08, _09, _10, _11, _12, _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26, _27, _28, _29, _30, _31, _32, N, ...) N -#define _C4_FOR_EACH_RSEQ_N() 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 09, 08, 07, 06, 05, 04, 03, 02, 01 -#define _C4_FOR_EACH_(N, what, sep, ...) C4_XCAT(_C4_FOR_EACH_, N)(what, sep, __VA_ARGS__) - -/// @endcond - -#ifdef __clang__ -# pragma clang diagnostic pop -#endif - -#endif /* _C4_PREPROCESSOR_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/preprocessor.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/platform.hpp -// https://github.com/biojppm/c4core/src/c4/platform.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_PLATFORM_HPP_ -#define _C4_PLATFORM_HPP_ - -/** @file platform.hpp Provides platform information macros - * @ingroup basic_headers */ - -// see also https://sourceforge.net/p/predef/wiki/OperatingSystems/ - -#if defined(_WIN64) -# define C4_WIN -# define C4_WIN64 -#elif defined(_WIN32) -# define C4_WIN -# define C4_WIN32 -#elif defined(__ANDROID__) -# define C4_ANDROID -#elif defined(__APPLE__) -# include "TargetConditionals.h" -# if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR -# define C4_IOS -# elif TARGET_OS_MAC || TARGET_OS_OSX -# define C4_MACOS -# else -# error "Unknown Apple platform" -# endif -#elif defined(__linux__) || defined(__linux) -# define C4_UNIX -# define C4_LINUX -#elif defined(__unix__) || defined(__unix) -# define C4_UNIX -#elif defined(__arm__) || defined(__aarch64__) -# define C4_ARM -#elif defined(SWIG) -# define C4_SWIG -#else -# error "unknown platform" -#endif - -#if defined(__posix) || defined(C4_UNIX) || defined(C4_LINUX) -# define C4_POSIX -#endif - - -#endif /* _C4_PLATFORM_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/platform.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/cpu.hpp -// https://github.com/biojppm/c4core/src/c4/cpu.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_CPU_HPP_ -#define _C4_CPU_HPP_ - -/** @file cpu.hpp Provides processor information macros - * @ingroup basic_headers */ - -// see also https://sourceforge.net/p/predef/wiki/Architectures/ -// see also https://sourceforge.net/p/predef/wiki/Endianness/ -// see also https://github.com/googlesamples/android-ndk/blob/android-mk/hello-jni/jni/hello-jni.c -// see http://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/qprocessordetection.h - -#ifdef __ORDER_LITTLE_ENDIAN__ - #define _C4EL __ORDER_LITTLE_ENDIAN__ -#else - #define _C4EL 1234 -#endif - -#ifdef __ORDER_BIG_ENDIAN__ - #define _C4EB __ORDER_BIG_ENDIAN__ -#else - #define _C4EB 4321 -#endif - -// mixed byte order (eg, PowerPC or ia64) -#define _C4EM 1111 - -#if defined(__x86_64) || defined(__x86_64__) || defined(__amd64) || defined(_M_X64) - #define C4_CPU_X86_64 - #define C4_WORDSIZE 8 - #define C4_BYTE_ORDER _C4EL - -#elif defined(__i386) || defined(__i386__) || defined(_M_IX86) - #define C4_CPU_X86 - #define C4_WORDSIZE 4 - #define C4_BYTE_ORDER _C4EL - -#elif defined(__arm__) || defined(_M_ARM) \ - || defined(__TARGET_ARCH_ARM) || defined(__aarch64__) || defined(_M_ARM64) - #if defined(__aarch64__) || defined(_M_ARM64) - #define C4_CPU_ARM64 - #define C4_CPU_ARMV8 - #define C4_WORDSIZE 8 - #else - #define C4_CPU_ARM - #define C4_WORDSIZE 4 - #if defined(__ARM_ARCH_8__) || defined(__ARM_ARCH_8A__) \ - || (defined(__ARCH_ARM) && __ARCH_ARM >= 8) - || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM >= 8) \ - #define C4_CPU_ARMV8 - #elif defined(__ARM_ARCH_7__) || defined(_ARM_ARCH_7) \ - || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7R__) \ - || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) \ - || defined(__ARM_ARCH_7EM__) \ - || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM >= 7) \ - || (defined(_M_ARM) && _M_ARM >= 7) - #define C4_CPU_ARMV7 - #elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \ - || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) \ - || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6ZK__) \ - || defined(__ARM_ARCH_6M__) || defined(__ARM_ARCH_6KZ__) \ - || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM >= 6) - #define C4_CPU_ARMV6 - #elif defined(__ARM_ARCH_5TEJ__) \ - || defined(__ARM_ARCH_5TE__) \ - || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM >= 5) - #define C4_CPU_ARMV5 - #elif defined(__ARM_ARCH_4T__) \ - || (defined(__TARGET_ARCH_ARM) && __TARGET_ARCH_ARM >= 4) - #define C4_CPU_ARMV4 - #else - #error "unknown CPU architecture: ARM" - #endif - #endif - #if defined(__ARMEL__) || defined(__LITTLE_ENDIAN__) || defined(__AARCH64EL__) \ - || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)) \ - || defined(_MSC_VER) // winarm64 does not provide any of the above macros, - // but advises little-endianess: - // https://docs.microsoft.com/en-us/cpp/build/overview-of-arm-abi-conventions?view=msvc-170 - // So if it is visual studio compiling, we'll assume little endian. - #define C4_BYTE_ORDER _C4EL - #elif defined(__ARMEB__) || defined(__BIG_ENDIAN__) || defined(__AARCH64EB__) \ - || (defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__)) - #define C4_BYTE_ORDER _C4EB - #elif defined(__BYTE_ORDER__) && (__BYTE_ORDER__ == __ORDER_PDP_ENDIAN__) - #define C4_BYTE_ORDER _C4EM - #else - #error "unknown endianness" - #endif - -#elif defined(__ia64) || defined(__ia64__) || defined(_M_IA64) - #define C4_CPU_IA64 - #define C4_WORDSIZE 8 - #define C4_BYTE_ORDER _C4EM - // itanium is bi-endian - check byte order below - -#elif defined(__ppc__) || defined(__ppc) || defined(__powerpc__) \ - || defined(_ARCH_COM) || defined(_ARCH_PWR) || defined(_ARCH_PPC) \ - || defined(_M_MPPC) || defined(_M_PPC) - #if defined(__ppc64__) || defined(__powerpc64__) || defined(__64BIT__) - #define C4_CPU_PPC64 - #define C4_WORDSIZE 8 - #else - #define C4_CPU_PPC - #define C4_WORDSIZE 4 - #endif - #define C4_BYTE_ORDER _C4EM - // ppc is bi-endian - check byte order below - -#elif defined(__s390x__) || defined(__zarch__) || defined(__SYSC_ZARCH_) -# define C4_CPU_S390_X -# define C4_WORDSIZE 8 -# define C4_BYTE_ORDER _C4EB - -#elif defined(__riscv) - #if __riscv_xlen == 64 - #define C4_CPU_RISCV64 - #define C4_WORDSIZE 8 - #else - #define C4_CPU_RISCV32 - #define C4_WORDSIZE 4 - #endif - #define C4_BYTE_ORDER _C4EL - -#elif defined(__EMSCRIPTEN__) -# define C4_BYTE_ORDER _C4EL -# define C4_WORDSIZE 4 - -#elif defined(SWIG) - #error "please define CPU architecture macros when compiling with swig" - -#else - #error "unknown CPU architecture" -#endif - -#define C4_LITTLE_ENDIAN (C4_BYTE_ORDER == _C4EL) -#define C4_BIG_ENDIAN (C4_BYTE_ORDER == _C4EB) -#define C4_MIXED_ENDIAN (C4_BYTE_ORDER == _C4EM) - -#endif /* _C4_CPU_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/cpu.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/compiler.hpp -// https://github.com/biojppm/c4core/src/c4/compiler.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_COMPILER_HPP_ -#define _C4_COMPILER_HPP_ - -/** @file compiler.hpp Provides compiler information macros - * @ingroup basic_headers */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/platform.hpp -//#include "c4/platform.hpp" -#if !defined(C4_PLATFORM_HPP_) && !defined(_C4_PLATFORM_HPP_) -#error "amalgamate: file c4/platform.hpp must have been included at this point" -#endif /* C4_PLATFORM_HPP_ */ - - -// Compilers: -// C4_MSVC -// Visual Studio 2022: MSVC++ 17, 1930 -// Visual Studio 2019: MSVC++ 16, 1920 -// Visual Studio 2017: MSVC++ 15 -// Visual Studio 2015: MSVC++ 14 -// Visual Studio 2013: MSVC++ 13 -// Visual Studio 2013: MSVC++ 12 -// Visual Studio 2012: MSVC++ 11 -// Visual Studio 2010: MSVC++ 10 -// Visual Studio 2008: MSVC++ 09 -// Visual Studio 2005: MSVC++ 08 -// C4_CLANG -// C4_GCC -// C4_ICC (intel compiler) -/** @see http://sourceforge.net/p/predef/wiki/Compilers/ for a list of compiler identifier macros */ -/** @see https://msdn.microsoft.com/en-us/library/b0084kay.aspx for VS2013 predefined macros */ - -#if defined(_MSC_VER)// && (defined(C4_WIN) || defined(C4_XBOX) || defined(C4_UE4)) -# define C4_MSVC -# define C4_MSVC_VERSION_2022 17 -# define C4_MSVC_VERSION_2019 16 -# define C4_MSVC_VERSION_2017 15 -# define C4_MSVC_VERSION_2015 14 -# define C4_MSVC_VERSION_2013 12 -# define C4_MSVC_VERSION_2012 11 -# if _MSC_VER >= 1930 -# define C4_MSVC_VERSION C4_MSVC_VERSION_2022 // visual studio 2022 -# define C4_MSVC_2022 -# elif _MSC_VER >= 1920 -# define C4_MSVC_VERSION C_4MSVC_VERSION_2019 // visual studio 2019 -# define C4_MSVC_2019 -# elif _MSC_VER >= 1910 -# define C4_MSVC_VERSION C4_MSVC_VERSION_2017 // visual studio 2017 -# define C4_MSVC_2017 -# elif _MSC_VER == 1900 -# define C4_MSVC_VERSION C4_MSVC_VERSION_2015 // visual studio 2015 -# define C4_MSVC_2015 -# elif _MSC_VER == 1800 -# error "MSVC version not supported" -# define C4_MSVC_VERSION C4_MSVC_VERSION_2013 // visual studio 2013 -# define C4_MSVC_2013 -# elif _MSC_VER == 1700 -# error "MSVC version not supported" -# define C4_MSVC_VERSION C4_MSVC_VERSION_2012 // visual studio 2012 -# define C4_MSVC_2012 -# elif _MSC_VER == 1600 -# error "MSVC version not supported" -# define C4_MSVC_VERSION 10 // visual studio 2010 -# define C4_MSVC_2010 -# elif _MSC_VER == 1500 -# error "MSVC version not supported" -# define C4_MSVC_VERSION 09 // visual studio 2008 -# define C4_MSVC_2008 -# elif _MSC_VER == 1400 -# error "MSVC version not supported" -# define C4_MSVC_VERSION 08 // visual studio 2005 -# define C4_MSVC_2005 -# else -# error "MSVC version not supported" -# endif // _MSC_VER -#else -# define C4_MSVC_VERSION 0 // visual studio not present -# define C4_GCC_LIKE -# ifdef __INTEL_COMPILER // check ICC before checking GCC, as ICC defines __GNUC__ too -# define C4_ICC -# define C4_ICC_VERSION __INTEL_COMPILER -# elif defined(__APPLE_CC__) -# define C4_XCODE -# if defined(__clang__) -# define C4_CLANG -# ifndef __apple_build_version__ -# define C4_CLANG_VERSION C4_VERSION_ENCODED(__clang_major__, __clang_minor__, __clang_patchlevel__) -# else -# define C4_CLANG_VERSION __apple_build_version__ -# endif -# else -# define C4_XCODE_VERSION __APPLE_CC__ -# endif -# elif defined(__clang__) -# define C4_CLANG -# ifndef __apple_build_version__ -# define C4_CLANG_VERSION C4_VERSION_ENCODED(__clang_major__, __clang_minor__, __clang_patchlevel__) -# else -# define C4_CLANG_VERSION __apple_build_version__ -# endif -# elif defined(__GNUC__) -# define C4_GCC -# if defined(__GNUC_PATCHLEVEL__) -# define C4_GCC_VERSION C4_VERSION_ENCODED(__GNUC__, __GNUC_MINOR__, __GNUC_PATCHLEVEL__) -# else -# define C4_GCC_VERSION C4_VERSION_ENCODED(__GNUC__, __GNUC_MINOR__, 0) -# endif -# if __GNUC__ < 5 -# if __GNUC__ == 4 && __GNUC_MINOR__ >= 8 -// provided by cmake sub-project -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/gcc-4.8.hpp -//# include "c4/gcc-4.8.hpp" -#if !defined(C4_GCC_4_8_HPP_) && !defined(_C4_GCC_4_8_HPP_) -#error "amalgamate: file c4/gcc-4.8.hpp must have been included at this point" -#endif /* C4_GCC_4_8_HPP_ */ - -# else -// we do not support GCC < 4.8: -// * misses std::is_trivially_copyable -// * misses std::align -// * -Wshadow has false positives when a local function parameter has the same name as a method -# error "GCC < 4.8 is not supported" -# endif -# endif -# endif -#endif // defined(C4_WIN) && defined(_MSC_VER) - -#endif /* _C4_COMPILER_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/compiler.hpp) - -// these includes are needed to work around conditional -// includes in the gcc4.8 shim -#include -#include -#include - - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// cmake/compat/c4/gcc-4.8.hpp -// https://github.com/biojppm/c4core/cmake/compat/c4/gcc-4.8.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_COMPAT_GCC_4_8_HPP_ -#define _C4_COMPAT_GCC_4_8_HPP_ - -#if __GNUC__ == 4 && __GNUC_MINOR__ >= 8 -/* STL polyfills for old GNU compilers */ - -_Pragma("GCC diagnostic ignored \"-Wshadow\"") -_Pragma("GCC diagnostic ignored \"-Wmissing-field-initializers\"") - -#if __cplusplus -//included above: -//#include -//included above: -//#include - -namespace std { - -template -struct is_trivially_copyable : public integral_constant::value && __has_trivial_destructor(_Tp) && - (__has_trivial_constructor(_Tp) || __has_trivial_copy(_Tp) || __has_trivial_assign(_Tp))> -{ }; - -template -using is_trivially_copy_constructible = has_trivial_copy_constructor<_Tp>; - -template -using is_trivially_default_constructible = has_trivial_default_constructor<_Tp>; - -template -using is_trivially_copy_assignable = has_trivial_copy_assign<_Tp>; - -/* not supported */ -template -struct is_trivially_move_constructible : false_type -{ }; - -/* not supported */ -template -struct is_trivially_move_assignable : false_type -{ }; - -inline void *align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept -{ - if (__space < __size) - return nullptr; - const auto __intptr = reinterpret_cast(__ptr); - const auto __aligned = (__intptr - 1u + __align) & -__align; - const auto __diff = __aligned - __intptr; - if (__diff > (__space - __size)) - return nullptr; - else - { - __space -= __diff; - return __ptr = reinterpret_cast(__aligned); - } -} -typedef long double max_align_t ; - -} -#else // __cplusplus - -//included above: -//#include -// see https://sourceware.org/bugzilla/show_bug.cgi?id=25399 (ubuntu gcc-4.8) -#define memset(s, c, count) __builtin_memset(s, c, count) - -#endif // __cplusplus - -#endif // __GNUC__ == 4 && __GNUC_MINOR__ >= 8 - -#endif // _C4_COMPAT_GCC_4_8_HPP_ - - -// (end https://github.com/biojppm/c4core/cmake/compat/c4/gcc-4.8.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/language.hpp -// https://github.com/biojppm/c4core/src/c4/language.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_LANGUAGE_HPP_ -#define _C4_LANGUAGE_HPP_ - -/** @file language.hpp Provides language standard information macros and - * compiler agnostic utility macros: namespace facilities, function attributes, - * variable attributes, etc. - * @ingroup basic_headers */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/preprocessor.hpp -//#include "c4/preprocessor.hpp" -#if !defined(C4_PREPROCESSOR_HPP_) && !defined(_C4_PREPROCESSOR_HPP_) -#error "amalgamate: file c4/preprocessor.hpp must have been included at this point" -#endif /* C4_PREPROCESSOR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/compiler.hpp -//#include "c4/compiler.hpp" -#if !defined(C4_COMPILER_HPP_) && !defined(_C4_COMPILER_HPP_) -#error "amalgamate: file c4/compiler.hpp must have been included at this point" -#endif /* C4_COMPILER_HPP_ */ - - -/* Detect C++ standard. - * @see http://stackoverflow.com/a/7132549/5875572 */ -#ifndef C4_CPP -# ifdef _MSC_VER -# if _MSC_VER >= 1910 // >VS2015: VS2017, VS2019 -# if (!defined(_MSVC_LANG)) -# error _MSVC not defined -# endif -# if _MSVC_LANG >= 201705L -# define C4_CPP 20 -# define C4_CPP20 -# elif _MSVC_LANG == 201703L -# define C4_CPP 17 -# define C4_CPP17 -# elif _MSVC_LANG >= 201402L -# define C4_CPP 14 -# define C4_CPP14 -# elif _MSVC_LANG >= 201103L -# define C4_CPP 11 -# define C4_CPP11 -# else -# error C++ lesser than C++11 not supported -# endif -# else -# if _MSC_VER == 1900 -# define C4_CPP 14 // VS2015 is c++14 https://devblogs.microsoft.com/cppblog/c111417-features-in-vs-2015-rtm/ -# define C4_CPP14 -# elif _MSC_VER == 1800 // VS2013 -# define C4_CPP 11 -# define C4_CPP11 -# else -# error C++ lesser than C++11 not supported -# endif -# endif -# elif defined(__INTEL_COMPILER) // https://software.intel.com/en-us/node/524490 -# ifdef __INTEL_CXX20_MODE__ // not sure about this -# define C4_CPP 20 -# define C4_CPP20 -# elif defined __INTEL_CXX17_MODE__ // not sure about this -# define C4_CPP 17 -# define C4_CPP17 -# elif defined __INTEL_CXX14_MODE__ // not sure about this -# define C4_CPP 14 -# define C4_CPP14 -# elif defined __INTEL_CXX11_MODE__ -# define C4_CPP 11 -# define C4_CPP11 -# else -# error C++ lesser than C++11 not supported -# endif -# else -# ifndef __cplusplus -# error __cplusplus is not defined? -# endif -# if __cplusplus == 1 -# error cannot handle __cplusplus==1 -# elif __cplusplus >= 201709L -# define C4_CPP 20 -# define C4_CPP20 -# elif __cplusplus >= 201703L -# define C4_CPP 17 -# define C4_CPP17 -# elif __cplusplus >= 201402L -# define C4_CPP 14 -# define C4_CPP14 -# elif __cplusplus >= 201103L -# define C4_CPP 11 -# define C4_CPP11 -# elif __cplusplus >= 199711L -# error C++ lesser than C++11 not supported -# endif -# endif -#else -# ifdef C4_CPP == 20 -# define C4_CPP20 -# elif C4_CPP == 17 -# define C4_CPP17 -# elif C4_CPP == 14 -# define C4_CPP14 -# elif C4_CPP == 11 -# define C4_CPP11 -# elif C4_CPP == 98 -# define C4_CPP98 -# error C++ lesser than C++11 not supported -# else -# error C4_CPP must be one of 20, 17, 14, 11, 98 -# endif -#endif - -#ifdef C4_CPP20 -# define C4_CPP17 -# define C4_CPP14 -# define C4_CPP11 -#elif defined(C4_CPP17) -# define C4_CPP14 -# define C4_CPP11 -#elif defined(C4_CPP14) -# define C4_CPP11 -#endif - -/** lifted from this answer: http://stackoverflow.com/a/20170989/5875572 */ -#ifndef _MSC_VER -# if __cplusplus < 201103 -# define C4_CONSTEXPR11 -# define C4_CONSTEXPR14 -//# define C4_NOEXCEPT -# elif __cplusplus == 201103 -# define C4_CONSTEXPR11 constexpr -# define C4_CONSTEXPR14 -//# define C4_NOEXCEPT noexcept -# else -# define C4_CONSTEXPR11 constexpr -# define C4_CONSTEXPR14 constexpr -//# define C4_NOEXCEPT noexcept -# endif -#else // _MSC_VER -# if _MSC_VER < 1900 -# define C4_CONSTEXPR11 -# define C4_CONSTEXPR14 -//# define C4_NOEXCEPT -# elif _MSC_VER < 2000 -# define C4_CONSTEXPR11 constexpr -# define C4_CONSTEXPR14 -//# define C4_NOEXCEPT noexcept -# else -# define C4_CONSTEXPR11 constexpr -# define C4_CONSTEXPR14 constexpr -//# define C4_NOEXCEPT noexcept -# endif -#endif // _MSC_VER - - -#if C4_CPP < 17 -#define C4_IF_CONSTEXPR -#define C4_INLINE_CONSTEXPR constexpr -#else -#define C4_IF_CONSTEXPR constexpr -#define C4_INLINE_CONSTEXPR inline constexpr -#endif - - -//------------------------------------------------------------ - -#define _C4_BEGIN_NAMESPACE(ns) namespace ns { -#define _C4_END_NAMESPACE(ns) } - -// MSVC cant handle the C4_FOR_EACH macro... need to fix this -//#define C4_BEGIN_NAMESPACE(...) C4_FOR_EACH_SEP(_C4_BEGIN_NAMESPACE, , __VA_ARGS__) -//#define C4_END_NAMESPACE(...) C4_FOR_EACH_SEP(_C4_END_NAMESPACE, , __VA_ARGS__) -#define C4_BEGIN_NAMESPACE(ns) namespace ns { -#define C4_END_NAMESPACE(ns) } - -#define C4_BEGIN_HIDDEN_NAMESPACE namespace /*hidden*/ { -#define C4_END_HIDDEN_NAMESPACE } /* namespace hidden */ - -//------------------------------------------------------------ - -#ifndef C4_API -# if defined(_MSC_VER) -# if defined(C4_EXPORT) -# define C4_API __declspec(dllexport) -# elif defined(C4_IMPORT) -# define C4_API __declspec(dllimport) -# else -# define C4_API -# endif -# else -# define C4_API -# endif -#endif - -#ifndef _MSC_VER ///< @todo assuming gcc-like compiler. check it is actually so. -/** for function attributes in GCC, - * @see https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes */ -/** for __builtin functions in GCC, - * @see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html */ -# define C4_RESTRICT __restrict__ -# define C4_RESTRICT_FN __attribute__((restrict)) -# define C4_NO_INLINE __attribute__((noinline)) -# define C4_ALWAYS_INLINE inline __attribute__((always_inline)) -# define C4_CONST __attribute__((const)) -# define C4_PURE __attribute__((pure)) -/** force inlining of every callee function */ -# define C4_FLATTEN __atribute__((flatten)) -/** mark a function as hot, ie as having a visible impact in CPU time - * thus making it more likely to inline, etc - * @see http://stackoverflow.com/questions/15028990/semantics-of-gcc-hot-attribute */ -# define C4_HOT __attribute__((hot)) -/** mark a function as cold, ie as NOT having a visible impact in CPU time - * @see http://stackoverflow.com/questions/15028990/semantics-of-gcc-hot-attribute */ -# define C4_COLD __attribute__((cold)) -# define C4_EXPECT(x, y) __builtin_expect(x, y) ///< @see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html -# define C4_LIKELY(x) __builtin_expect(x, 1) -# define C4_UNLIKELY(x) __builtin_expect(x, 0) -# define C4_UNREACHABLE() __builtin_unreachable() -# define C4_ATTR_FORMAT(...) //__attribute__((format (__VA_ARGS__))) ///< @see https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes -# define C4_NORETURN __attribute__((noreturn)) -#else -# define C4_RESTRICT __restrict -# define C4_RESTRICT_FN __declspec(restrict) -# define C4_NO_INLINE __declspec(noinline) -# define C4_ALWAYS_INLINE inline __forceinline -/** these are not available in VS AFAIK */ -# define C4_CONST -# define C4_PURE -# define C4_FLATTEN -# define C4_HOT /** @todo */ -# define C4_COLD /** @todo */ -# define C4_EXPECT(x, y) x /** @todo */ -# define C4_LIKELY(x) x /** @todo */ -# define C4_UNLIKELY(x) x /** @todo */ -# define C4_UNREACHABLE() /** @todo */ -# define C4_ATTR_FORMAT(...) /** */ -# define C4_NORETURN /** @todo */ -#endif - -#ifndef _MSC_VER -# define C4_FUNC __FUNCTION__ -# define C4_PRETTY_FUNC __PRETTY_FUNCTION__ -#else /// @todo assuming gcc-like compiler. check it is actually so. -# define C4_FUNC __FUNCTION__ -# define C4_PRETTY_FUNC __FUNCSIG__ -#endif - -/** prevent compiler warnings about a specific var being unused */ -#define C4_UNUSED(var) (void)var - -#if C4_CPP >= 17 -#define C4_STATIC_ASSERT(cond) static_assert(cond) -#else -#define C4_STATIC_ASSERT(cond) static_assert((cond), #cond) -#endif -#define C4_STATIC_ASSERT_MSG(cond, msg) static_assert((cond), #cond ": " msg) - -/** @def C4_DONT_OPTIMIZE idea lifted from GoogleBenchmark. - * @see https://github.com/google/benchmark/blob/master/include/benchmark/benchmark_api.h */ -namespace c4 { -namespace detail { -#ifdef __GNUC__ -# define C4_DONT_OPTIMIZE(var) c4::detail::dont_optimize(var) -template< class T > -C4_ALWAYS_INLINE void dont_optimize(T const& value) { asm volatile("" : : "g"(value) : "memory"); } -#else -# define C4_DONT_OPTIMIZE(var) c4::detail::use_char_pointer(reinterpret_cast< const char* >(&var)) -void use_char_pointer(char const volatile*); -#endif -} // namespace detail -} // namespace c4 - -/** @def C4_KEEP_EMPTY_LOOP prevent an empty loop from being optimized out. - * @see http://stackoverflow.com/a/7084193/5875572 */ -#ifndef _MSC_VER -# define C4_KEEP_EMPTY_LOOP { asm(""); } -#else -# define C4_KEEP_EMPTY_LOOP { char c; C4_DONT_OPTIMIZE(c); } -#endif - -/** @def C4_VA_LIST_REUSE_MUST_COPY - * @todo I strongly suspect that this is actually only in UNIX platforms. revisit this. */ -#ifdef __GNUC__ -# define C4_VA_LIST_REUSE_MUST_COPY -#endif - -#endif /* _C4_LANGUAGE_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/language.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/types.hpp -// https://github.com/biojppm/c4core/src/c4/types.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_TYPES_HPP_ -#define _C4_TYPES_HPP_ - -//included above: -//#include -#include -//included above: -//#include - -#if __cplusplus >= 201103L -#include // for integer_sequence and friends -#endif - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/preprocessor.hpp -//#include "c4/preprocessor.hpp" -#if !defined(C4_PREPROCESSOR_HPP_) && !defined(_C4_PREPROCESSOR_HPP_) -#error "amalgamate: file c4/preprocessor.hpp must have been included at this point" -#endif /* C4_PREPROCESSOR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/language.hpp -//#include "c4/language.hpp" -#if !defined(C4_LANGUAGE_HPP_) && !defined(_C4_LANGUAGE_HPP_) -#error "amalgamate: file c4/language.hpp must have been included at this point" -#endif /* C4_LANGUAGE_HPP_ */ - - -/** @file types.hpp basic types, and utility macros and traits for types. - * @ingroup basic_headers */ - -/** @defgroup types Type utilities */ - -namespace c4 { - -/** @defgroup intrinsic_types Intrinsic types - * @ingroup types - * @{ */ - -using cbyte = const char; /**< a constant byte */ -using byte = char; /**< a mutable byte */ - -using i8 = int8_t; -using i16 = int16_t; -using i32 = int32_t; -using i64 = int64_t; -using u8 = uint8_t; -using u16 = uint16_t; -using u32 = uint32_t; -using u64 = uint64_t; - -using f32 = float; -using f64 = double; - -using ssize_t = typename std::make_signed::type; - -/** @} */ - -//-------------------------------------------------- - -/** @defgroup utility_types Utility types - * @ingroup types - * @{ */ - -// some tag types - -/** a tag type for initializing the containers with variadic arguments a la - * initializer_list, minus the initializer_list overload problems. - */ -struct aggregate_t {}; -/** @see aggregate_t */ -constexpr const aggregate_t aggregate{}; - -/** a tag type for specifying the initial capacity of allocatable contiguous storage */ -struct with_capacity_t {}; -/** @see with_capacity_t */ -constexpr const with_capacity_t with_capacity{}; - -/** a tag type for disambiguating template parameter packs in variadic template overloads */ -struct varargs_t {}; -/** @see with_capacity_t */ -constexpr const varargs_t varargs{}; - - -//-------------------------------------------------- - -/** whether a value should be used in place of a const-reference in argument passing. */ -template -struct cref_uses_val -{ - enum { value = ( - std::is_scalar::value - || - ( -#if C4_CPP >= 20 - (std::is_trivially_copyable::value && std::is_standard_layout::value) -#else - std::is_pod::value -#endif - && - sizeof(T) <= sizeof(size_t))) }; -}; -/** utility macro to override the default behaviour for c4::fastcref - @see fastcref */ -#define C4_CREF_USES_VAL(T) \ -template<> \ -struct cref_uses_val \ -{ \ - enum { value = true }; \ -}; - -/** Whether to use pass-by-value or pass-by-const-reference in a function argument - * or return type. */ -template -using fastcref = typename std::conditional::value, T, T const&>::type; - -//-------------------------------------------------- - -/** Just what its name says. Useful sometimes as a default empty policy class. */ -struct EmptyStruct -{ - template EmptyStruct(T && ...){} -}; - -/** Just what its name says. Useful sometimes as a default policy class to - * be inherited from. */ -struct EmptyStructVirtual -{ - virtual ~EmptyStructVirtual() = default; - template EmptyStructVirtual(T && ...){} -}; - - -/** */ -template -struct inheritfrom : public T {}; - -//-------------------------------------------------- -// Utilities to make a class obey size restrictions (eg, min size or size multiple of). -// DirectX usually makes this restriction with uniform buffers. -// This is also useful for padding to prevent false-sharing. - -/** how many bytes must be added to size such that the result is at least minsize? */ -C4_ALWAYS_INLINE constexpr size_t min_remainder(size_t size, size_t minsize) noexcept -{ - return size < minsize ? minsize-size : 0; -} - -/** how many bytes must be added to size such that the result is a multiple of multipleof? */ -C4_ALWAYS_INLINE constexpr size_t mult_remainder(size_t size, size_t multipleof) noexcept -{ - return (((size % multipleof) != 0) ? (multipleof-(size % multipleof)) : 0); -} - -/* force the following class to be tightly packed. */ -#pragma pack(push, 1) -/** pad a class with more bytes at the end. - * @see http://stackoverflow.com/questions/21092415/force-c-structure-to-pack-tightly */ -template -struct Padded : public T -{ - using T::T; - using T::operator=; - Padded(T const& val) : T(val) {} - Padded(T && val) : T(val) {} - char ___c4padspace___[BytesToPadAtEnd]; -}; -#pragma pack(pop) -/** When the padding argument is 0, we cannot declare the char[] array. */ -template -struct Padded : public T -{ - using T::T; - using T::operator=; - Padded(T const& val) : T(val) {} - Padded(T && val) : T(val) {} -}; - -/** make T have a size which is at least Min bytes */ -template -using MinSized = Padded; - -/** make T have a size which is a multiple of Mult bytes */ -template -using MultSized = Padded; - -/** make T have a size which is simultaneously: - * -bigger or equal than Min - * -a multiple of Mult */ -template -using MinMultSized = MultSized, Mult>; - -/** make T be suitable for use as a uniform buffer. (at least with DirectX). */ -template -using UbufSized = MinMultSized; - - -//----------------------------------------------------------------------------- - -#define C4_NO_COPY_CTOR(ty) ty(ty const&) = delete -#define C4_NO_MOVE_CTOR(ty) ty(ty &&) = delete -#define C4_NO_COPY_ASSIGN(ty) ty& operator=(ty const&) = delete -#define C4_NO_MOVE_ASSIGN(ty) ty& operator=(ty &&) = delete -#define C4_DEFAULT_COPY_CTOR(ty) ty(ty const&) noexcept = default -#define C4_DEFAULT_MOVE_CTOR(ty) ty(ty &&) noexcept = default -#define C4_DEFAULT_COPY_ASSIGN(ty) ty& operator=(ty const&) noexcept = default -#define C4_DEFAULT_MOVE_ASSIGN(ty) ty& operator=(ty &&) noexcept = default - -#define C4_NO_COPY_OR_MOVE_CTOR(ty) \ - C4_NO_COPY_CTOR(ty); \ - C4_NO_MOVE_CTOR(ty) - -#define C4_NO_COPY_OR_MOVE_ASSIGN(ty) \ - C4_NO_COPY_ASSIGN(ty); \ - C4_NO_MOVE_ASSIGN(ty) - -#define C4_NO_COPY_OR_MOVE(ty) \ - C4_NO_COPY_OR_MOVE_CTOR(ty); \ - C4_NO_COPY_OR_MOVE_ASSIGN(ty) - -#define C4_DEFAULT_COPY_AND_MOVE_CTOR(ty) \ - C4_DEFAULT_COPY_CTOR(ty); \ - C4_DEFAULT_MOVE_CTOR(ty) - -#define C4_DEFAULT_COPY_AND_MOVE_ASSIGN(ty) \ - C4_DEFAULT_COPY_ASSIGN(ty); \ - C4_DEFAULT_MOVE_ASSIGN(ty) - -#define C4_DEFAULT_COPY_AND_MOVE(ty) \ - C4_DEFAULT_COPY_AND_MOVE_CTOR(ty); \ - C4_DEFAULT_COPY_AND_MOVE_ASSIGN(ty) - -/** @see https://en.cppreference.com/w/cpp/named_req/TriviallyCopyable */ -#define C4_MUST_BE_TRIVIAL_COPY(ty) \ - static_assert(std::is_trivially_copyable::value, #ty " must be trivially copyable") - -/** @} */ - - -//----------------------------------------------------------------------------- - -/** @defgroup traits_types Type traits utilities - * @ingroup types - * @{ */ - -// http://stackoverflow.com/questions/10821380/is-t-an-instance-of-a-template-in-c -template class X, typename T> struct is_instance_of_tpl : std::false_type {}; -template class X, typename... Y> struct is_instance_of_tpl> : std::true_type {}; - -//----------------------------------------------------------------------------- - -/** SFINAE. use this macro to enable a template function overload -based on a compile-time condition. -@code -// define an overload for a non-pod type -template::value)> -void foo() { std::cout << "pod type\n"; } - -// define an overload for a non-pod type -template::value)> -void foo() { std::cout << "nonpod type\n"; } - -struct non_pod -{ - non_pod() : name("asdfkjhasdkjh") {} - const char *name; -}; - -int main() -{ - foo(); // prints "pod type" - foo(); // prints "nonpod type" -} -@endcode */ -#define C4_REQUIRE_T(cond) typename std::enable_if::type* = nullptr - -/** enable_if for a return type - * @see C4_REQUIRE_T */ -#define C4_REQUIRE_R(cond, type_) typename std::enable_if::type - -//----------------------------------------------------------------------------- -/** define a traits class reporting whether a type provides a member typedef */ -#define C4_DEFINE_HAS_TYPEDEF(member_typedef) \ -template \ -struct has_##stype \ -{ \ -private: \ - \ - typedef char yes; \ - typedef struct { char array[2]; } no; \ - \ - template \ - static yes _test(typename C::member_typedef*); \ - \ - template \ - static no _test(...); \ - \ -public: \ - \ - enum { value = (sizeof(_test(0)) == sizeof(yes)) }; \ - \ -} - - -/** @} */ - - -//----------------------------------------------------------------------------- - - -/** @defgroup type_declarations Type declaration utilities - * @ingroup types - * @{ */ - -#define _c4_DEFINE_ARRAY_TYPES_WITHOUT_ITERATOR(T, I) \ - \ - using size_type = I; \ - using ssize_type = typename std::make_signed::type; \ - using difference_type = typename std::make_signed::type; \ - \ - using value_type = T; \ - using pointer = T*; \ - using const_pointer = T const*; \ - using reference = T&; \ - using const_reference = T const& - -#define _c4_DEFINE_TUPLE_ARRAY_TYPES_WITHOUT_ITERATOR(interior_types, I) \ - \ - using size_type = I; \ - using ssize_type = typename std::make_signed::type; \ - using difference_type = typename std::make_signed::type; \ - \ - template using value_type = typename std::tuple_element< n, std::tuple>::type; \ - template using pointer = value_type*; \ - template using const_pointer = value_type const*; \ - template using reference = value_type&; \ - template using const_reference = value_type const& - - -#define _c4_DEFINE_ARRAY_TYPES(T, I) \ - \ - _c4_DEFINE_ARRAY_TYPES_WITHOUT_ITERATOR(T, I); \ - \ - using iterator = T*; \ - using const_iterator = T const*; \ - using reverse_iterator = std::reverse_iterator; \ - using const_reverse_iterator = std::reverse_iterator - - -#define _c4_DEFINE_TUPLE_ARRAY_TYPES(interior_types, I) \ - \ - _c4_DEFINE_TUPLE_ARRAY_TYPES_WITHOUT_ITERATOR(interior_types, I); \ - \ - template using iterator = value_type*; \ - template using const_iterator = value_type const*; \ - template using reverse_iterator = std::reverse_iterator< value_type*>; \ - template using const_reverse_iterator = std::reverse_iterator< value_type const*> - - - -/** @} */ - - -//----------------------------------------------------------------------------- - - -/** @defgroup compatility_utilities Backport implementation of some Modern C++ utilities - * @ingroup types - * @{ */ - -//----------------------------------------------------------------------------- -// index_sequence and friends are available only for C++14 and later. -// A C++11 implementation is provided here. -// This implementation was copied over from clang. -// see http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/utility?revision=211563&view=markup#l687 - -#if __cplusplus > 201103L - -using std::integer_sequence; -using std::index_sequence; -using std::make_integer_sequence; -using std::make_index_sequence; -using std::index_sequence_for; - -#else - -/** C++11 implementation of integer sequence - * @see https://en.cppreference.com/w/cpp/utility/integer_sequence - * @see taken from clang: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/utility?revision=211563&view=markup#l687 */ -template -struct integer_sequence -{ - static_assert(std::is_integral<_Tp>::value, - "std::integer_sequence can only be instantiated with an integral type" ); - using value_type = _Tp; - static constexpr size_t size() noexcept { return sizeof...(_Ip); } -}; - -/** C++11 implementation of index sequence - * @see https://en.cppreference.com/w/cpp/utility/integer_sequence - * @see taken from clang: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/utility?revision=211563&view=markup#l687 */ -template -using index_sequence = integer_sequence; - -/** @cond DONT_DOCUMENT_THIS */ -namespace __detail { - -template -struct __repeat; - -template -struct __repeat, _Extra...> -{ - using type = integer_sequence<_Tp, - _Np..., - sizeof...(_Np) + _Np..., - 2 * sizeof...(_Np) + _Np..., - 3 * sizeof...(_Np) + _Np..., - 4 * sizeof...(_Np) + _Np..., - 5 * sizeof...(_Np) + _Np..., - 6 * sizeof...(_Np) + _Np..., - 7 * sizeof...(_Np) + _Np..., - _Extra...>; -}; - -template struct __parity; -template struct __make : __parity<_Np % 8>::template __pmake<_Np> {}; - -template<> struct __make<0> { using type = integer_sequence; }; -template<> struct __make<1> { using type = integer_sequence; }; -template<> struct __make<2> { using type = integer_sequence; }; -template<> struct __make<3> { using type = integer_sequence; }; -template<> struct __make<4> { using type = integer_sequence; }; -template<> struct __make<5> { using type = integer_sequence; }; -template<> struct __make<6> { using type = integer_sequence; }; -template<> struct __make<7> { using type = integer_sequence; }; - -template<> struct __parity<0> { template struct __pmake : __repeat::type> {}; }; -template<> struct __parity<1> { template struct __pmake : __repeat::type, _Np - 1> {}; }; -template<> struct __parity<2> { template struct __pmake : __repeat::type, _Np - 2, _Np - 1> {}; }; -template<> struct __parity<3> { template struct __pmake : __repeat::type, _Np - 3, _Np - 2, _Np - 1> {}; }; -template<> struct __parity<4> { template struct __pmake : __repeat::type, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; }; -template<> struct __parity<5> { template struct __pmake : __repeat::type, _Np - 5, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; }; -template<> struct __parity<6> { template struct __pmake : __repeat::type, _Np - 6, _Np - 5, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; }; -template<> struct __parity<7> { template struct __pmake : __repeat::type, _Np - 7, _Np - 6, _Np - 5, _Np - 4, _Np - 3, _Np - 2, _Np - 1> {}; }; - -template -struct __convert -{ - template struct __result; - template<_Tp ..._Np> struct __result> - { - using type = integer_sequence<_Up, _Np...>; - }; -}; - -template -struct __convert<_Tp, _Tp> -{ - template struct __result - { - using type = _Up; - }; -}; - -template -using __make_integer_sequence_unchecked = typename __detail::__convert::template __result::type>::type; - -template -struct __make_integer_sequence -{ - static_assert(std::is_integral<_Tp>::value, - "std::make_integer_sequence can only be instantiated with an integral type" ); - static_assert(0 <= _Ep, "std::make_integer_sequence input shall not be negative"); - typedef __make_integer_sequence_unchecked<_Tp, _Ep> type; -}; - -} // namespace __detail -/** @endcond */ - - -/** C++11 implementation of index sequence - * @see https://en.cppreference.com/w/cpp/utility/integer_sequence - * @see taken from clang: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/utility?revision=211563&view=markup#l687 */ -template -using make_integer_sequence = typename __detail::__make_integer_sequence<_Tp, _Np>::type; - -/** C++11 implementation of index sequence - * @see https://en.cppreference.com/w/cpp/utility/integer_sequence - * @see taken from clang: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/utility?revision=211563&view=markup#l687 */ -template -using make_index_sequence = make_integer_sequence; - -/** C++11 implementation of index sequence - * @see https://en.cppreference.com/w/cpp/utility/integer_sequence - * @see taken from clang: http://llvm.org/viewvc/llvm-project/libcxx/trunk/include/utility?revision=211563&view=markup#l687 */ -template -using index_sequence_for = make_index_sequence; -#endif - -/** @} */ - - -} // namespace c4 - -#endif /* _C4_TYPES_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/types.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/config.hpp -// https://github.com/biojppm/c4core/src/c4/config.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_CONFIG_HPP_ -#define _C4_CONFIG_HPP_ - -/** @defgroup basic_headers Basic headers - * @brief Headers providing basic macros, platform+cpu+compiler information, - * C++ facilities and basic typedefs. */ - -/** @file config.hpp Contains configuration defines and includes the basic_headers. - * @ingroup basic_headers */ - -//#define C4_DEBUG - -#define C4_ERROR_SHOWS_FILELINE -//#define C4_ERROR_SHOWS_FUNC -//#define C4_ERROR_THROWS_EXCEPTION -//#define C4_NO_ALLOC_DEFAULTS -//#define C4_REDEFINE_CPPNEW - -#ifndef C4_SIZE_TYPE -# define C4_SIZE_TYPE size_t -#endif - -#ifndef C4_STR_SIZE_TYPE -# define C4_STR_SIZE_TYPE C4_SIZE_TYPE -#endif - -#ifndef C4_TIME_TYPE -# define C4_TIME_TYPE double -#endif - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/export.hpp -//#include "c4/export.hpp" -#if !defined(C4_EXPORT_HPP_) && !defined(_C4_EXPORT_HPP_) -#error "amalgamate: file c4/export.hpp must have been included at this point" -#endif /* C4_EXPORT_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/preprocessor.hpp -//#include "c4/preprocessor.hpp" -#if !defined(C4_PREPROCESSOR_HPP_) && !defined(_C4_PREPROCESSOR_HPP_) -#error "amalgamate: file c4/preprocessor.hpp must have been included at this point" -#endif /* C4_PREPROCESSOR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/platform.hpp -//#include "c4/platform.hpp" -#if !defined(C4_PLATFORM_HPP_) && !defined(_C4_PLATFORM_HPP_) -#error "amalgamate: file c4/platform.hpp must have been included at this point" -#endif /* C4_PLATFORM_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/cpu.hpp -//#include "c4/cpu.hpp" -#if !defined(C4_CPU_HPP_) && !defined(_C4_CPU_HPP_) -#error "amalgamate: file c4/cpu.hpp must have been included at this point" -#endif /* C4_CPU_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/compiler.hpp -//#include "c4/compiler.hpp" -#if !defined(C4_COMPILER_HPP_) && !defined(_C4_COMPILER_HPP_) -#error "amalgamate: file c4/compiler.hpp must have been included at this point" -#endif /* C4_COMPILER_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/language.hpp -//#include "c4/language.hpp" -#if !defined(C4_LANGUAGE_HPP_) && !defined(_C4_LANGUAGE_HPP_) -#error "amalgamate: file c4/language.hpp must have been included at this point" -#endif /* C4_LANGUAGE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/types.hpp -//#include "c4/types.hpp" -#if !defined(C4_TYPES_HPP_) && !defined(_C4_TYPES_HPP_) -#error "amalgamate: file c4/types.hpp must have been included at this point" -#endif /* C4_TYPES_HPP_ */ - - -#endif // _C4_CONFIG_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/config.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/ext/debugbreak/debugbreak.h -// https://github.com/biojppm/c4core/src/c4/ext/debugbreak/debugbreak.h -//-------------------------------------------------------------------------------- -//******************************************************************************** - -/* Copyright (c) 2011-2021, Scott Tsai - * - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, - * this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ -#ifndef DEBUG_BREAK_H -#define DEBUG_BREAK_H - -#ifdef _MSC_VER - -#define debug_break __debugbreak - -#else - -#ifdef __cplusplus -extern "C" { -#endif - -#define DEBUG_BREAK_USE_TRAP_INSTRUCTION 1 -#define DEBUG_BREAK_USE_BULTIN_TRAP 2 -#define DEBUG_BREAK_USE_SIGTRAP 3 - -#if defined(__i386__) || defined(__x86_64__) - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_TRAP_INSTRUCTION -__inline__ static void trap_instruction(void) -{ - __asm__ volatile("int $0x03"); -} -#elif defined(__thumb__) - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_TRAP_INSTRUCTION -/* FIXME: handle __THUMB_INTERWORK__ */ -__attribute__((always_inline)) -__inline__ static void trap_instruction(void) -{ - /* See 'arm-linux-tdep.c' in GDB source. - * Both instruction sequences below work. */ -#if 1 - /* 'eabi_linux_thumb_le_breakpoint' */ - __asm__ volatile(".inst 0xde01"); -#else - /* 'eabi_linux_thumb2_le_breakpoint' */ - __asm__ volatile(".inst.w 0xf7f0a000"); -#endif - - /* Known problem: - * After a breakpoint hit, can't 'stepi', 'step', or 'continue' in GDB. - * 'step' would keep getting stuck on the same instruction. - * - * Workaround: use the new GDB commands 'debugbreak-step' and - * 'debugbreak-continue' that become available - * after you source the script from GDB: - * - * $ gdb -x debugbreak-gdb.py <... USUAL ARGUMENTS ...> - * - * 'debugbreak-step' would jump over the breakpoint instruction with - * roughly equivalent of: - * (gdb) set $instruction_len = 2 - * (gdb) tbreak *($pc + $instruction_len) - * (gdb) jump *($pc + $instruction_len) - */ -} -#elif defined(__arm__) && !defined(__thumb__) - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_TRAP_INSTRUCTION -__attribute__((always_inline)) -__inline__ static void trap_instruction(void) -{ - /* See 'arm-linux-tdep.c' in GDB source, - * 'eabi_linux_arm_le_breakpoint' */ - __asm__ volatile(".inst 0xe7f001f0"); - /* Known problem: - * Same problem and workaround as Thumb mode */ -} -#elif defined(__aarch64__) && defined(__APPLE__) - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_BULTIN_DEBUGTRAP -#elif defined(__aarch64__) - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_TRAP_INSTRUCTION -__attribute__((always_inline)) -__inline__ static void trap_instruction(void) -{ - /* See 'aarch64-tdep.c' in GDB source, - * 'aarch64_default_breakpoint' */ - __asm__ volatile(".inst 0xd4200000"); -} -#elif defined(__powerpc__) - /* PPC 32 or 64-bit, big or little endian */ - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_TRAP_INSTRUCTION -__attribute__((always_inline)) -__inline__ static void trap_instruction(void) -{ - /* See 'rs6000-tdep.c' in GDB source, - * 'rs6000_breakpoint' */ - __asm__ volatile(".4byte 0x7d821008"); - - /* Known problem: - * After a breakpoint hit, can't 'stepi', 'step', or 'continue' in GDB. - * 'step' stuck on the same instruction ("twge r2,r2"). - * - * The workaround is the same as ARM Thumb mode: use debugbreak-gdb.py - * or manually jump over the instruction. */ -} -#elif defined(__riscv) - /* RISC-V 32 or 64-bit, whether the "C" extension - * for compressed, 16-bit instructions are supported or not */ - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_TRAP_INSTRUCTION -__attribute__((always_inline)) -__inline__ static void trap_instruction(void) -{ - /* See 'riscv-tdep.c' in GDB source, - * 'riscv_sw_breakpoint_from_kind' */ - __asm__ volatile(".4byte 0x00100073"); -} -#else - #define DEBUG_BREAK_IMPL DEBUG_BREAK_USE_SIGTRAP -#endif - - -#ifndef DEBUG_BREAK_IMPL -#error "debugbreak.h is not supported on this target" -#elif DEBUG_BREAK_IMPL == DEBUG_BREAK_USE_TRAP_INSTRUCTION -__attribute__((always_inline)) -__inline__ static void debug_break(void) -{ - trap_instruction(); -} -#elif DEBUG_BREAK_IMPL == DEBUG_BREAK_USE_BULTIN_DEBUGTRAP -__attribute__((always_inline)) -__inline__ static void debug_break(void) -{ - __builtin_debugtrap(); -} -#elif DEBUG_BREAK_IMPL == DEBUG_BREAK_USE_BULTIN_TRAP -__attribute__((always_inline)) -__inline__ static void debug_break(void) -{ - __builtin_trap(); -} -#elif DEBUG_BREAK_IMPL == DEBUG_BREAK_USE_SIGTRAP -#include -__attribute__((always_inline)) -__inline__ static void debug_break(void) -{ - raise(SIGTRAP); -} -#else -#error "invalid DEBUG_BREAK_IMPL value" -#endif - -#ifdef __cplusplus -} -#endif - -#endif /* ifdef _MSC_VER */ - -#endif /* ifndef DEBUG_BREAK_H */ - - -// (end https://github.com/biojppm/c4core/src/c4/ext/debugbreak/debugbreak.h) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/error.hpp -// https://github.com/biojppm/c4core/src/c4/error.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_ERROR_HPP_ -#define _C4_ERROR_HPP_ - -/** @file error.hpp Facilities for error reporting and runtime assertions. */ - -/** @defgroup error_checking Error checking */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - - -#ifdef _DOXYGEN_ - /** if this is defined and exceptions are enabled, then calls to C4_ERROR() - * will throw an exception - * @ingroup error_checking */ -# define C4_EXCEPTIONS_ENABLED - /** if this is defined and exceptions are enabled, then calls to C4_ERROR() - * will throw an exception - * @see C4_EXCEPTIONS_ENABLED - * @ingroup error_checking */ -# define C4_ERROR_THROWS_EXCEPTION - /** evaluates to noexcept when C4_ERROR might be called and - * exceptions are disabled. Otherwise, defaults to nothing. - * @ingroup error_checking */ -# define C4_NOEXCEPT -#endif // _DOXYGEN_ - -#if defined(C4_EXCEPTIONS_ENABLED) && defined(C4_ERROR_THROWS_EXCEPTION) -# define C4_NOEXCEPT -#else -# define C4_NOEXCEPT noexcept -#endif - - -namespace c4 { -namespace detail { -struct fail_type__ {}; -} // detail -} // c4 -#define C4_STATIC_ERROR(dummy_type, errmsg) \ - static_assert(std::is_same::value, errmsg) - - -//----------------------------------------------------------------------------- - -#define C4_ASSERT_SAME_TYPE(ty1, ty2) \ - C4_STATIC_ASSERT(std::is_same::value) - -#define C4_ASSERT_DIFF_TYPE(ty1, ty2) \ - C4_STATIC_ASSERT( ! std::is_same::value) - - -//----------------------------------------------------------------------------- - -#ifdef _DOXYGEN_ -/** utility macro that triggers a breakpoint when - * the debugger is attached and NDEBUG is not defined. - * @ingroup error_checking */ -# define C4_DEBUG_BREAK() -#endif // _DOXYGEN_ - - -#if defined(NDEBUG) || defined(C4_NO_DEBUG_BREAK) -# define C4_DEBUG_BREAK() -#else -# ifdef __clang__ -# pragma clang diagnostic push -# if !defined(__APPLE_CC__) -# if __clang_major__ >= 10 -# pragma clang diagnostic ignored "-Wgnu-inline-cpp-without-extern" // debugbreak/debugbreak.h:50:16: error: 'gnu_inline' attribute without 'extern' in C++ treated as externally available, this changed in Clang 10 [-Werror,-Wgnu-inline-cpp-without-extern] -# endif -# else -# if __clang_major__ >= 13 -# pragma clang diagnostic ignored "-Wgnu-inline-cpp-without-extern" // debugbreak/debugbreak.h:50:16: error: 'gnu_inline' attribute without 'extern' in C++ treated as externally available, this changed in Clang 10 [-Werror,-Wgnu-inline-cpp-without-extern] -# endif -# endif -# elif defined(__GNUC__) -# endif -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/ext/debugbreak/debugbreak.h -//# include -#if !defined(DEBUG_BREAK_H) && !defined(_DEBUG_BREAK_H) -#error "amalgamate: file c4/ext/debugbreak/debugbreak.h must have been included at this point" -#endif /* DEBUG_BREAK_H */ - -# define C4_DEBUG_BREAK() if(c4::is_debugger_attached()) { ::debug_break(); } -# ifdef __clang__ -# pragma clang diagnostic pop -# elif defined(__GNUC__) -# endif -#endif - -namespace c4 { -C4CORE_EXPORT bool is_debugger_attached(); -} // namespace c4 - - -//----------------------------------------------------------------------------- - -#ifdef __clang__ - /* NOTE: using , ## __VA_ARGS__ to deal with zero-args calls to - * variadic macros is not portable, but works in clang, gcc, msvc, icc. - * clang requires switching off compiler warnings for pedantic mode. - * @see http://stackoverflow.com/questions/32047685/variadic-macro-without-arguments */ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" // warning: token pasting of ',' and __VA_ARGS__ is a GNU extension -#elif defined(__GNUC__) - /* GCC also issues a warning for zero-args calls to variadic macros. - * This warning is switched on with -pedantic and apparently there is no - * easy way to turn it off as with clang. But marking this as a system - * header works. - * @see https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html - * @see http://stackoverflow.com/questions/35587137/ */ -# pragma GCC system_header -#endif - - -//----------------------------------------------------------------------------- - -namespace c4 { - -typedef enum : uint32_t { - /** when an error happens and the debugger is attached, call C4_DEBUG_BREAK(). - * Without effect otherwise. */ - ON_ERROR_DEBUGBREAK = 0x01 << 0, - /** when an error happens log a message. */ - ON_ERROR_LOG = 0x01 << 1, - /** when an error happens invoke a callback if it was set with - * set_error_callback(). */ - ON_ERROR_CALLBACK = 0x01 << 2, - /** when an error happens call std::terminate(). */ - ON_ERROR_ABORT = 0x01 << 3, - /** when an error happens and exceptions are enabled throw an exception. - * Without effect otherwise. */ - ON_ERROR_THROW = 0x01 << 4, - /** the default flags. */ - ON_ERROR_DEFAULTS = ON_ERROR_DEBUGBREAK|ON_ERROR_LOG|ON_ERROR_CALLBACK|ON_ERROR_ABORT -} ErrorFlags_e; -using error_flags = uint32_t; -C4CORE_EXPORT void set_error_flags(error_flags f); -C4CORE_EXPORT error_flags get_error_flags(); - - -using error_callback_type = void (*)(const char* msg, size_t msg_size); -C4CORE_EXPORT void set_error_callback(error_callback_type cb); -C4CORE_EXPORT error_callback_type get_error_callback(); - - -//----------------------------------------------------------------------------- -/** RAII class controling the error settings inside a scope. */ -struct ScopedErrorSettings -{ - error_flags m_flags; - error_callback_type m_callback; - - explicit ScopedErrorSettings(error_callback_type cb) - : m_flags(get_error_flags()), - m_callback(get_error_callback()) - { - set_error_callback(cb); - } - explicit ScopedErrorSettings(error_flags flags) - : m_flags(get_error_flags()), - m_callback(get_error_callback()) - { - set_error_flags(flags); - } - explicit ScopedErrorSettings(error_flags flags, error_callback_type cb) - : m_flags(get_error_flags()), - m_callback(get_error_callback()) - { - set_error_flags(flags); - set_error_callback(cb); - } - ~ScopedErrorSettings() - { - set_error_flags(m_flags); - set_error_callback(m_callback); - } -}; - - -//----------------------------------------------------------------------------- - -/** source location */ -struct srcloc; - -C4CORE_EXPORT void handle_error(srcloc s, const char *fmt, ...); -C4CORE_EXPORT void handle_warning(srcloc s, const char *fmt, ...); - - -# define C4_ERROR(msg, ...) \ - do { \ - if(c4::get_error_flags() & c4::ON_ERROR_DEBUGBREAK) \ - { \ - C4_DEBUG_BREAK() \ - } \ - c4::handle_error(C4_SRCLOC(), msg, ## __VA_ARGS__); \ - } while(0) - - -# define C4_WARNING(msg, ...) \ - c4::handle_warning(C4_SRCLOC(), msg, ## __VA_ARGS__) - - -#if defined(C4_ERROR_SHOWS_FILELINE) && defined(C4_ERROR_SHOWS_FUNC) - -struct srcloc -{ - const char *file = ""; - const char *func = ""; - int line = 0; -}; -#define C4_SRCLOC() c4::srcloc{__FILE__, C4_PRETTY_FUNC, __LINE__} - -#elif defined(C4_ERROR_SHOWS_FILELINE) - -struct srcloc -{ - const char *file; - int line; -}; -#define C4_SRCLOC() c4::srcloc{__FILE__, __LINE__} - -#elif ! defined(C4_ERROR_SHOWS_FUNC) - -struct srcloc -{ -}; -#define C4_SRCLOC() c4::srcloc() - -#else -# error not implemented -#endif - - -//----------------------------------------------------------------------------- -// assertions - -// Doxygen needs this so that only one definition counts -#ifdef _DOXYGEN_ - /** Explicitly enables assertions, independently of NDEBUG status. - * This is meant to allow enabling assertions even when NDEBUG is defined. - * Defaults to undefined. - * @ingroup error_checking */ -# define C4_USE_ASSERT - /** assert that a condition is true; this is turned off when NDEBUG - * is defined and C4_USE_ASSERT is not true. - * @ingroup error_checking */ -# define C4_ASSERT - /** same as C4_ASSERT(), additionally prints a printf-formatted message - * @ingroup error_checking */ -# define C4_ASSERT_MSG - /** evaluates to C4_NOEXCEPT when C4_XASSERT is disabled; otherwise, defaults - * to noexcept - * @ingroup error_checking */ -# define C4_NOEXCEPT_A -#endif // _DOXYGEN_ - -#ifndef C4_USE_ASSERT -# ifdef NDEBUG -# define C4_USE_ASSERT 0 -# else -# define C4_USE_ASSERT 1 -# endif -#endif - -#if C4_USE_ASSERT -# define C4_ASSERT(cond) C4_CHECK(cond) -# define C4_ASSERT_MSG(cond, /*fmt, */...) C4_CHECK_MSG(cond, ## __VA_ARGS__) -# define C4_ASSERT_IF(predicate, cond) if(predicate) { C4_ASSERT(cond); } -# define C4_NOEXCEPT_A C4_NOEXCEPT -#else -# define C4_ASSERT(cond) -# define C4_ASSERT_MSG(cond, /*fmt, */...) -# define C4_ASSERT_IF(predicate, cond) -# define C4_NOEXCEPT_A noexcept -#endif - - -//----------------------------------------------------------------------------- -// extreme assertions - -// Doxygen needs this so that only one definition counts -#ifdef _DOXYGEN_ - /** Explicitly enables extreme assertions; this is meant to allow enabling - * assertions even when NDEBUG is defined. Defaults to undefined. - * @ingroup error_checking */ -# define C4_USE_XASSERT - /** extreme assertion: can be switched off independently of - * the regular assertion; use for example for bounds checking in hot code. - * Turned on only when C4_USE_XASSERT is defined - * @ingroup error_checking */ -# define C4_XASSERT - /** same as C4_XASSERT(), and additionally prints a printf-formatted message - * @ingroup error_checking */ -# define C4_XASSERT_MSG - /** evaluates to C4_NOEXCEPT when C4_XASSERT is disabled; otherwise, defaults to noexcept - * @ingroup error_checking */ -# define C4_NOEXCEPT_X -#endif // _DOXYGEN_ - -#ifndef C4_USE_XASSERT -# define C4_USE_XASSERT C4_USE_ASSERT -#endif - -#if C4_USE_XASSERT -# define C4_XASSERT(cond) C4_CHECK(cond) -# define C4_XASSERT_MSG(cond, /*fmt, */...) C4_CHECK_MSG(cond, ## __VA_ARGS__) -# define C4_XASSERT_IF(predicate, cond) if(predicate) { C4_XASSERT(cond); } -# define C4_NOEXCEPT_X C4_NOEXCEPT -#else -# define C4_XASSERT(cond) -# define C4_XASSERT_MSG(cond, /*fmt, */...) -# define C4_XASSERT_IF(predicate, cond) -# define C4_NOEXCEPT_X noexcept -#endif - - -//----------------------------------------------------------------------------- -// checks: never switched-off - -/** Check that a condition is true, or raise an error when not - * true. Unlike C4_ASSERT(), this check is not disabled in non-debug - * builds. - * @see C4_ASSERT - * @ingroup error_checking - * - * @todo add constexpr-compatible compile-time assert: - * https://akrzemi1.wordpress.com/2017/05/18/asserts-in-constexpr-functions/ - */ -#define C4_CHECK(cond) \ - do { \ - if(C4_UNLIKELY(!(cond))) \ - { \ - C4_ERROR("check failed: %s", #cond); \ - } \ - } while(0) - - -/** like C4_CHECK(), and additionally log a printf-style message. - * @see C4_CHECK - * @ingroup error_checking */ -#define C4_CHECK_MSG(cond, fmt, ...) \ - do { \ - if(C4_UNLIKELY(!(cond))) \ - { \ - C4_ERROR("check failed: " #cond "\n" fmt, ## __VA_ARGS__); \ - } \ - } while(0) - - -//----------------------------------------------------------------------------- -// Common error conditions - -#define C4_NOT_IMPLEMENTED() C4_ERROR("NOT IMPLEMENTED") -#define C4_NOT_IMPLEMENTED_MSG(/*msg, */...) C4_ERROR("NOT IMPLEMENTED: " ## __VA_ARGS__) -#define C4_NOT_IMPLEMENTED_IF(condition) do { if(C4_UNLIKELY(condition)) { C4_ERROR("NOT IMPLEMENTED"); } } while(0) -#define C4_NOT_IMPLEMENTED_IF_MSG(condition, /*msg, */...) do { if(C4_UNLIKELY(condition)) { C4_ERROR("NOT IMPLEMENTED: " ## __VA_ARGS__); } } while(0) - -#define C4_NEVER_REACH() do { C4_ERROR("never reach this point"); C4_UNREACHABLE(); } while(0) -#define C4_NEVER_REACH_MSG(/*msg, */...) do { C4_ERROR("never reach this point: " ## __VA_ARGS__); C4_UNREACHABLE(); } while(0) - - - -//----------------------------------------------------------------------------- -// helpers for warning suppression -// idea adapted from https://github.com/onqtam/doctest/ - - -#ifdef C4_MSVC -#define C4_SUPPRESS_WARNING_MSVC_PUSH __pragma(warning(push)) -#define C4_SUPPRESS_WARNING_MSVC(w) __pragma(warning(disable : w)) -#define C4_SUPPRESS_WARNING_MSVC_POP __pragma(warning(pop)) -#define C4_SUPPRESS_WARNING_MSVC_WITH_PUSH(w) \ - C4_SUPPRESS_WARNING_MSVC_PUSH \ - C4_SUPPRESS_WARNING_MSVC(w) -#else // C4_MSVC -#define C4_SUPPRESS_WARNING_MSVC_PUSH -#define C4_SUPPRESS_WARNING_MSVC(w) -#define C4_SUPPRESS_WARNING_MSVC_POP -#define C4_SUPPRESS_WARNING_MSVC_WITH_PUSH(w) -#endif // C4_MSVC - - -#ifdef C4_CLANG -#define C4_PRAGMA_TO_STR(x) _Pragma(#x) -#define C4_SUPPRESS_WARNING_CLANG_PUSH _Pragma("clang diagnostic push") -#define C4_SUPPRESS_WARNING_CLANG(w) C4_PRAGMA_TO_STR(clang diagnostic ignored w) -#define C4_SUPPRESS_WARNING_CLANG_POP _Pragma("clang diagnostic pop") -#define C4_SUPPRESS_WARNING_CLANG_WITH_PUSH(w) \ - C4_SUPPRESS_WARNING_CLANG_PUSH \ - C4_SUPPRESS_WARNING_CLANG(w) -#else // C4_CLANG -#define C4_SUPPRESS_WARNING_CLANG_PUSH -#define C4_SUPPRESS_WARNING_CLANG(w) -#define C4_SUPPRESS_WARNING_CLANG_POP -#define C4_SUPPRESS_WARNING_CLANG_WITH_PUSH(w) -#endif // C4_CLANG - - -#ifdef C4_GCC -#define C4_PRAGMA_TO_STR(x) _Pragma(#x) -#define C4_SUPPRESS_WARNING_GCC_PUSH _Pragma("GCC diagnostic push") -#define C4_SUPPRESS_WARNING_GCC(w) C4_PRAGMA_TO_STR(GCC diagnostic ignored w) -#define C4_SUPPRESS_WARNING_GCC_POP _Pragma("GCC diagnostic pop") -#define C4_SUPPRESS_WARNING_GCC_WITH_PUSH(w) \ - C4_SUPPRESS_WARNING_GCC_PUSH \ - C4_SUPPRESS_WARNING_GCC(w) -#else // C4_GCC -#define C4_SUPPRESS_WARNING_GCC_PUSH -#define C4_SUPPRESS_WARNING_GCC(w) -#define C4_SUPPRESS_WARNING_GCC_POP -#define C4_SUPPRESS_WARNING_GCC_WITH_PUSH(w) -#endif // C4_GCC - - -#define C4_SUPPRESS_WARNING_GCC_CLANG_PUSH \ - C4_SUPPRESS_WARNING_GCC_PUSH \ - C4_SUPPRESS_WARNING_CLANG_PUSH - -#define C4_SUPPRESS_WARNING_GCC_CLANG(w) \ - C4_SUPPRESS_WARNING_GCC(w) \ - C4_SUPPRESS_WARNING_CLANG(w) - -#define C4_SUPPRESS_WARNING_GCC_CLANG_WITH_PUSH(w) \ - C4_SUPPRESS_WARNING_GCC_WITH_PUSH(w) \ - C4_SUPPRESS_WARNING_CLANG_WITH_PUSH(w) - -#define C4_SUPPRESS_WARNING_GCC_CLANG_POP \ - C4_SUPPRESS_WARNING_GCC_POP \ - C4_SUPPRESS_WARNING_CLANG_POP - -} // namespace c4 - -#ifdef __clang__ -# pragma clang diagnostic pop -#endif - -#endif /* _C4_ERROR_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/error.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/memory_util.hpp -// https://github.com/biojppm/c4core/src/c4/memory_util.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_MEMORY_UTIL_HPP_ -#define _C4_MEMORY_UTIL_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/compiler.hpp -//#include "c4/compiler.hpp" -#if !defined(C4_COMPILER_HPP_) && !defined(_C4_COMPILER_HPP_) -#error "amalgamate: file c4/compiler.hpp must have been included at this point" -#endif /* C4_COMPILER_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/cpu.hpp -//#include "c4/cpu.hpp" -#if !defined(C4_CPU_HPP_) && !defined(_C4_CPU_HPP_) -#error "amalgamate: file c4/cpu.hpp must have been included at this point" -#endif /* C4_CPU_HPP_ */ - -#ifdef C4_MSVC -#include -#endif -//included above: -//#include - -#if (defined(__GNUC__) && __GNUC__ >= 10) || defined(__has_builtin) -#define _C4_USE_LSB_INTRINSIC(which) __has_builtin(which) -#define _C4_USE_MSB_INTRINSIC(which) __has_builtin(which) -#elif defined(C4_MSVC) -#define _C4_USE_LSB_INTRINSIC(which) true -#define _C4_USE_MSB_INTRINSIC(which) true -#else -// let's try our luck -#define _C4_USE_LSB_INTRINSIC(which) true -#define _C4_USE_MSB_INTRINSIC(which) true -#endif - - -/** @file memory_util.hpp Some memory utilities. */ - -namespace c4 { - -/** set the given memory to zero */ -C4_ALWAYS_INLINE void mem_zero(void* mem, size_t num_bytes) -{ - memset(mem, 0, num_bytes); -} -/** set the given memory to zero */ -template -C4_ALWAYS_INLINE void mem_zero(T* mem, size_t num_elms) -{ - memset(mem, 0, sizeof(T) * num_elms); -} -/** set the given memory to zero */ -template -C4_ALWAYS_INLINE void mem_zero(T* mem) -{ - memset(mem, 0, sizeof(T)); -} - -C4_ALWAYS_INLINE C4_CONST bool mem_overlaps(void const* a, void const* b, size_t sza, size_t szb) -{ - // thanks @timwynants - return (((const char*)b + szb) > a && b < ((const char*)a+sza)); -} - -void mem_repeat(void* dest, void const* pattern, size_t pattern_size, size_t num_times); - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -template -C4_ALWAYS_INLINE C4_CONST bool is_aligned(T *ptr, uintptr_t alignment=alignof(T)) -{ - return (uintptr_t(ptr) & (alignment - uintptr_t(1))) == uintptr_t(0); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// least significant bit - -/** @name msb Compute the least significant bit - * @note the input value must be nonzero - * @note the input type must be unsigned - */ -/** @{ */ - -// https://graphics.stanford.edu/~seander/bithacks.html#ZerosOnRightLinear -#define _c4_lsb_fallback \ - unsigned c = 0; \ - v = (v ^ (v - 1)) >> 1; /* Set v's trailing 0s to 1s and zero rest */ \ - for(; v; ++c) \ - v >>= 1; \ - return (unsigned) c - -// u8 -template -C4_CONSTEXPR14 -auto lsb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_LSB_INTRINSIC(__builtin_ctz) - // upcast to use the intrinsic, it's cheaper. - #ifdef C4_MSVC - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanForward(&bit, (unsigned long)v); - return bit; - #else - _c4_lsb_fallback; - #endif - #else - return (unsigned)__builtin_ctz((unsigned)v); - #endif - #else - _c4_lsb_fallback; - #endif -} - -// u16 -template -C4_CONSTEXPR14 -auto lsb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_LSB_INTRINSIC(__builtin_ctz) - // upcast to use the intrinsic, it's cheaper. - // Then remember that the upcast makes it to 31bits - #ifdef C4_MSVC - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanForward(&bit, (unsigned long)v); - return bit; - #else - _c4_lsb_fallback; - #endif - #else - return (unsigned)__builtin_ctz((unsigned)v); - #endif - #else - _c4_lsb_fallback; - #endif -} - -// u32 -template -C4_CONSTEXPR14 -auto lsb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_LSB_INTRINSIC(__builtin_ctz) - #ifdef C4_MSVC - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanForward(&bit, v); - return bit; - #else - _c4_lsb_fallback; - #endif - #else - return (unsigned)__builtin_ctz((unsigned)v); - #endif - #else - _c4_lsb_fallback; - #endif -} - -// u64 in 64bits -template -C4_CONSTEXPR14 -auto lsb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_LSB_INTRINSIC(__builtin_ctzl) - #if defined(C4_MSVC) - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanForward64(&bit, v); - return bit; - #else - _c4_lsb_fallback; - #endif - #else - return (unsigned)__builtin_ctzl((unsigned long)v); - #endif - #else - _c4_lsb_fallback; - #endif -} - -// u64 in 32bits -template -C4_CONSTEXPR14 -auto lsb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_LSB_INTRINSIC(__builtin_ctzll) - #if defined(C4_MSVC) - #if !defined(C4_CPU_X86) && !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanForward64(&bit, v); - return bit; - #else - _c4_lsb_fallback; - #endif - #else - return (unsigned)__builtin_ctzll((unsigned long long)v); - #endif - #else - _c4_lsb_fallback; - #endif -} - -#undef _c4_lsb_fallback - -/** @} */ - - -namespace detail { -template struct _lsb11; -template -struct _lsb11 -{ - enum : unsigned { num = _lsb11>1), num_bits+I(1), (((val>>1)&I(1))!=I(0))>::num }; -}; -template -struct _lsb11 -{ - enum : unsigned { num = num_bits }; -}; -} // namespace detail - - -/** TMP version of lsb(); this needs to be implemented with template - * meta-programming because C++11 cannot use a constexpr function with - * local variables - * @see lsb */ -template -struct lsb11 -{ - static_assert(number != 0, "lsb: number must be nonzero"); - enum : unsigned { value = detail::_lsb11::num}; -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// most significant bit - - -/** @name msb Compute the most significant bit - * @note the input value must be nonzero - * @note the input type must be unsigned - */ -/** @{ */ - - -#define _c4_msb8_fallback \ - unsigned n = 0; \ - if(v & I(0xf0)) v >>= 4, n |= I(4); \ - if(v & I(0x0c)) v >>= 2, n |= I(2); \ - if(v & I(0x02)) v >>= 1, n |= I(1); \ - return n - -#define _c4_msb16_fallback \ - unsigned n = 0; \ - if(v & I(0xff00)) v >>= 8, n |= I(8); \ - if(v & I(0x00f0)) v >>= 4, n |= I(4); \ - if(v & I(0x000c)) v >>= 2, n |= I(2); \ - if(v & I(0x0002)) v >>= 1, n |= I(1); \ - return n - -#define _c4_msb32_fallback \ - unsigned n = 0; \ - if(v & I(0xffff0000)) v >>= 16, n |= 16; \ - if(v & I(0x0000ff00)) v >>= 8, n |= 8; \ - if(v & I(0x000000f0)) v >>= 4, n |= 4; \ - if(v & I(0x0000000c)) v >>= 2, n |= 2; \ - if(v & I(0x00000002)) v >>= 1, n |= 1; \ - return n - -#define _c4_msb64_fallback \ - unsigned n = 0; \ - if(v & I(0xffffffff00000000)) v >>= 32, n |= I(32); \ - if(v & I(0x00000000ffff0000)) v >>= 16, n |= I(16); \ - if(v & I(0x000000000000ff00)) v >>= 8, n |= I(8); \ - if(v & I(0x00000000000000f0)) v >>= 4, n |= I(4); \ - if(v & I(0x000000000000000c)) v >>= 2, n |= I(2); \ - if(v & I(0x0000000000000002)) v >>= 1, n |= I(1); \ - return n - - -// u8 -template -C4_CONSTEXPR14 -auto msb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_MSB_INTRINSIC(__builtin_clz) - // upcast to use the intrinsic, it's cheaper. - // Then remember that the upcast makes it to 31bits - #ifdef C4_MSVC - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanReverse(&bit, (unsigned long)v); - return bit; - #else - _c4_msb8_fallback; - #endif - #else - return 31u - (unsigned)__builtin_clz((unsigned)v); - #endif - #else - _c4_msb8_fallback; - #endif -} - -// u16 -template -C4_CONSTEXPR14 -auto msb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_MSB_INTRINSIC(__builtin_clz) - // upcast to use the intrinsic, it's cheaper. - // Then remember that the upcast makes it to 31bits - #ifdef C4_MSVC - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanReverse(&bit, (unsigned long)v); - return bit; - #else - _c4_msb16_fallback; - #endif - #else - return 31u - (unsigned)__builtin_clz((unsigned)v); - #endif - #else - _c4_msb16_fallback; - #endif -} - -// u32 -template -C4_CONSTEXPR14 -auto msb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_MSB_INTRINSIC(__builtin_clz) - #ifdef C4_MSVC - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanReverse(&bit, v); - return bit; - #else - _c4_msb32_fallback; - #endif - #else - return 31u - (unsigned)__builtin_clz((unsigned)v); - #endif - #else - _c4_msb32_fallback; - #endif -} - -// u64 in 64bits -template -C4_CONSTEXPR14 -auto msb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_MSB_INTRINSIC(__builtin_clzl) - #ifdef C4_MSVC - #if !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanReverse64(&bit, v); - return bit; - #else - _c4_msb64_fallback; - #endif - #else - return 63u - (unsigned)__builtin_clzl((unsigned long)v); - #endif - #else - _c4_msb64_fallback; - #endif -} - -// u64 in 32bits -template -C4_CONSTEXPR14 -auto msb(I v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(v != 0); - #if _C4_USE_MSB_INTRINSIC(__builtin_clzll) - #ifdef C4_MSVC - #if !defined(C4_CPU_X86) && !defined(C4_CPU_ARM64) && !defined(C4_CPU_ARM) - unsigned long bit; - _BitScanReverse64(&bit, v); - return bit; - #else - _c4_msb64_fallback; - #endif - #else - return 63u - (unsigned)__builtin_clzll((unsigned long long)v); - #endif - #else - _c4_msb64_fallback; - #endif -} - -#undef _c4_msb8_fallback -#undef _c4_msb16_fallback -#undef _c4_msb32_fallback -#undef _c4_msb64_fallback - -/** @} */ - - -namespace detail { -template struct _msb11; -template -struct _msb11< I, val, num_bits, false> -{ - enum : unsigned { num = _msb11>1), num_bits+I(1), ((val>>1)==I(0))>::num }; -}; -template -struct _msb11 -{ - static_assert(val == 0, "bad implementation"); - enum : unsigned { num = (unsigned)(num_bits-1) }; -}; -} // namespace detail - - -/** TMP version of msb(); this needs to be implemented with template - * meta-programming because C++11 cannot use a constexpr function with - * local variables - * @see msb */ -template -struct msb11 -{ - enum : unsigned { value = detail::_msb11::num }; -}; - - - -#undef _C4_USE_LSB_INTRINSIC -#undef _C4_USE_MSB_INTRINSIC - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -// there is an implicit conversion below; it happens when E or B are -// narrower than int, and thus any operation will upcast the result to -// int, and then downcast to assign -C4_SUPPRESS_WARNING_GCC_CLANG_WITH_PUSH("-Wconversion") - -/** integer power; this function is constexpr-14 because of the local - * variables */ -template -C4_CONSTEXPR14 C4_CONST auto ipow(B base, E exponent) noexcept -> typename std::enable_if::value, B>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - B r = B(1); - if(exponent >= 0) - { - for(E e = 0; e < exponent; ++e) - r *= base; - } - else - { - exponent *= E(-1); - for(E e = 0; e < exponent; ++e) - r /= base; - } - return r; -} - -/** integer power; this function is constexpr-14 because of the local - * variables */ -template -C4_CONSTEXPR14 C4_CONST auto ipow(E exponent) noexcept -> typename std::enable_if::value, B>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - B r = B(1); - if(exponent >= 0) - { - for(E e = 0; e < exponent; ++e) - r *= base; - } - else - { - exponent *= E(-1); - for(E e = 0; e < exponent; ++e) - r /= base; - } - return r; -} - -/** integer power; this function is constexpr-14 because of the local - * variables */ -template -C4_CONSTEXPR14 C4_CONST auto ipow(E exponent) noexcept -> typename std::enable_if::value, B>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - B r = B(1); - B bbase = B(base); - if(exponent >= 0) - { - for(E e = 0; e < exponent; ++e) - r *= bbase; - } - else - { - exponent *= E(-1); - for(E e = 0; e < exponent; ++e) - r /= bbase; - } - return r; -} - -/** integer power; this function is constexpr-14 because of the local - * variables */ -template -C4_CONSTEXPR14 C4_CONST auto ipow(B base, E exponent) noexcept -> typename std::enable_if::value, B>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - B r = B(1); - for(E e = 0; e < exponent; ++e) - r *= base; - return r; -} - -/** integer power; this function is constexpr-14 because of the local - * variables */ -template -C4_CONSTEXPR14 C4_CONST auto ipow(E exponent) noexcept -> typename std::enable_if::value, B>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - B r = B(1); - for(E e = 0; e < exponent; ++e) - r *= base; - return r; -} -/** integer power; this function is constexpr-14 because of the local - * variables */ -template -C4_CONSTEXPR14 C4_CONST auto ipow(E exponent) noexcept -> typename std::enable_if::value, B>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - B r = B(1); - B bbase = B(base); - for(E e = 0; e < exponent; ++e) - r *= bbase; - return r; -} - -C4_SUPPRESS_WARNING_GCC_CLANG_POP - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** return a mask with all bits set [first_bit,last_bit[; this function - * is constexpr-14 because of the local variables */ -template -C4_CONSTEXPR14 I contiguous_mask(I first_bit, I last_bit) -{ - I r = 0; - for(I i = first_bit; i < last_bit; ++i) - { - r |= (I(1) << i); - } - return r; -} - - -namespace detail { - -template -struct _ctgmsk11; - -template -struct _ctgmsk11< I, val, first, last, true> -{ - enum : I { value = _ctgmsk11::value }; -}; - -template -struct _ctgmsk11< I, val, first, last, false> -{ - enum : I { value = val }; -}; - -} // namespace detail - - -/** TMP version of contiguous_mask(); this needs to be implemented with template - * meta-programming because C++11 cannot use a constexpr function with - * local variables - * @see contiguous_mask */ -template -struct contiguous_mask11 -{ - enum : I { value = detail::_ctgmsk11::value }; -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** use Empty Base Class Optimization to reduce the size of a pair of - * potentially empty types*/ - -namespace detail { -typedef enum { - tpc_same, - tpc_same_empty, - tpc_both_empty, - tpc_first_empty, - tpc_second_empty, - tpc_general -} TightPairCase_e; - -template -constexpr TightPairCase_e tpc_which_case() -{ - return std::is_same::value ? - std::is_empty::value ? - tpc_same_empty - : - tpc_same - : - std::is_empty::value && std::is_empty::value ? - tpc_both_empty - : - std::is_empty::value ? - tpc_first_empty - : - std::is_empty::value ? - tpc_second_empty - : - tpc_general - ; -} - -template -struct tight_pair -{ -private: - - First m_first; - Second m_second; - -public: - - using first_type = First; - using second_type = Second; - - tight_pair() : m_first(), m_second() {} - tight_pair(First const& f, Second const& s) : m_first(f), m_second(s) {} - - C4_ALWAYS_INLINE C4_CONSTEXPR14 First & first () { return m_first; } - C4_ALWAYS_INLINE C4_CONSTEXPR14 First const& first () const { return m_first; } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second & second() { return m_second; } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second const& second() const { return m_second; } -}; - -template -struct tight_pair : public First -{ - static_assert(std::is_same::value, "bad implementation"); - - using first_type = First; - using second_type = Second; - - tight_pair() : First() {} - tight_pair(First const& f, Second const& /*s*/) : First(f) {} - - C4_ALWAYS_INLINE C4_CONSTEXPR14 First & first () { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 First const& first () const { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second & second() { return reinterpret_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second const& second() const { return reinterpret_cast(*this); } -}; - -template -struct tight_pair : public First, public Second -{ - using first_type = First; - using second_type = Second; - - tight_pair() : First(), Second() {} - tight_pair(First const& f, Second const& s) : First(f), Second(s) {} - - C4_ALWAYS_INLINE C4_CONSTEXPR14 First & first () { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 First const& first () const { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second & second() { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second const& second() const { return static_cast(*this); } -}; - -template -struct tight_pair : public First -{ - Second m_second; - - using first_type = First; - using second_type = Second; - - tight_pair() : First() {} - tight_pair(First const& f, Second const& s) : First(f), m_second(s) {} - - C4_ALWAYS_INLINE C4_CONSTEXPR14 First & first () { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 First const& first () const { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second & second() { return m_second; } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second const& second() const { return m_second; } -}; - -template -struct tight_pair : public First -{ - Second m_second; - - using first_type = First; - using second_type = Second; - - tight_pair() : First(), m_second() {} - tight_pair(First const& f, Second const& s) : First(f), m_second(s) {} - - C4_ALWAYS_INLINE C4_CONSTEXPR14 First & first () { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 First const& first () const { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second & second() { return m_second; } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second const& second() const { return m_second; } -}; - -template -struct tight_pair : public Second -{ - First m_first; - - using first_type = First; - using second_type = Second; - - tight_pair() : Second(), m_first() {} - tight_pair(First const& f, Second const& s) : Second(s), m_first(f) {} - - C4_ALWAYS_INLINE C4_CONSTEXPR14 First & first () { return m_first; } - C4_ALWAYS_INLINE C4_CONSTEXPR14 First const& first () const { return m_first; } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second & second() { return static_cast(*this); } - C4_ALWAYS_INLINE C4_CONSTEXPR14 Second const& second() const { return static_cast(*this); } -}; - -} // namespace detail - -template -using tight_pair = detail::tight_pair()>; - -} // namespace c4 - -#endif /* _C4_MEMORY_UTIL_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/memory_util.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/memory_resource.hpp -// https://github.com/biojppm/c4core/src/c4/memory_resource.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_MEMORY_RESOURCE_HPP_ -#define _C4_MEMORY_RESOURCE_HPP_ - -/** @file memory_resource.hpp Provides facilities to allocate typeless - * memory, via the memory resource model consecrated with C++17. */ - -/** @defgroup memory memory utilities */ - -/** @defgroup raw_memory_alloc Raw memory allocation - * @ingroup memory - */ - -/** @defgroup memory_resources Memory resources - * @ingroup memory - */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - - -namespace c4 { - -// need these forward decls here -struct MemoryResource; -struct MemoryResourceMalloc; -struct MemoryResourceStack; -MemoryResourceMalloc* get_memory_resource_malloc(); -MemoryResourceStack* get_memory_resource_stack(); -namespace detail { MemoryResource*& get_memory_resource(); } - - -// c-style allocation --------------------------------------------------------- - -// this API provides aligned allocation functions. -// These functions forward the call to a user-modifiable function. - - -// aligned allocation. - -/** Aligned allocation. Merely calls the current get_aalloc() function. - * @see get_aalloc() - * @ingroup raw_memory_alloc */ -void* aalloc(size_t sz, size_t alignment); - -/** Aligned free. Merely calls the current get_afree() function. - * @see get_afree() - * @ingroup raw_memory_alloc */ -void afree(void* ptr); - -/** Aligned reallocation. Merely calls the current get_arealloc() function. - * @see get_arealloc() - * @ingroup raw_memory_alloc */ -void* arealloc(void* ptr, size_t oldsz, size_t newsz, size_t alignment); - - -// allocation setup facilities. - -/** Function pointer type for aligned allocation - * @see set_aalloc() - * @ingroup raw_memory_alloc */ -using aalloc_pfn = void* (*)(size_t size, size_t alignment); - -/** Function pointer type for aligned deallocation - * @see set_afree() - * @ingroup raw_memory_alloc */ -using afree_pfn = void (*)(void *ptr); - -/** Function pointer type for aligned reallocation - * @see set_arealloc() - * @ingroup raw_memory_alloc */ -using arealloc_pfn = void* (*)(void *ptr, size_t oldsz, size_t newsz, size_t alignment); - - -// allocation function pointer setters/getters - -/** Set the global aligned allocation function. - * @see aalloc() - * @see get_aalloc() - * @ingroup raw_memory_alloc */ -void set_aalloc(aalloc_pfn fn); - -/** Set the global aligned deallocation function. - * @see afree() - * @see get_afree() - * @ingroup raw_memory_alloc */ -void set_afree(afree_pfn fn); - -/** Set the global aligned reallocation function. - * @see arealloc() - * @see get_arealloc() - * @ingroup raw_memory_alloc */ -void set_arealloc(arealloc_pfn fn); - - -/** Get the global aligned reallocation function. - * @see arealloc() - * @ingroup raw_memory_alloc */ -aalloc_pfn get_aalloc(); - -/** Get the global aligned deallocation function. - * @see afree() - * @ingroup raw_memory_alloc */ -afree_pfn get_afree(); - -/** Get the global aligned reallocation function. - * @see arealloc() - * @ingroup raw_memory_alloc */ -arealloc_pfn get_arealloc(); - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// c++-style allocation ------------------------------------------------------- - -/** C++17-style memory_resource base class. See http://en.cppreference.com/w/cpp/experimental/memory_resource - * @ingroup memory_resources */ -struct MemoryResource -{ - const char *name = nullptr; - virtual ~MemoryResource() {} - - void* allocate(size_t sz, size_t alignment=alignof(max_align_t), void *hint=nullptr) - { - void *mem = this->do_allocate(sz, alignment, hint); - C4_CHECK_MSG(mem != nullptr, "could not allocate %lu bytes", sz); - return mem; - } - - void* reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment=alignof(max_align_t)) - { - void *mem = this->do_reallocate(ptr, oldsz, newsz, alignment); - C4_CHECK_MSG(mem != nullptr, "could not reallocate from %lu to %lu bytes", oldsz, newsz); - return mem; - } - - void deallocate(void* ptr, size_t sz, size_t alignment=alignof(max_align_t)) - { - this->do_deallocate(ptr, sz, alignment); - } - -protected: - - virtual void* do_allocate(size_t sz, size_t alignment, void* hint) = 0; - virtual void* do_reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment) = 0; - virtual void do_deallocate(void* ptr, size_t sz, size_t alignment) = 0; - -}; - -/** get the current global memory resource. To avoid static initialization - * order problems, this is implemented using a function call to ensure - * that it is available when first used. - * @ingroup memory_resources */ -C4_ALWAYS_INLINE MemoryResource* get_memory_resource() -{ - return detail::get_memory_resource(); -} - -/** set the global memory resource - * @ingroup memory_resources */ -C4_ALWAYS_INLINE void set_memory_resource(MemoryResource* mr) -{ - C4_ASSERT(mr != nullptr); - detail::get_memory_resource() = mr; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** A c4::aalloc-based memory resource. Thread-safe if the implementation - * called by c4::aalloc() is safe. - * @ingroup memory_resources */ -struct MemoryResourceMalloc : public MemoryResource -{ - - MemoryResourceMalloc() { name = "malloc"; } - virtual ~MemoryResourceMalloc() override {} - -protected: - - virtual void* do_allocate(size_t sz, size_t alignment, void *hint) override - { - C4_UNUSED(hint); - return c4::aalloc(sz, alignment); - } - - virtual void do_deallocate(void* ptr, size_t sz, size_t alignment) override - { - C4_UNUSED(sz); - C4_UNUSED(alignment); - c4::afree(ptr); - } - - virtual void* do_reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment) override - { - return c4::arealloc(ptr, oldsz, newsz, alignment); - } - -}; - -/** returns a malloc-based memory resource - * @ingroup memory_resources */ -C4_ALWAYS_INLINE MemoryResourceMalloc* get_memory_resource_malloc() -{ - /** @todo use a nifty counter: - * https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter */ - static MemoryResourceMalloc mr; - return &mr; -} - -namespace detail { -C4_ALWAYS_INLINE MemoryResource* & get_memory_resource() -{ - /** @todo use a nifty counter: - * https://en.wikibooks.org/wiki/More_C%2B%2B_Idioms/Nifty_Counter */ - thread_local static MemoryResource* mr = get_memory_resource_malloc(); - return mr; -} -} // namespace detail - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { - -/** Allows a memory resource to obtain its memory from another memory resource. - * @ingroup memory_resources */ -struct DerivedMemoryResource : public MemoryResource -{ -public: - - DerivedMemoryResource(MemoryResource *mr_=nullptr) : m_local(mr_ ? mr_ : get_memory_resource()) {} - -private: - - MemoryResource *m_local; - -protected: - - virtual void* do_allocate(size_t sz, size_t alignment, void* hint) override - { - return m_local->allocate(sz, alignment, hint); - } - - virtual void* do_reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment) override - { - return m_local->reallocate(ptr, oldsz, newsz, alignment); - } - - virtual void do_deallocate(void* ptr, size_t sz, size_t alignment) override - { - return m_local->deallocate(ptr, sz, alignment); - } -}; - -/** Provides common facilities for memory resource consisting of a single memory block - * @ingroup memory_resources */ -struct _MemoryResourceSingleChunk : public DerivedMemoryResource -{ - - C4_NO_COPY_OR_MOVE(_MemoryResourceSingleChunk); - - using impl_type = DerivedMemoryResource; - -public: - - _MemoryResourceSingleChunk(MemoryResource *impl=nullptr) : DerivedMemoryResource(impl) { name = "linear_malloc"; } - - /** initialize with owned memory, allocated from the given (or the global) memory resource */ - _MemoryResourceSingleChunk(size_t sz, MemoryResource *impl=nullptr) : _MemoryResourceSingleChunk(impl) { acquire(sz); } - /** initialize with borrowed memory */ - _MemoryResourceSingleChunk(void *mem, size_t sz) : _MemoryResourceSingleChunk() { acquire(mem, sz); } - - virtual ~_MemoryResourceSingleChunk() override { release(); } - -public: - - void const* mem() const { return m_mem; } - - size_t capacity() const { return m_size; } - size_t size() const { return m_pos; } - size_t slack() const { C4_ASSERT(m_size >= m_pos); return m_size - m_pos; } - -public: - - char *m_mem{nullptr}; - size_t m_size{0}; - size_t m_pos{0}; - bool m_owner; - -public: - - /** set the internal pointer to the beginning of the linear buffer */ - void clear() { m_pos = 0; } - - /** initialize with owned memory, allocated from the global memory resource */ - void acquire(size_t sz); - /** initialize with borrowed memory */ - void acquire(void *mem, size_t sz); - /** release the memory */ - void release(); - -}; - -} // namespace detail - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** provides a linear memory resource. Allocates incrementally from a linear - * buffer, without ever deallocating. Deallocations are a no-op, and the - * memory is freed only when the resource is release()d. The memory used by - * this object can be either owned or borrowed. When borrowed, no calls to - * malloc/free take place. - * - * @ingroup memory_resources */ -struct MemoryResourceLinear : public detail::_MemoryResourceSingleChunk -{ - - C4_NO_COPY_OR_MOVE(MemoryResourceLinear); - -public: - - using detail::_MemoryResourceSingleChunk::_MemoryResourceSingleChunk; - -protected: - - virtual void* do_allocate(size_t sz, size_t alignment, void *hint) override; - virtual void do_deallocate(void* ptr, size_t sz, size_t alignment) override; - virtual void* do_reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment) override; -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** provides a stack-type malloc-based memory resource. - * @ingroup memory_resources */ -struct MemoryResourceStack : public detail::_MemoryResourceSingleChunk -{ - - C4_NO_COPY_OR_MOVE(MemoryResourceStack); - -public: - - using detail::_MemoryResourceSingleChunk::_MemoryResourceSingleChunk; - -protected: - - virtual void* do_allocate(size_t sz, size_t alignment, void *hint) override; - virtual void do_deallocate(void* ptr, size_t sz, size_t alignment) override; - virtual void* do_reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment) override; -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** provides a linear array-based memory resource. - * @see MemoryResourceLinear - * @ingroup memory_resources */ -template -struct MemoryResourceLinearArr : public MemoryResourceLinear -{ - #ifdef _MSC_VER - #pragma warning(push) - #pragma warning(disable: 4324) // structure was padded due to alignment specifier - #endif - alignas(alignof(max_align_t)) char m_arr[N]; - #ifdef _MSC_VER - #pragma warning(pop) - #endif - MemoryResourceLinearArr() : MemoryResourceLinear(m_arr, N) { name = "linear_arr"; } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -struct AllocationCounts -{ - struct Item - { - ssize_t allocs; - ssize_t size; - - void add(size_t sz) - { - ++allocs; - size += static_cast(sz); - } - void rem(size_t sz) - { - --allocs; - size -= static_cast(sz); - } - Item max(Item const& that) const - { - Item r(*this); - r.allocs = r.allocs > that.allocs ? r.allocs : that.allocs; - r.size = r.size > that.size ? r.size : that.size; - return r; - } - }; - - Item curr = {0, 0}; - Item total = {0, 0}; - Item max = {0, 0}; - - void clear_counts() - { - curr = {0, 0}; - total = {0, 0}; - max = {0, 0}; - } - - void update(AllocationCounts const& that) - { - curr.allocs += that.curr.allocs; - curr.size += that.curr.size; - total.allocs += that.total.allocs; - total.size += that.total.size; - max.allocs += that.max.allocs; - max.size += that.max.size; - } - - void add_counts(void* ptr, size_t sz) - { - if(ptr == nullptr) return; - curr.add(sz); - total.add(sz); - max = max.max(curr); - } - - void rem_counts(void *ptr, size_t sz) - { - if(ptr == nullptr) return; - curr.rem(sz); - } - - AllocationCounts operator- (AllocationCounts const& that) const - { - AllocationCounts r(*this); - r.curr.allocs -= that.curr.allocs; - r.curr.size -= that.curr.size; - r.total.allocs -= that.total.allocs; - r.total.size -= that.total.size; - r.max.allocs -= that.max.allocs; - r.max.size -= that.max.size; - return r; - } - - AllocationCounts operator+ (AllocationCounts const& that) const - { - AllocationCounts r(*this); - r.curr.allocs += that.curr.allocs; - r.curr.size += that.curr.size; - r.total.allocs += that.total.allocs; - r.total.size += that.total.size; - r.max.allocs += that.max.allocs; - r.max.size += that.max.size; - return r; - } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** a MemoryResource which latches onto another MemoryResource - * and counts allocations and sizes. - * @ingroup memory_resources */ -class MemoryResourceCounts : public MemoryResource -{ -public: - - MemoryResourceCounts() : m_resource(get_memory_resource()) - { - C4_ASSERT(m_resource != this); - name = "MemoryResourceCounts"; - } - MemoryResourceCounts(MemoryResource *res) : m_resource(res) - { - C4_ASSERT(m_resource != this); - name = "MemoryResourceCounts"; - } - - MemoryResource *resource() { return m_resource; } - AllocationCounts const& counts() const { return m_counts; } - -protected: - - MemoryResource *m_resource; - AllocationCounts m_counts; - -protected: - - virtual void* do_allocate(size_t sz, size_t alignment, void * /*hint*/) override - { - void *ptr = m_resource->allocate(sz, alignment); - m_counts.add_counts(ptr, sz); - return ptr; - } - - virtual void do_deallocate(void* ptr, size_t sz, size_t alignment) override - { - m_counts.rem_counts(ptr, sz); - m_resource->deallocate(ptr, sz, alignment); - } - - virtual void* do_reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment) override - { - m_counts.rem_counts(ptr, oldsz); - void* nptr = m_resource->reallocate(ptr, oldsz, newsz, alignment); - m_counts.add_counts(nptr, newsz); - return nptr; - } - -}; - -//----------------------------------------------------------------------------- -/** RAII class which binds a memory resource with a scope duration. - * @ingroup memory_resources */ -struct ScopedMemoryResource -{ - MemoryResource *m_original; - - ScopedMemoryResource(MemoryResource *r) - : - m_original(get_memory_resource()) - { - set_memory_resource(r); - } - - ~ScopedMemoryResource() - { - set_memory_resource(m_original); - } -}; - -//----------------------------------------------------------------------------- -/** RAII class which counts allocations and frees inside a scope. Can - * optionally set also the memory resource to be used. - * @ingroup memory_resources */ -struct ScopedMemoryResourceCounts -{ - MemoryResourceCounts mr; - - ScopedMemoryResourceCounts() : mr() - { - set_memory_resource(&mr); - } - ScopedMemoryResourceCounts(MemoryResource *m) : mr(m) - { - set_memory_resource(&mr); - } - ~ScopedMemoryResourceCounts() - { - set_memory_resource(mr.resource()); - } -}; - -} // namespace c4 - -#endif /* _C4_MEMORY_RESOURCE_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/memory_resource.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/ctor_dtor.hpp -// https://github.com/biojppm/c4core/src/c4/ctor_dtor.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_CTOR_DTOR_HPP_ -#define _C4_CTOR_DTOR_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/preprocessor.hpp -//#include "c4/preprocessor.hpp" -#if !defined(C4_PREPROCESSOR_HPP_) && !defined(_C4_PREPROCESSOR_HPP_) -#error "amalgamate: file c4/preprocessor.hpp must have been included at this point" -#endif /* C4_PREPROCESSOR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/language.hpp -//#include "c4/language.hpp" -#if !defined(C4_LANGUAGE_HPP_) && !defined(_C4_LANGUAGE_HPP_) -#error "amalgamate: file c4/language.hpp must have been included at this point" -#endif /* C4_LANGUAGE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/memory_util.hpp -//#include "c4/memory_util.hpp" -#if !defined(C4_MEMORY_UTIL_HPP_) && !defined(_C4_MEMORY_UTIL_HPP_) -#error "amalgamate: file c4/memory_util.hpp must have been included at this point" -#endif /* C4_MEMORY_UTIL_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - - -//included above: -//#include -//included above: -//#include // std::forward - -/** @file ctor_dtor.hpp object construction and destruction facilities. - * Some of these are not yet available in C++11. */ - -namespace c4 { - -/** default-construct an object, trivial version */ -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -construct(U *ptr) noexcept -{ - memset(ptr, 0, sizeof(U)); -} -/** default-construct an object, non-trivial version */ -template C4_ALWAYS_INLINE typename std ::enable_if< ! std::is_trivially_default_constructible::value, void>::type -construct(U* ptr) noexcept -{ - new ((void*)ptr) U(); -} - -/** default-construct n objects, trivial version */ -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -construct_n(U* ptr, I n) noexcept -{ - memset(ptr, 0, n * sizeof(U)); -} -/** default-construct n objects, non-trivial version */ -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_default_constructible::value, void>::type -construct_n(U* ptr, I n) noexcept -{ - for(I i = 0; i < n; ++i) - { - new ((void*)(ptr + i)) U(); - } -} - -#ifdef __clang__ -# pragma clang diagnostic push -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# if __GNUC__ >= 6 -# pragma GCC diagnostic ignored "-Wnull-dereference" -# endif -#endif - -template -inline void construct(U* ptr, Args&&... args) -{ - new ((void*)ptr) U(std::forward(args)...); -} -template -inline void construct_n(U* ptr, I n, Args&&... args) -{ - for(I i = 0; i < n; ++i) - { - new ((void*)(ptr + i)) U(args...); - } -} - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - - -//----------------------------------------------------------------------------- -// copy-construct - -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_construct(U* dst, U const* src) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_copy_constructible::value, void>::type -copy_construct(U* dst, U const* src) -{ - C4_ASSERT(dst != src); - new ((void*)dst) U(*src); -} -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_construct_n(U* dst, U const* src, I n) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, n * sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_copy_constructible::value, void>::type -copy_construct_n(U* dst, U const* src, I n) -{ - C4_ASSERT(dst != src); - for(I i = 0; i < n; ++i) - { - new ((void*)(dst + i)) U(*(src + i)); - } -} - -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_construct(U* dst, U src) noexcept // pass by value for scalar types -{ - *dst = src; -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_scalar::value, void>::type -copy_construct(U* dst, U const& src) // pass by reference for non-scalar types -{ - C4_ASSERT(dst != &src); - new ((void*)dst) U(src); -} -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_construct_n(U* dst, U src, I n) noexcept // pass by value for scalar types -{ - for(I i = 0; i < n; ++i) - { - dst[i] = src; - } -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_scalar::value, void>::type -copy_construct_n(U* dst, U const& src, I n) // pass by reference for non-scalar types -{ - C4_ASSERT(dst != &src); - for(I i = 0; i < n; ++i) - { - new ((void*)(dst + i)) U(src); - } -} - -template -C4_ALWAYS_INLINE void copy_construct(U (&dst)[N], U const (&src)[N]) noexcept -{ - copy_construct_n(dst, src, N); -} - -//----------------------------------------------------------------------------- -// copy-assign - -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_assign(U* dst, U const* src) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_copy_assignable::value, void>::type -copy_assign(U* dst, U const* src) noexcept -{ - C4_ASSERT(dst != src); - *dst = *src; -} -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_assign_n(U* dst, U const* src, I n) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, n * sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_copy_assignable::value, void>::type -copy_assign_n(U* dst, U const* src, I n) noexcept -{ - C4_ASSERT(dst != src); - for(I i = 0; i < n; ++i) - { - dst[i] = src[i]; - } -} - -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_assign(U* dst, U src) noexcept // pass by value for scalar types -{ - *dst = src; -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_scalar::value, void>::type -copy_assign(U* dst, U const& src) noexcept // pass by reference for non-scalar types -{ - C4_ASSERT(dst != &src); - *dst = src; -} -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -copy_assign_n(U* dst, U src, I n) noexcept // pass by value for scalar types -{ - for(I i = 0; i < n; ++i) - { - dst[i] = src; - } -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_scalar::value, void>::type -copy_assign_n(U* dst, U const& src, I n) noexcept // pass by reference for non-scalar types -{ - C4_ASSERT(dst != &src); - for(I i = 0; i < n; ++i) - { - dst[i] = src; - } -} - -template -C4_ALWAYS_INLINE void copy_assign(U (&dst)[N], U const (&src)[N]) noexcept -{ - copy_assign_n(dst, src, N); -} - -//----------------------------------------------------------------------------- -// move-construct - -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -move_construct(U* dst, U* src) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_move_constructible::value, void>::type -move_construct(U* dst, U* src) noexcept -{ - C4_ASSERT(dst != src); - new ((void*)dst) U(std::move(*src)); -} -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -move_construct_n(U* dst, U* src, I n) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, n * sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_move_constructible::value, void>::type -move_construct_n(U* dst, U* src, I n) noexcept -{ - C4_ASSERT(dst != src); - for(I i = 0; i < n; ++i) - { - new ((void*)(dst + i)) U(std::move(src[i])); - } -} - -//----------------------------------------------------------------------------- -// move-assign - -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -move_assign(U* dst, U* src) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_move_assignable::value, void>::type -move_assign(U* dst, U* src) noexcept -{ - C4_ASSERT(dst != src); - *dst = std::move(*src); -} -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -move_assign_n(U* dst, U* src, I n) noexcept -{ - C4_ASSERT(dst != src); - memcpy(dst, src, n * sizeof(U)); -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_move_assignable::value, void>::type -move_assign_n(U* dst, U* src, I n) noexcept -{ - C4_ASSERT(dst != src); - for(I i = 0; i < n; ++i) - { - *(dst + i) = std::move(*(src + i)); - } -} - -//----------------------------------------------------------------------------- -// destroy - -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -destroy(U* ptr) noexcept -{ - C4_UNUSED(ptr); // nothing to do -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_destructible::value, void>::type -destroy(U* ptr) noexcept -{ - ptr->~U(); -} -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -destroy_n(U* ptr, I n) noexcept -{ - C4_UNUSED(ptr); - C4_UNUSED(n); // nothing to do -} -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_destructible::value, void>::type -destroy_n(U* ptr, I n) noexcept -{ - for(I i = 0; i C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -make_room(U *buf, I bufsz, I room) C4_NOEXCEPT_A -{ - C4_ASSERT(bufsz >= 0 && room >= 0); - if(room >= bufsz) - { - memcpy (buf + room, buf, bufsz * sizeof(U)); - } - else - { - memmove(buf + room, buf, bufsz * sizeof(U)); - } -} -/** makes room at the beginning of buf, which has a current size of bufsz */ -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_move_constructible::value, void>::type -make_room(U *buf, I bufsz, I room) C4_NOEXCEPT_A -{ - C4_ASSERT(bufsz >= 0 && room >= 0); - if(room >= bufsz) - { - for(I i = 0; i < bufsz; ++i) - { - new ((void*)(buf + (i + room))) U(std::move(buf[i])); - } - } - else - { - for(I i = 0; i < bufsz; ++i) - { - I w = bufsz-1 - i; // do a backwards loop - new ((void*)(buf + (w + room))) U(std::move(buf[w])); - } - } -} - -/** make room to the right of pos */ -template -C4_ALWAYS_INLINE void make_room(U *buf, I bufsz, I currsz, I pos, I room) -{ - C4_ASSERT(pos >= 0 && pos <= currsz); - C4_ASSERT(currsz <= bufsz); - C4_ASSERT(room + currsz <= bufsz); - C4_UNUSED(bufsz); - make_room(buf + pos, currsz - pos, room); -} - - -/** make room to the right of pos, copying to the beginning of a different buffer */ -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -make_room(U *dst, U const* src, I srcsz, I room, I pos) C4_NOEXCEPT_A -{ - C4_ASSERT(srcsz >= 0 && room >= 0 && pos >= 0); - C4_ASSERT(pos < srcsz || (pos == 0 && srcsz == 0)); - memcpy(dst , src , pos * sizeof(U)); - memcpy(dst + room + pos, src + pos, (srcsz - pos) * sizeof(U)); -} -/** make room to the right of pos, copying to the beginning of a different buffer */ -template C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_move_constructible::value, void>::type -make_room(U *dst, U const* src, I srcsz, I room, I pos) -{ - C4_ASSERT(srcsz >= 0 && room >= 0 && pos >= 0); - C4_ASSERT(pos < srcsz || (pos == 0 && srcsz == 0)); - for(I i = 0; i < pos; ++i) - { - new ((void*)(dst + i)) U(std::move(src[i])); - } - src += pos; - dst += room + pos; - for(I i = 0, e = srcsz - pos; i < e; ++i) - { - new ((void*)(dst + i)) U(std::move(src[i])); - } -} - -template -C4_ALWAYS_INLINE void make_room -( - U * dst, I dstsz, - U const* src, I srcsz, - I room, I pos -) -{ - C4_ASSERT(pos >= 0 && pos < srcsz || (srcsz == 0 && pos == 0)); - C4_ASSERT(pos >= 0 && pos < dstsz || (dstsz == 0 && pos == 0)); - C4_ASSERT(srcsz+room <= dstsz); - C4_UNUSED(dstsz); - make_room(dst, src, srcsz, room, pos); -} - - -//----------------------------------------------------------------------------- -/** destroy room at the beginning of buf, which has a current size of n */ -template C4_ALWAYS_INLINE typename std::enable_if::value || (std::is_standard_layout::value && std::is_trivial::value), void>::type -destroy_room(U *buf, I n, I room) C4_NOEXCEPT_A -{ - C4_ASSERT(n >= 0 && room >= 0); - C4_ASSERT(room <= n); - if(room < n) - { - memmove(buf, buf + room, (n - room) * sizeof(U)); - } - else - { - // nothing to do - no need to destroy scalar types - } -} -/** destroy room at the beginning of buf, which has a current size of n */ -template C4_ALWAYS_INLINE typename std::enable_if< ! (std::is_scalar::value || (std::is_standard_layout::value && std::is_trivial::value)), void>::type -destroy_room(U *buf, I n, I room) -{ - C4_ASSERT(n >= 0 && room >= 0); - C4_ASSERT(room <= n); - if(room < n) - { - for(I i = 0, e = n - room; i < e; ++i) - { - buf[i] = std::move(buf[i + room]); - } - } - else - { - for(I i = 0; i < n; ++i) - { - buf[i].~U(); - } - } -} - -/** destroy room to the right of pos, copying to a different buffer */ -template C4_ALWAYS_INLINE typename std::enable_if::value, void>::type -destroy_room(U *dst, U const* src, I n, I room, I pos) C4_NOEXCEPT_A -{ - C4_ASSERT(n >= 0 && room >= 0 && pos >= 0); - C4_ASSERT(pos C4_ALWAYS_INLINE typename std::enable_if< ! std::is_trivially_move_constructible::value, void>::type -destroy_room(U *dst, U const* src, I n, I room, I pos) -{ - C4_ASSERT(n >= 0 && room >= 0 && pos >= 0); - C4_ASSERT(pos < n); - C4_ASSERT(pos + room <= n); - for(I i = 0; i < pos; ++i) - { - new ((void*)(dst + i)) U(std::move(src[i])); - } - src += room + pos; - dst += pos; - for(I i = 0, e = n - pos - room; i < e; ++i) - { - new ((void*)(dst + i)) U(std::move(src[i])); - } -} - -} // namespace c4 - -#undef _C4REQUIRE - -#endif /* _C4_CTOR_DTOR_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/ctor_dtor.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/allocator.hpp -// https://github.com/biojppm/c4core/src/c4/allocator.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_ALLOCATOR_HPP_ -#define _C4_ALLOCATOR_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/memory_resource.hpp -//#include "c4/memory_resource.hpp" -#if !defined(C4_MEMORY_RESOURCE_HPP_) && !defined(_C4_MEMORY_RESOURCE_HPP_) -#error "amalgamate: file c4/memory_resource.hpp must have been included at this point" -#endif /* C4_MEMORY_RESOURCE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/ctor_dtor.hpp -//#include "c4/ctor_dtor.hpp" -#if !defined(C4_CTOR_DTOR_HPP_) && !defined(_C4_CTOR_DTOR_HPP_) -#error "amalgamate: file c4/ctor_dtor.hpp must have been included at this point" -#endif /* C4_CTOR_DTOR_HPP_ */ - - -#include // std::allocator_traits -//included above: -//#include - -/** @file allocator.hpp Contains classes to make typeful allocations (note - * that memory resources are typeless) */ - -/** @defgroup mem_res_providers Memory resource providers - * @brief Policy classes which provide a memory resource for - * use in an allocator. - * @ingroup memory - */ - -/** @defgroup allocators Allocators - * @brief Lightweight classes that act as handles to specific memory - * resources and provide typeful memory. - * @ingroup memory - */ - -namespace c4 { - -namespace detail { -template inline size_t size_for (size_t num_objs) noexcept { return num_objs * sizeof(T); } -template< > inline size_t size_for(size_t num_objs) noexcept { return num_objs; } -} // namespace detail - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** provides a per-allocator memory resource - * @ingroup mem_res_providers */ -class MemRes -{ -public: - - MemRes() : m_resource(get_memory_resource()) {} - MemRes(MemoryResource* r) noexcept : m_resource(r ? r : get_memory_resource()) {} - - inline MemoryResource* resource() const { return m_resource; } - -private: - - MemoryResource* m_resource; - -}; - - -/** the allocators using this will default to the global memory resource - * @ingroup mem_res_providers */ -class MemResGlobal -{ -public: - - MemResGlobal() {} - MemResGlobal(MemoryResource* r) noexcept { C4_UNUSED(r); C4_ASSERT(r == get_memory_resource()); } - - inline MemoryResource* resource() const { return get_memory_resource(); } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { -template -struct _AllocatorUtil; - -template -struct has_no_alloc - : public std::integral_constant::value) - && std::is_constructible::value> {}; - -// std::uses_allocator_v && std::is_constructible -// ie can construct(std::allocator_arg_t, MemoryResource*, Args...) -template -struct has_alloc_arg - : public std::integral_constant::value - && std::is_constructible::value> {}; -// std::uses_allocator && std::is_constructible -// ie, can construct(Args..., MemoryResource*) -template -struct has_alloc - : public std::integral_constant::value - && std::is_constructible::value> {}; - -} // namespace detail - - -template -struct detail::_AllocatorUtil : public MemRes -{ - using MemRes::MemRes; - - /** for construct: - * @see http://en.cppreference.com/w/cpp/experimental/polymorphic_allocator/construct */ - - // 1. types with no allocators - template - C4_ALWAYS_INLINE typename std::enable_if::value, void>::type - construct(U *ptr, Args &&...args) - { - c4::construct(ptr, std::forward(args)...); - } - template - C4_ALWAYS_INLINE typename std::enable_if::value, void>::type - construct_n(U* ptr, I n, Args&&... args) - { - c4::construct_n(ptr, n, std::forward(args)...); - } - - // 2. types using allocators (ie, containers) - - // 2.1. can construct(std::allocator_arg_t, MemoryResource*, Args...) - template - C4_ALWAYS_INLINE typename std::enable_if::value, void>::type - construct(U* ptr, Args&&... args) - { - c4::construct(ptr, std::allocator_arg, this->resource(), std::forward(args)...); - } - template - C4_ALWAYS_INLINE typename std::enable_if::value, void>::type - construct_n(U* ptr, I n, Args&&... args) - { - c4::construct_n(ptr, n, std::allocator_arg, this->resource(), std::forward(args)...); - } - - // 2.2. can construct(Args..., MemoryResource*) - template - C4_ALWAYS_INLINE typename std::enable_if::value, void>::type - construct(U* ptr, Args&&... args) - { - c4::construct(ptr, std::forward(args)..., this->resource()); - } - template - C4_ALWAYS_INLINE typename std::enable_if::value, void>::type - construct_n(U* ptr, I n, Args&&... args) - { - c4::construct_n(ptr, n, std::forward(args)..., this->resource()); - } - - template - static C4_ALWAYS_INLINE void destroy(U* ptr) - { - c4::destroy(ptr); - } - template - static C4_ALWAYS_INLINE void destroy_n(U* ptr, I n) - { - c4::destroy_n(ptr, n); - } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** An allocator is simply a proxy to a memory resource. - * @param T - * @param MemResProvider - * @ingroup allocators */ -template -class Allocator : public detail::_AllocatorUtil -{ -public: - - using impl_type = detail::_AllocatorUtil; - - using value_type = T; - using pointer = T*; - using const_pointer = T const*; - using reference = T&; - using const_reference = T const&; - using size_type = size_t; - using difference_type = std::ptrdiff_t; - using propagate_on_container_move_assigment = std::true_type; - -public: - - template - bool operator== (Allocator const& that) const - { - return this->resource() == that.resource(); - } - template - bool operator!= (Allocator const& that) const - { - return this->resource() != that.resource(); - } - -public: - - template friend class Allocator; - template - struct rebind - { - using other = Allocator; - }; - template - typename rebind::other rebound() - { - return typename rebind::other(*this); - } - -public: - - using impl_type::impl_type; - Allocator() : impl_type() {} // VS demands this - - template Allocator(Allocator const& that) : impl_type(that.resource()) {} - - Allocator(Allocator const&) = default; - Allocator(Allocator &&) = default; - - Allocator& operator= (Allocator const&) = default; // WTF? why? @see http://en.cppreference.com/w/cpp/memory/polymorphic_allocator - Allocator& operator= (Allocator &&) = default; - - /** returns a default-constructed polymorphic allocator object - * @see http://en.cppreference.com/w/cpp/memory/polymorphic_allocator/select_on_container_copy_construction */ - Allocator select_on_container_copy_construct() const { return Allocator(*this); } - - T* allocate(size_t num_objs, size_t alignment=alignof(T)) - { - C4_ASSERT(this->resource() != nullptr); - C4_ASSERT(alignment >= alignof(T)); - void* vmem = this->resource()->allocate(detail::size_for(num_objs), alignment); - T* mem = static_cast(vmem); - return mem; - } - - void deallocate(T * ptr, size_t num_objs, size_t alignment=alignof(T)) - { - C4_ASSERT(this->resource() != nullptr); - C4_ASSERT(alignment>= alignof(T)); - this->resource()->deallocate(ptr, detail::size_for(num_objs), alignment); - } - - T* reallocate(T* ptr, size_t oldnum, size_t newnum, size_t alignment=alignof(T)) - { - C4_ASSERT(this->resource() != nullptr); - C4_ASSERT(alignment >= alignof(T)); - void* vmem = this->resource()->reallocate(ptr, detail::size_for(oldnum), detail::size_for(newnum), alignment); - T* mem = static_cast(vmem); - return mem; - } - -}; - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** @ingroup allocators */ -template -class SmallAllocator : public detail::_AllocatorUtil -{ - static_assert(Alignment >= alignof(T), "invalid alignment"); - - using impl_type = detail::_AllocatorUtil; - - alignas(Alignment) char m_arr[N * sizeof(T)]; - size_t m_num{0}; - -public: - - using value_type = T; - using pointer = T*; - using const_pointer = T const*; - using reference = T&; - using const_reference = T const&; - using size_type = size_t; - using difference_type = std::ptrdiff_t; - using propagate_on_container_move_assigment = std::true_type; - - template - bool operator== (SmallAllocator const&) const - { - return false; - } - template - bool operator!= (SmallAllocator const&) const - { - return true; - } - -public: - - template friend class SmallAllocator; - template - struct rebind - { - using other = SmallAllocator; - }; - template - typename rebind::other rebound() - { - return typename rebind::other(*this); - } - -public: - - using impl_type::impl_type; - SmallAllocator() : impl_type() {} // VS demands this - - template - SmallAllocator(SmallAllocator const& that) : impl_type(that.resource()) - { - C4_ASSERT(that.m_num == 0); - } - - SmallAllocator(SmallAllocator const&) = default; - SmallAllocator(SmallAllocator &&) = default; - - SmallAllocator& operator= (SmallAllocator const&) = default; // WTF? why? @see http://en.cppreference.com/w/cpp/memory/polymorphic_allocator - SmallAllocator& operator= (SmallAllocator &&) = default; - - /** returns a default-constructed polymorphic allocator object - * @see http://en.cppreference.com/w/cpp/memory/polymorphic_allocator/select_on_container_copy_construction */ - SmallAllocator select_on_container_copy_construct() const { return SmallAllocator(*this); } - - T* allocate(size_t num_objs, size_t alignment=Alignment) - { - C4_ASSERT(this->resource() != nullptr); - C4_ASSERT(alignment >= alignof(T)); - void *vmem; - if(m_num + num_objs <= N) - { - vmem = (m_arr + m_num * sizeof(T)); - } - else - { - vmem = this->resource()->allocate(num_objs * sizeof(T), alignment); - } - m_num += num_objs; - T *mem = static_cast(vmem); - return mem; - } - - void deallocate(T * ptr, size_t num_objs, size_t alignment=Alignment) - { - C4_ASSERT(m_num >= num_objs); - m_num -= num_objs; - if((char*)ptr >= m_arr && (char*)ptr < m_arr + (N * sizeof(T))) - { - return; - } - C4_ASSERT(this->resource() != nullptr); - C4_ASSERT(alignment >= alignof(T)); - this->resource()->deallocate(ptr, num_objs * sizeof(T), alignment); - } - - T* reallocate(T * ptr, size_t oldnum, size_t newnum, size_t alignment=Alignment) - { - C4_ASSERT(this->resource() != nullptr); - C4_ASSERT(alignment >= alignof(T)); - if(oldnum <= N && newnum <= N) - { - return m_arr; - } - else if(oldnum <= N && newnum > N) - { - return allocate(newnum, alignment); - } - else if(oldnum > N && newnum <= N) - { - deallocate(ptr, oldnum, alignment); - return m_arr; - } - void* vmem = this->resource()->reallocate(ptr, oldnum * sizeof(T), newnum * sizeof(T), alignment); - T* mem = static_cast(vmem); - return mem; - } - -}; - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** An allocator making use of the global memory resource. - * @ingroup allocators */ -template using allocator = Allocator; -/** An allocator with a per-instance memory resource - * @ingroup allocators */ -template using allocator_mr = Allocator; - -/** @ingroup allocators */ -template using small_allocator = SmallAllocator; -/** @ingroup allocators */ -template using small_allocator_mr = SmallAllocator; - -} // namespace c4 - -#endif /* _C4_ALLOCATOR_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/allocator.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/char_traits.hpp -// https://github.com/biojppm/c4core/src/c4/char_traits.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_CHAR_TRAITS_HPP_ -#define _C4_CHAR_TRAITS_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - - -#include // needed because of std::char_traits -#include -#include - -namespace c4 { - -C4_ALWAYS_INLINE bool isspace(char c) { return std::isspace(c) != 0; } -C4_ALWAYS_INLINE bool isspace(wchar_t c) { return std::iswspace(static_cast(c)) != 0; } - -//----------------------------------------------------------------------------- -template -struct char_traits; - -template<> -struct char_traits : public std::char_traits -{ - constexpr static const char whitespace_chars[] = " \f\n\r\t\v"; - constexpr static const size_t num_whitespace_chars = sizeof(whitespace_chars) - 1; -}; - -template<> -struct char_traits : public std::char_traits -{ - constexpr static const wchar_t whitespace_chars[] = L" \f\n\r\t\v"; - constexpr static const size_t num_whitespace_chars = sizeof(whitespace_chars) - 1; -}; - - -//----------------------------------------------------------------------------- -namespace detail { -template -struct needed_chars; -template<> -struct needed_chars -{ - template - C4_ALWAYS_INLINE constexpr static SizeType for_bytes(SizeType num_bytes) - { - return num_bytes; - } -}; -template<> -struct needed_chars -{ - template - C4_ALWAYS_INLINE constexpr static SizeType for_bytes(SizeType num_bytes) - { - // wchar_t is not necessarily 2 bytes. - return (num_bytes / static_cast(sizeof(wchar_t))) + ((num_bytes & static_cast(SizeType(sizeof(wchar_t)) - SizeType(1))) != 0); - } -}; -} // namespace detail - -/** get the number of C characters needed to store a number of bytes */ -template -C4_ALWAYS_INLINE constexpr SizeType num_needed_chars(SizeType num_bytes) -{ - return detail::needed_chars::for_bytes(num_bytes); -} - - -//----------------------------------------------------------------------------- - -/** get the given text string as either char or wchar_t according to the given type */ -#define C4_TXTTY(txt, type) \ - /* is there a smarter way to do this? */\ - c4::detail::literal_as::get(txt, C4_WIDEN(txt)) - -namespace detail { -template -struct literal_as; - -template<> -struct literal_as -{ - C4_ALWAYS_INLINE static constexpr const char* get(const char* str, const wchar_t *) - { - return str; - } -}; -template<> -struct literal_as -{ - C4_ALWAYS_INLINE static constexpr const wchar_t* get(const char*, const wchar_t *wstr) - { - return wstr; - } -}; -} // namespace detail - -} // namespace c4 - -#endif /* _C4_CHAR_TRAITS_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/char_traits.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/hash.hpp -// https://github.com/biojppm/c4core/src/c4/hash.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_HASH_HPP_ -#define _C4_HASH_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - -#include - -/** @file hash.hpp */ - -/** @defgroup hash Hash utils - * @see http://aras-p.info/blog/2016/08/02/Hash-Functions-all-the-way-down/ */ - -namespace c4 { - -namespace detail { - -/** @internal - * @ingroup hash - * @see this was taken a great answer in stackoverflow: - * https://stackoverflow.com/a/34597785/5875572 - * @see http://aras-p.info/blog/2016/08/02/Hash-Functions-all-the-way-down/ */ -template -class basic_fnv1a final -{ - - static_assert(std::is_unsigned::value, "need unsigned integer"); - -public: - - using result_type = ResultT; - -private: - - result_type state_ {}; - -public: - - C4_CONSTEXPR14 basic_fnv1a() noexcept : state_ {OffsetBasis} {} - - C4_CONSTEXPR14 void update(const void *const data, const size_t size) noexcept - { - auto cdata = static_cast(data); - auto acc = this->state_; - for(size_t i = 0; i < size; ++i) - { - const auto next = size_t(cdata[i]); - acc = (acc ^ next) * Prime; - } - this->state_ = acc; - } - - C4_CONSTEXPR14 result_type digest() const noexcept - { - return this->state_; - } - -}; - -using fnv1a_32 = basic_fnv1a; -using fnv1a_64 = basic_fnv1a; - -template struct fnv1a; -template<> struct fnv1a<32> { using type = fnv1a_32; }; -template<> struct fnv1a<64> { using type = fnv1a_64; }; - -} // namespace detail - - -/** @ingroup hash */ -template -using fnv1a_t = typename detail::fnv1a::type; - - -/** @ingroup hash */ -C4_CONSTEXPR14 inline size_t hash_bytes(const void *const data, const size_t size) noexcept -{ - fnv1a_t fn{}; - fn.update(data, size); - return fn.digest(); -} - -/** - * @overload hash_bytes - * @ingroup hash */ -template -C4_CONSTEXPR14 inline size_t hash_bytes(const char (&str)[N]) noexcept -{ - fnv1a_t fn{}; - fn.update(str, N); - return fn.digest(); -} - -} // namespace c4 - - -#endif // _C4_HASH_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/hash.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/szconv.hpp -// https://github.com/biojppm/c4core/src/c4/szconv.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_SZCONV_HPP_ -#define _C4_SZCONV_HPP_ - -/** @file szconv.hpp utilities to deal safely with narrowing conversions */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - - -#include - -namespace c4 { - -/** @todo this would be so much easier with calls to numeric_limits::max()... */ -template -struct is_narrower_size : std::conditional -< - (std::is_signed::value == std::is_signed::value) - ? - (sizeof(SizeOut) < sizeof(SizeIn)) - : - ( - (sizeof(SizeOut) < sizeof(SizeIn)) - || - ( - (sizeof(SizeOut) == sizeof(SizeIn)) - && - (std::is_signed::value && std::is_unsigned::value) - ) - ), - std::true_type, - std::false_type ->::type -{ - static_assert(std::is_integral::value, "must be integral type"); - static_assert(std::is_integral::value, "must be integral type"); -}; - - -/** when SizeOut is wider than SizeIn, assignment can occur without reservations */ -template -C4_ALWAYS_INLINE -typename std::enable_if< ! is_narrower_size::value, SizeOut>::type -szconv(SizeIn sz) noexcept -{ - return static_cast(sz); -} - -/** when SizeOut is narrower than SizeIn, narrowing will occur, so we check - * for overflow. Note that this check is done only if C4_XASSERT is enabled. - * @see C4_XASSERT */ -template -C4_ALWAYS_INLINE -typename std::enable_if::value, SizeOut>::type -szconv(SizeIn sz) C4_NOEXCEPT_X -{ - C4_XASSERT(sz >= 0); - C4_XASSERT_MSG((SizeIn)sz <= (SizeIn)std::numeric_limits::max(), "size conversion overflow: in=%zu", (size_t)sz); - SizeOut szo = static_cast(sz); - return szo; -} - -} // namespace c4 - -#endif /* _C4_SZCONV_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/szconv.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/blob.hpp -// https://github.com/biojppm/c4core/src/c4/blob.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_BLOB_HPP_ -#define _C4_BLOB_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/types.hpp -//#include "c4/types.hpp" -#if !defined(C4_TYPES_HPP_) && !defined(_C4_TYPES_HPP_) -#error "amalgamate: file c4/types.hpp must have been included at this point" -#endif /* C4_TYPES_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - - -/** @file blob.hpp Mutable and immutable binary data blobs. -*/ - -namespace c4 { - -template -struct blob_ -{ - T * buf; - size_t len; - - C4_ALWAYS_INLINE blob_() noexcept : buf(), len() {} - - C4_ALWAYS_INLINE blob_(blob_ const& that) noexcept = default; - C4_ALWAYS_INLINE blob_(blob_ && that) noexcept = default; - C4_ALWAYS_INLINE blob_& operator=(blob_ && that) noexcept = default; - C4_ALWAYS_INLINE blob_& operator=(blob_ const& that) noexcept = default; - - // need to sfinae out copy constructors! (why? isn't the above sufficient?) - #define _C4_REQUIRE_NOT_SAME class=typename std::enable_if<( ! std::is_same::value) && ( ! std::is_pointer::value), T>::type - template C4_ALWAYS_INLINE blob_(U &var) noexcept : buf(reinterpret_cast(&var)), len(sizeof(U)) {} - template C4_ALWAYS_INLINE blob_& operator= (U &var) noexcept { buf = reinterpret_cast(&var); len = sizeof(U); return *this; } - #undef _C4_REQUIRE_NOT_SAME - - template C4_ALWAYS_INLINE blob_(U (&arr)[N]) noexcept : buf(reinterpret_cast(arr)), len(sizeof(U) * N) {} - template C4_ALWAYS_INLINE blob_& operator= (U (&arr)[N]) noexcept { buf = reinterpret_cast(arr); len = sizeof(U) * N; return *this; } - - template - C4_ALWAYS_INLINE blob_(U *ptr, size_t n) noexcept : buf(reinterpret_cast(ptr)), len(sizeof(U) * n) { C4_ASSERT(is_aligned(ptr)); } - C4_ALWAYS_INLINE blob_(void *ptr, size_t n) noexcept : buf(reinterpret_cast(ptr)), len(n) {} - C4_ALWAYS_INLINE blob_(void const *ptr, size_t n) noexcept : buf(reinterpret_cast(ptr)), len(n) {} -}; - -/** an immutable binary blob */ -using cblob = blob_; -/** a mutable binary blob */ -using blob = blob_< byte>; - -C4_MUST_BE_TRIVIAL_COPY(blob); -C4_MUST_BE_TRIVIAL_COPY(cblob); - -} // namespace c4 - -#endif // _C4_BLOB_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/blob.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/substr_fwd.hpp -// https://github.com/biojppm/c4core/src/c4/substr_fwd.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_SUBSTR_FWD_HPP_ -#define _C4_SUBSTR_FWD_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/export.hpp -//#include "c4/export.hpp" -#if !defined(C4_EXPORT_HPP_) && !defined(_C4_EXPORT_HPP_) -#error "amalgamate: file c4/export.hpp must have been included at this point" -#endif /* C4_EXPORT_HPP_ */ - - -namespace c4 { - -#ifndef DOXYGEN -template struct basic_substring; -using csubstr = C4CORE_EXPORT basic_substring; -using substr = C4CORE_EXPORT basic_substring; -#endif // !DOXYGEN - -} // namespace c4 - -#endif /* _C4_SUBSTR_FWD_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/substr_fwd.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/substr.hpp -// https://github.com/biojppm/c4core/src/c4/substr.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_SUBSTR_HPP_ -#define _C4_SUBSTR_HPP_ - -/** @file substr.hpp read+write string views */ - -//included above: -//#include -//included above: -//#include -//included above: -//#include - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr_fwd.hpp -//#include "c4/substr_fwd.hpp" -#if !defined(C4_SUBSTR_FWD_HPP_) && !defined(_C4_SUBSTR_FWD_HPP_) -#error "amalgamate: file c4/substr_fwd.hpp must have been included at this point" -#endif /* C4_SUBSTR_FWD_HPP_ */ - - -#ifdef __clang__ -# pragma clang diagnostic push -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wtype-limits" // disable warnings on size_t>=0, used heavily in assertions below. These assertions are a preparation step for providing the index type as a template parameter. -# pragma GCC diagnostic ignored "-Wuseless-cast" -#endif - - -namespace c4 { - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { - -template -static inline void _do_reverse(C *C4_RESTRICT first, C *C4_RESTRICT last) -{ - while(last > first) - { - C tmp = *last; - *last-- = *first; - *first++ = tmp; - } -} - -} // namespace detail - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -// utility macros to deuglify SFINAE code; undefined after the class. -// https://stackoverflow.com/questions/43051882/how-to-disable-a-class-member-funrtion-for-certain-template-types -#define C4_REQUIRE_RW(ret_type) \ - template \ - typename std::enable_if< ! std::is_const::value, ret_type>::type -// non-const-to-const -#define C4_NC2C(ty) \ - typename std::enable_if::value && ( ! std::is_const::value), ty>::type - - -/** a non-owning string-view, consisting of a character pointer - * and a length. - * - * @note The pointer is explicitly restricted. - * @note Because of a C++ limitation, there cannot coexist overloads for - * constructing from a char[N] and a char*; the latter will always be chosen - * by the compiler. To construct an object of this type, call to_substr() or - * to_csubstr(). For a more detailed explanation on why the overloads cannot - * coexist, see http://cplusplus.bordoon.com/specializeForCharacterArrays.html - * - * @see to_substr() - * @see to_csubstr() - */ -template -struct C4CORE_EXPORT basic_substring -{ -public: - - /** a restricted pointer to the first character of the substring */ - C * C4_RESTRICT str; - /** the length of the substring */ - size_t len; - -public: - - /** @name Types */ - /** @{ */ - - using CC = typename std::add_const::type; //!< CC=const char - using NCC_ = typename std::remove_const::type; //!< NCC_=non const char - - using ro_substr = basic_substring; - using rw_substr = basic_substring; - - using char_type = C; - using size_type = size_t; - - using iterator = C*; - using const_iterator = CC*; - - enum : size_t { npos = (size_t)-1, NONE = (size_t)-1 }; - - /// convert automatically to substring of const C - operator ro_substr () const { ro_substr s(str, len); return s; } - - /** @} */ - -public: - - /** @name Default construction and assignment */ - /** @{ */ - - constexpr basic_substring() : str(nullptr), len(0) {} - - constexpr basic_substring(basic_substring const&) = default; - constexpr basic_substring(basic_substring &&) = default; - constexpr basic_substring(std::nullptr_t) : str(nullptr), len(0) {} - - basic_substring& operator= (basic_substring const&) = default; - basic_substring& operator= (basic_substring &&) = default; - basic_substring& operator= (std::nullptr_t) { str = nullptr; len = 0; return *this; } - - /** @} */ - -public: - - /** @name Construction and assignment from characters with the same type */ - /** @{ */ - - //basic_substring(C *s_) : str(s_), len(s_ ? strlen(s_) : 0) {} - /** the overload for receiving a single C* pointer will always - * hide the array[N] overload. So it is disabled. If you want to - * construct a substr from a single pointer containing a C-style string, - * you can call c4::to_substr()/c4::to_csubstr(). - * @see c4::to_substr() - * @see c4::to_csubstr() */ - template - constexpr basic_substring(C (&s_)[N]) noexcept : str(s_), len(N-1) {} - basic_substring(C *s_, size_t len_) : str(s_), len(len_) { C4_ASSERT(str || !len_); } - basic_substring(C *beg_, C *end_) : str(beg_), len(static_cast(end_ - beg_)) { C4_ASSERT(end_ >= beg_); } - - //basic_substring& operator= (C *s_) { this->assign(s_); return *this; } - template - basic_substring& operator= (C (&s_)[N]) { this->assign(s_); return *this; } - - //void assign(C *s_) { str = (s_); len = (s_ ? strlen(s_) : 0); } - /** the overload for receiving a single C* pointer will always - * hide the array[N] overload. So it is disabled. If you want to - * construct a substr from a single pointer containing a C-style string, - * you can call c4::to_substr()/c4::to_csubstr(). - * @see c4::to_substr() - * @see c4::to_csubstr() */ - template - void assign(C (&s_)[N]) { str = (s_); len = (N-1); } - void assign(C *s_, size_t len_) { str = s_; len = len_; C4_ASSERT(str || !len_); } - void assign(C *beg_, C *end_) { C4_ASSERT(end_ >= beg_); str = (beg_); len = (end_ - beg_); } - - void clear() { str = nullptr; len = 0; } - - /** @} */ - -public: - - /** @name Construction from non-const characters */ - /** @{ */ - - // when the char type is const, allow construction and assignment from non-const chars - - /** only available when the char type is const */ - template explicit basic_substring(C4_NC2C(U) (&s_)[N]) { str = s_; len = N-1; } - /** only available when the char type is const */ - template< class U=NCC_> basic_substring(C4_NC2C(U) *s_, size_t len_) { str = s_; len = len_; } - /** only available when the char type is const */ - template< class U=NCC_> basic_substring(C4_NC2C(U) *beg_, C4_NC2C(U) *end_) { C4_ASSERT(end_ >= beg_); str = beg_; len = end_ - beg_; } - - /** only available when the char type is const */ - template void assign(C4_NC2C(U) (&s_)[N]) { str = s_; len = N-1; } - /** only available when the char type is const */ - template< class U=NCC_> void assign(C4_NC2C(U) *s_, size_t len_) { str = s_; len = len_; } - /** only available when the char type is const */ - template< class U=NCC_> void assign(C4_NC2C(U) *beg_, C4_NC2C(U) *end_) { C4_ASSERT(end_ >= beg_); str = beg_; len = end_ - beg_; } - - /** only available when the char type is const */ - template - basic_substring& operator=(C4_NC2C(U) (&s_)[N]) { str = s_; len = N-1; return *this; } - - /** @} */ - -public: - - /** @name Standard accessor methods */ - /** @{ */ - - C4_ALWAYS_INLINE C4_PURE bool has_str() const noexcept { return ! empty() && str[0] != C(0); } - C4_ALWAYS_INLINE C4_PURE bool empty() const noexcept { return (len == 0 || str == nullptr); } - C4_ALWAYS_INLINE C4_PURE bool not_empty() const noexcept { return (len != 0 && str != nullptr); } - C4_ALWAYS_INLINE C4_PURE size_t size() const noexcept { return len; } - - C4_ALWAYS_INLINE C4_PURE iterator begin() noexcept { return str; } - C4_ALWAYS_INLINE C4_PURE iterator end () noexcept { return str + len; } - - C4_ALWAYS_INLINE C4_PURE const_iterator begin() const noexcept { return str; } - C4_ALWAYS_INLINE C4_PURE const_iterator end () const noexcept { return str + len; } - - C4_ALWAYS_INLINE C4_PURE C * data() noexcept { return str; } - C4_ALWAYS_INLINE C4_PURE C const* data() const noexcept { return str; } - - C4_ALWAYS_INLINE C4_PURE C & operator[] (size_t i) noexcept { C4_ASSERT(i >= 0 && i < len); return str[i]; } - C4_ALWAYS_INLINE C4_PURE C const& operator[] (size_t i) const noexcept { C4_ASSERT(i >= 0 && i < len); return str[i]; } - - C4_ALWAYS_INLINE C4_PURE C & front() noexcept { C4_ASSERT(len > 0 && str != nullptr); return *str; } - C4_ALWAYS_INLINE C4_PURE C const& front() const noexcept { C4_ASSERT(len > 0 && str != nullptr); return *str; } - - C4_ALWAYS_INLINE C4_PURE C & back() noexcept { C4_ASSERT(len > 0 && str != nullptr); return *(str + len - 1); } - C4_ALWAYS_INLINE C4_PURE C const& back() const noexcept { C4_ASSERT(len > 0 && str != nullptr); return *(str + len - 1); } - - /** @} */ - -public: - - /** @name Comparison methods */ - /** @{ */ - - C4_PURE int compare(C const c) const noexcept - { - C4_XASSERT((str != nullptr) || len == 0); - if(C4_LIKELY(str != nullptr && len > 0)) - return (*str != c) ? *str - c : (static_cast(len) - 1); - else - return -1; - } - - C4_PURE int compare(const char *C4_RESTRICT that, size_t sz) const noexcept - { - C4_XASSERT(that || sz == 0); - C4_XASSERT(str || len == 0); - if(C4_LIKELY(str && that)) - { - { - const size_t min = len < sz ? len : sz; - for(size_t i = 0; i < min; ++i) - if(str[i] != that[i]) - return str[i] < that[i] ? -1 : 1; - } - if(len < sz) - return -1; - else if(len == sz) - return 0; - else - return 1; - } - else if(len == sz) - { - C4_XASSERT(len == 0 && sz == 0); - return 0; - } - return len < sz ? -1 : 1; - } - - C4_ALWAYS_INLINE C4_PURE int compare(ro_substr const that) const noexcept { return this->compare(that.str, that.len); } - - C4_ALWAYS_INLINE C4_PURE bool operator== (std::nullptr_t) const noexcept { return str == nullptr; } - C4_ALWAYS_INLINE C4_PURE bool operator!= (std::nullptr_t) const noexcept { return str != nullptr; } - - C4_ALWAYS_INLINE C4_PURE bool operator== (C const c) const noexcept { return this->compare(c) == 0; } - C4_ALWAYS_INLINE C4_PURE bool operator!= (C const c) const noexcept { return this->compare(c) != 0; } - C4_ALWAYS_INLINE C4_PURE bool operator< (C const c) const noexcept { return this->compare(c) < 0; } - C4_ALWAYS_INLINE C4_PURE bool operator> (C const c) const noexcept { return this->compare(c) > 0; } - C4_ALWAYS_INLINE C4_PURE bool operator<= (C const c) const noexcept { return this->compare(c) <= 0; } - C4_ALWAYS_INLINE C4_PURE bool operator>= (C const c) const noexcept { return this->compare(c) >= 0; } - - template C4_ALWAYS_INLINE C4_PURE bool operator== (basic_substring const that) const noexcept { return this->compare(that) == 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator!= (basic_substring const that) const noexcept { return this->compare(that) != 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator< (basic_substring const that) const noexcept { return this->compare(that) < 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator> (basic_substring const that) const noexcept { return this->compare(that) > 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator<= (basic_substring const that) const noexcept { return this->compare(that) <= 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator>= (basic_substring const that) const noexcept { return this->compare(that) >= 0; } - - template C4_ALWAYS_INLINE C4_PURE bool operator== (const char (&that)[N]) const noexcept { return this->compare(that, N-1) == 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator!= (const char (&that)[N]) const noexcept { return this->compare(that, N-1) != 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator< (const char (&that)[N]) const noexcept { return this->compare(that, N-1) < 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator> (const char (&that)[N]) const noexcept { return this->compare(that, N-1) > 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator<= (const char (&that)[N]) const noexcept { return this->compare(that, N-1) <= 0; } - template C4_ALWAYS_INLINE C4_PURE bool operator>= (const char (&that)[N]) const noexcept { return this->compare(that, N-1) >= 0; } - - /** @} */ - -public: - - /** @name Sub-selection methods */ - /** @{ */ - - /** true if *this is a substring of that (ie, from the same buffer) */ - C4_ALWAYS_INLINE C4_PURE bool is_sub(ro_substr const that) const noexcept - { - return that.is_super(*this); - } - - /** true if that is a substring of *this (ie, from the same buffer) */ - C4_ALWAYS_INLINE C4_PURE bool is_super(ro_substr const that) const noexcept - { - if(C4_LIKELY(len > 0)) - return that.str >= str && that.str+that.len <= str+len; - else - return that.len == 0 && that.str == str && str != nullptr; - } - - /** true if there is overlap of at least one element between that and *this */ - C4_ALWAYS_INLINE C4_PURE bool overlaps(ro_substr const that) const noexcept - { - // thanks @timwynants - return that.str+that.len > str && that.str < str+len; - } - -public: - - /** return [first,len[ */ - C4_ALWAYS_INLINE C4_PURE basic_substring sub(size_t first) const noexcept - { - C4_ASSERT(first >= 0 && first <= len); - return basic_substring(str + first, len - first); - } - - /** return [first,first+num[. If num==npos, return [first,len[ */ - C4_ALWAYS_INLINE C4_PURE basic_substring sub(size_t first, size_t num) const noexcept - { - C4_ASSERT(first >= 0 && first <= len); - C4_ASSERT((num >= 0 && num <= len) || (num == npos)); - size_t rnum = num != npos ? num : len - first; - C4_ASSERT((first >= 0 && first + rnum <= len) || (num == 0)); - return basic_substring(str + first, rnum); - } - - /** return [first,last[. If last==npos, return [first,len[ */ - C4_ALWAYS_INLINE C4_PURE basic_substring range(size_t first, size_t last=npos) const noexcept - { - C4_ASSERT(first >= 0 && first <= len); - last = last != npos ? last : len; - C4_ASSERT(first <= last); - C4_ASSERT(last >= 0 && last <= len); - return basic_substring(str + first, last - first); - } - - /** return the first @p num elements: [0,num[*/ - C4_ALWAYS_INLINE C4_PURE basic_substring first(size_t num) const noexcept - { - C4_ASSERT(num <= len || num == npos); - return basic_substring(str, num != npos ? num : len); - } - - /** return the last @num elements: [len-num,len[*/ - C4_ALWAYS_INLINE C4_PURE basic_substring last(size_t num) const noexcept - { - C4_ASSERT(num <= len || num == npos); - return num != npos ? - basic_substring(str + len - num, num) : - *this; - } - - /** offset from the ends: return [left,len-right[ ; ie, trim a - number of characters from the left and right. This is - equivalent to python's negative list indices. */ - C4_ALWAYS_INLINE C4_PURE basic_substring offs(size_t left, size_t right) const noexcept - { - C4_ASSERT(left >= 0 && left <= len); - C4_ASSERT(right >= 0 && right <= len); - C4_ASSERT(left <= len - right + 1); - return basic_substring(str + left, len - right - left); - } - - /** return [0, pos[ . Same as .first(pos), but provided for compatibility with .right_of() */ - C4_ALWAYS_INLINE C4_PURE basic_substring left_of(size_t pos) const noexcept - { - C4_ASSERT(pos <= len || pos == npos); - return (pos != npos) ? - basic_substring(str, pos) : - *this; - } - - /** return [0, pos+include_pos[ . Same as .first(pos+1), but provided for compatibility with .right_of() */ - C4_ALWAYS_INLINE C4_PURE basic_substring left_of(size_t pos, bool include_pos) const noexcept - { - C4_ASSERT(pos <= len || pos == npos); - return (pos != npos) ? - basic_substring(str, pos+include_pos) : - *this; - } - - /** return [pos+1, len[ */ - C4_ALWAYS_INLINE C4_PURE basic_substring right_of(size_t pos) const noexcept - { - C4_ASSERT(pos <= len || pos == npos); - return (pos != npos) ? - basic_substring(str + (pos + 1), len - (pos + 1)) : - basic_substring(str + len, size_t(0)); - } - - /** return [pos+!include_pos, len[ */ - C4_ALWAYS_INLINE C4_PURE basic_substring right_of(size_t pos, bool include_pos) const noexcept - { - C4_ASSERT(pos <= len || pos == npos); - return (pos != npos) ? - basic_substring(str + (pos + !include_pos), len - (pos + !include_pos)) : - basic_substring(str + len, size_t(0)); - } - -public: - - /** given @p subs a substring of the current string, get the - * portion of the current string to the left of it */ - C4_ALWAYS_INLINE C4_PURE basic_substring left_of(ro_substr const subs) const noexcept - { - C4_ASSERT(is_super(subs) || subs.empty()); - auto ssb = subs.begin(); - auto b = begin(); - auto e = end(); - if(ssb >= b && ssb <= e) - return sub(0, static_cast(ssb - b)); - else - return sub(0, 0); - } - - /** given @p subs a substring of the current string, get the - * portion of the current string to the right of it */ - C4_ALWAYS_INLINE C4_PURE basic_substring right_of(ro_substr const subs) const noexcept - { - C4_ASSERT(is_super(subs) || subs.empty()); - auto sse = subs.end(); - auto b = begin(); - auto e = end(); - if(sse >= b && sse <= e) - return sub(static_cast(sse - b), static_cast(e - sse)); - else - return sub(0, 0); - } - - /** @} */ - -public: - - /** @name Removing characters (trim()) / patterns (strip()) from the tips of the string */ - /** @{ */ - - /** trim left */ - basic_substring triml(const C c) const - { - if( ! empty()) - { - size_t pos = first_not_of(c); - if(pos != npos) - return sub(pos); - } - return sub(0, 0); - } - /** trim left ANY of the characters. - * @see stripl() to remove a pattern from the left */ - basic_substring triml(ro_substr chars) const - { - if( ! empty()) - { - size_t pos = first_not_of(chars); - if(pos != npos) - return sub(pos); - } - return sub(0, 0); - } - - /** trim the character c from the right */ - basic_substring trimr(const C c) const - { - if( ! empty()) - { - size_t pos = last_not_of(c, npos); - if(pos != npos) - return sub(0, pos+1); - } - return sub(0, 0); - } - /** trim right ANY of the characters - * @see stripr() to remove a pattern from the right */ - basic_substring trimr(ro_substr chars) const - { - if( ! empty()) - { - size_t pos = last_not_of(chars, npos); - if(pos != npos) - return sub(0, pos+1); - } - return sub(0, 0); - } - - /** trim the character c left and right */ - basic_substring trim(const C c) const - { - return triml(c).trimr(c); - } - /** trim left and right ANY of the characters - * @see strip() to remove a pattern from the left and right */ - basic_substring trim(ro_substr const chars) const - { - return triml(chars).trimr(chars); - } - - /** remove a pattern from the left - * @see triml() to remove characters*/ - basic_substring stripl(ro_substr pattern) const - { - if( ! begins_with(pattern)) - return *this; - return sub(pattern.len < len ? pattern.len : len); - } - - /** remove a pattern from the right - * @see trimr() to remove characters*/ - basic_substring stripr(ro_substr pattern) const - { - if( ! ends_with(pattern)) - return *this; - return left_of(len - (pattern.len < len ? pattern.len : len)); - } - - /** @} */ - -public: - - /** @name Lookup methods */ - /** @{ */ - - inline size_t find(const C c, size_t start_pos=0) const - { - return first_of(c, start_pos); - } - inline size_t find(ro_substr pattern, size_t start_pos=0) const - { - C4_ASSERT(start_pos == npos || (start_pos >= 0 && start_pos <= len)); - if(len < pattern.len) return npos; - for(size_t i = start_pos, e = len - pattern.len + 1; i < e; ++i) - { - bool gotit = true; - for(size_t j = 0; j < pattern.len; ++j) - { - C4_ASSERT(i + j < len); - if(str[i + j] != pattern.str[j]) - { - gotit = false; - break; - } - } - if(gotit) - { - return i; - } - } - return npos; - } - -public: - - /** count the number of occurrences of c */ - inline size_t count(const C c, size_t pos=0) const - { - C4_ASSERT(pos >= 0 && pos <= len); - size_t num = 0; - pos = find(c, pos); - while(pos != npos) - { - ++num; - pos = find(c, pos + 1); - } - return num; - } - - /** count the number of occurrences of s */ - inline size_t count(ro_substr c, size_t pos=0) const - { - C4_ASSERT(pos >= 0 && pos <= len); - size_t num = 0; - pos = find(c, pos); - while(pos != npos) - { - ++num; - pos = find(c, pos + c.len); - } - return num; - } - - /** get the substr consisting of the first occurrence of @p c after @p pos, or an empty substr if none occurs */ - inline basic_substring select(const C c, size_t pos=0) const - { - pos = find(c, pos); - return pos != npos ? sub(pos, 1) : basic_substring(); - } - - /** get the substr consisting of the first occurrence of @p pattern after @p pos, or an empty substr if none occurs */ - inline basic_substring select(ro_substr pattern, size_t pos=0) const - { - pos = find(pattern, pos); - return pos != npos ? sub(pos, pattern.len) : basic_substring(); - } - -public: - - struct first_of_any_result - { - size_t which; - size_t pos; - inline operator bool() const { return which != NONE && pos != npos; } - }; - - first_of_any_result first_of_any(ro_substr s0, ro_substr s1) const - { - ro_substr s[2] = {s0, s1}; - return first_of_any_iter(&s[0], &s[0] + 2); - } - - first_of_any_result first_of_any(ro_substr s0, ro_substr s1, ro_substr s2) const - { - ro_substr s[3] = {s0, s1, s2}; - return first_of_any_iter(&s[0], &s[0] + 3); - } - - first_of_any_result first_of_any(ro_substr s0, ro_substr s1, ro_substr s2, ro_substr s3) const - { - ro_substr s[4] = {s0, s1, s2, s3}; - return first_of_any_iter(&s[0], &s[0] + 4); - } - - first_of_any_result first_of_any(ro_substr s0, ro_substr s1, ro_substr s2, ro_substr s3, ro_substr s4) const - { - ro_substr s[5] = {s0, s1, s2, s3, s4}; - return first_of_any_iter(&s[0], &s[0] + 5); - } - - template - first_of_any_result first_of_any_iter(It first_span, It last_span) const - { - for(size_t i = 0; i < len; ++i) - { - size_t curr = 0; - for(It it = first_span; it != last_span; ++curr, ++it) - { - auto const& chars = *it; - if((i + chars.len) > len) continue; - bool gotit = true; - for(size_t j = 0; j < chars.len; ++j) - { - C4_ASSERT(i + j < len); - if(str[i + j] != chars[j]) - { - gotit = false; - break; - } - } - if(gotit) - { - return {curr, i}; - } - } - } - return {NONE, npos}; - } - -public: - - /** true if the first character of the string is @p c */ - bool begins_with(const C c) const - { - return len > 0 ? str[0] == c : false; - } - - /** true if the first @p num characters of the string are @p c */ - bool begins_with(const C c, size_t num) const - { - if(len < num) - { - return false; - } - for(size_t i = 0; i < num; ++i) - { - if(str[i] != c) - { - return false; - } - } - return true; - } - - /** true if the string begins with the given @p pattern */ - bool begins_with(ro_substr pattern) const - { - if(len < pattern.len) - { - return false; - } - for(size_t i = 0; i < pattern.len; ++i) - { - if(str[i] != pattern[i]) - { - return false; - } - } - return true; - } - - /** true if the first character of the string is any of the given @p chars */ - bool begins_with_any(ro_substr chars) const - { - if(len == 0) - { - return false; - } - for(size_t i = 0; i < chars.len; ++i) - { - if(str[0] == chars.str[i]) - { - return true; - } - } - return false; - } - - /** true if the last character of the string is @p c */ - bool ends_with(const C c) const - { - return len > 0 ? str[len-1] == c : false; - } - - /** true if the last @p num characters of the string are @p c */ - bool ends_with(const C c, size_t num) const - { - if(len < num) - { - return false; - } - for(size_t i = len - num; i < len; ++i) - { - if(str[i] != c) - { - return false; - } - } - return true; - } - - /** true if the string ends with the given @p pattern */ - bool ends_with(ro_substr pattern) const - { - if(len < pattern.len) - { - return false; - } - for(size_t i = 0, s = len-pattern.len; i < pattern.len; ++i) - { - if(str[s+i] != pattern[i]) - { - return false; - } - } - return true; - } - - /** true if the last character of the string is any of the given @p chars */ - bool ends_with_any(ro_substr chars) const - { - if(len == 0) - { - return false; - } - for(size_t i = 0; i < chars.len; ++i) - { - if(str[len - 1] == chars[i]) - { - return true; - } - } - return false; - } - -public: - - /** @return the first position where c is found in the string, or npos if none is found */ - size_t first_of(const C c, size_t start=0) const - { - C4_ASSERT(start == npos || (start >= 0 && start <= len)); - for(size_t i = start; i < len; ++i) - { - if(str[i] == c) - return i; - } - return npos; - } - - /** @return the last position where c is found in the string, or npos if none is found */ - size_t last_of(const C c, size_t start=npos) const - { - C4_ASSERT(start == npos || (start >= 0 && start <= len)); - if(start == npos) - start = len; - for(size_t i = start-1; i != size_t(-1); --i) - { - if(str[i] == c) - return i; - } - return npos; - } - - /** @return the first position where ANY of the chars is found in the string, or npos if none is found */ - size_t first_of(ro_substr chars, size_t start=0) const - { - C4_ASSERT(start == npos || (start >= 0 && start <= len)); - for(size_t i = start; i < len; ++i) - { - for(size_t j = 0; j < chars.len; ++j) - { - if(str[i] == chars[j]) - return i; - } - } - return npos; - } - - /** @return the last position where ANY of the chars is found in the string, or npos if none is found */ - size_t last_of(ro_substr chars, size_t start=npos) const - { - C4_ASSERT(start == npos || (start >= 0 && start <= len)); - if(start == npos) - start = len; - for(size_t i = start-1; i != size_t(-1); --i) - { - for(size_t j = 0; j < chars.len; ++j) - { - if(str[i] == chars[j]) - return i; - } - } - return npos; - } - -public: - - size_t first_not_of(const C c, size_t start=0) const - { - C4_ASSERT((start >= 0 && start <= len) || (start == len && len == 0)); - for(size_t i = start; i < len; ++i) - { - if(str[i] != c) - return i; - } - return npos; - } - - size_t last_not_of(const C c, size_t start=npos) const - { - C4_ASSERT(start == npos || (start >= 0 && start <= len)); - if(start == npos) - start = len; - for(size_t i = start-1; i != size_t(-1); --i) - { - if(str[i] != c) - return i; - } - return npos; - } - - size_t first_not_of(ro_substr chars, size_t start=0) const - { - C4_ASSERT((start >= 0 && start <= len) || (start == len && len == 0)); - for(size_t i = start; i < len; ++i) - { - bool gotit = true; - for(size_t j = 0; j < chars.len; ++j) - { - if(str[i] == chars.str[j]) - { - gotit = false; - break; - } - } - if(gotit) - { - return i; - } - } - return npos; - } - - size_t last_not_of(ro_substr chars, size_t start=npos) const - { - C4_ASSERT(start == npos || (start >= 0 && start <= len)); - if(start == npos) - start = len; - for(size_t i = start-1; i != size_t(-1); --i) - { - bool gotit = true; - for(size_t j = 0; j < chars.len; ++j) - { - if(str[i] == chars.str[j]) - { - gotit = false; - break; - } - } - if(gotit) - { - return i; - } - } - return npos; - } - - /** @} */ - -public: - - /** @name Range lookup methods */ - /** @{ */ - - /** get the range delimited by an open-close pair of characters. - * @note There must be no nested pairs. - * @note No checks for escapes are performed. */ - basic_substring pair_range(CC open, CC close) const - { - size_t b = find(open); - if(b == npos) - return basic_substring(); - size_t e = find(close, b+1); - if(e == npos) - return basic_substring(); - basic_substring ret = range(b, e+1); - C4_ASSERT(ret.sub(1).find(open) == npos); - return ret; - } - - /** get the range delimited by a single open-close character (eg, quotes). - * @note The open-close character can be escaped. */ - basic_substring pair_range_esc(CC open_close, CC escape=CC('\\')) - { - size_t b = find(open_close); - if(b == npos) return basic_substring(); - for(size_t i = b+1; i < len; ++i) - { - CC c = str[i]; - if(c == open_close) - { - if(str[i-1] != escape) - { - return range(b, i+1); - } - } - } - return basic_substring(); - } - - /** get the range delimited by an open-close pair of characters, - * with possibly nested occurrences. No checks for escapes are - * performed. */ - basic_substring pair_range_nested(CC open, CC close) const - { - size_t b = find(open); - if(b == npos) return basic_substring(); - size_t e, curr = b+1, count = 0; - const char both[] = {open, close, '\0'}; - while((e = first_of(both, curr)) != npos) - { - if(str[e] == open) - { - ++count; - curr = e+1; - } - else if(str[e] == close) - { - if(count == 0) return range(b, e+1); - --count; - curr = e+1; - } - } - return basic_substring(); - } - - basic_substring unquoted() const - { - constexpr const C dq('"'), sq('\''); - if(len >= 2 && (str[len - 2] != C('\\')) && - ((begins_with(sq) && ends_with(sq)) - || - (begins_with(dq) && ends_with(dq)))) - { - return range(1, len -1); - } - return *this; - } - - /** @} */ - -public: - - /** @name Number-matching query methods */ - /** @{ */ - - /** @return true if the substring contents are a floating-point or integer number. - * @note any leading or trailing whitespace will return false. */ - bool is_number() const - { - if(empty() || (first_non_empty_span().empty())) - return false; - if(first_uint_span() == *this) - return true; - if(first_int_span() == *this) - return true; - if(first_real_span() == *this) - return true; - return false; - } - - /** @return true if the substring contents are a real number. - * @note any leading or trailing whitespace will return false. */ - bool is_real() const - { - if(empty() || (first_non_empty_span().empty())) - return false; - if(first_real_span() == *this) - return true; - return false; - } - - /** @return true if the substring contents are an integer number. - * @note any leading or trailing whitespace will return false. */ - bool is_integer() const - { - if(empty() || (first_non_empty_span().empty())) - return false; - if(first_uint_span() == *this) - return true; - if(first_int_span() == *this) - return true; - return false; - } - - /** @return true if the substring contents are an unsigned integer number. - * @note any leading or trailing whitespace will return false. */ - bool is_unsigned_integer() const - { - if(empty() || (first_non_empty_span().empty())) - return false; - if(first_uint_span() == *this) - return true; - return false; - } - - /** get the first span consisting exclusively of non-empty characters */ - basic_substring first_non_empty_span() const - { - constexpr const ro_substr empty_chars(" \n\r\t"); - size_t pos = first_not_of(empty_chars); - if(pos == npos) - return first(0); - auto ret = sub(pos); - pos = ret.first_of(empty_chars); - return ret.first(pos); - } - - /** get the first span which can be interpreted as an unsigned integer */ - basic_substring first_uint_span() const - { - basic_substring ne = first_non_empty_span(); - if(ne.empty()) - return ne; - if(ne.str[0] == '-') - return first(0); - size_t skip_start = (ne.str[0] == '+') ? 1 : 0; - return ne._first_integral_span(skip_start); - } - - /** get the first span which can be interpreted as a signed integer */ - basic_substring first_int_span() const - { - basic_substring ne = first_non_empty_span(); - if(ne.empty()) - return ne; - size_t skip_start = (ne.str[0] == '+' || ne.str[0] == '-') ? 1 : 0; - return ne._first_integral_span(skip_start); - } - - basic_substring _first_integral_span(size_t skip_start) const - { - C4_ASSERT(!empty()); - if(skip_start == len) - return first(0); - C4_ASSERT(skip_start < len); - if(len >= skip_start + 3) - { - if(str[skip_start] != '0') - { - for(size_t i = skip_start; i < len; ++i) - { - char c = str[i]; - if(c < '0' || c > '9') - return i > skip_start && _is_delim_char(c) ? first(i) : first(0); - } - } - else - { - char next = str[skip_start + 1]; - if(next == 'x' || next == 'X') - { - skip_start += 2; - for(size_t i = skip_start; i < len; ++i) - { - const char c = str[i]; - if( ! _is_hex_char(c)) - return i > skip_start && _is_delim_char(c) ? first(i) : first(0); - } - return *this; - } - else if(next == 'b' || next == 'B') - { - skip_start += 2; - for(size_t i = skip_start; i < len; ++i) - { - const char c = str[i]; - if(c != '0' && c != '1') - return i > skip_start && _is_delim_char(c) ? first(i) : first(0); - } - return *this; - } - else if(next == 'o' || next == 'O') - { - skip_start += 2; - for(size_t i = skip_start; i < len; ++i) - { - const char c = str[i]; - if(c < '0' || c > '7') - return i > skip_start && _is_delim_char(c) ? first(i) : first(0); - } - return *this; - } - } - } - // must be a decimal, or it is not a an number - for(size_t i = skip_start; i < len; ++i) - { - const char c = str[i]; - if(c < '0' || c > '9') - return i > skip_start && _is_delim_char(c) ? first(i) : first(0); - } - return *this; - } - - /** get the first span which can be interpreted as a real (floating-point) number */ - basic_substring first_real_span() const - { - basic_substring ne = first_non_empty_span(); - if(ne.empty()) - return ne; - size_t skip_start = (ne.str[0] == '+' || ne.str[0] == '-'); - C4_ASSERT(skip_start == 0 || skip_start == 1); - // if we have at least three digits after the leading sign, it - // can be decimal, or hex, or bin or oct. Ex: - // non-decimal: 0x0, 0b0, 0o0 - // decimal: 1.0, 10., 1e1, 100, inf, nan, infinity - if(ne.len >= skip_start+3) - { - // if it does not have leading 0, it must be decimal, or it is not a real - if(ne.str[skip_start] != '0') - { - if(ne.str[skip_start] == 'i') // is it infinity or inf? - { - basic_substring word = ne._word_follows(skip_start + 1, "nfinity"); - if(word.len) - return word; - return ne._word_follows(skip_start + 1, "nf"); - } - else if(ne.str[skip_start] == 'n') // is it nan? - { - return ne._word_follows(skip_start + 1, "an"); - } - else // must be a decimal, or it is not a real - { - return ne._first_real_span_dec(skip_start); - } - } - else // starts with 0. is it 0x, 0b or 0o? - { - const char next = ne.str[skip_start + 1]; - // hexadecimal - if(next == 'x' || next == 'X') - return ne._first_real_span_hex(skip_start + 2); - // binary - else if(next == 'b' || next == 'B') - return ne._first_real_span_bin(skip_start + 2); - // octal - else if(next == 'o' || next == 'O') - return ne._first_real_span_oct(skip_start + 2); - // none of the above. may still be a decimal. - else - return ne._first_real_span_dec(skip_start); // do not skip the 0. - } - } - // less than 3 chars after the leading sign. It is either a - // decimal or it is not a real. (cannot be any of 0x0, etc). - return ne._first_real_span_dec(skip_start); - } - - /** true if the character is a delimiter character *at the end* */ - static constexpr C4_ALWAYS_INLINE C4_CONST bool _is_delim_char(char c) noexcept - { - return c == ' ' || c == '\n' - || c == ']' || c == ')' || c == '}' - || c == ',' || c == ';' || c == '\r' || c == '\t' || c == '\0'; - } - - /** true if the character is in [0-9a-fA-F] */ - static constexpr C4_ALWAYS_INLINE C4_CONST bool _is_hex_char(char c) noexcept - { - return (c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'); - } - - C4_NO_INLINE C4_PURE basic_substring _word_follows(size_t pos, csubstr word) const noexcept - { - size_t posend = pos + word.len; - if(len >= posend && sub(pos, word.len) == word) - if(len == posend || _is_delim_char(str[posend])) - return first(posend); - return first(0); - } - - // this function is declared inside the class to avoid a VS error with __declspec(dllimport) - C4_NO_INLINE C4_PURE basic_substring _first_real_span_dec(size_t pos) const noexcept - { - bool intchars = false; - bool fracchars = false; - bool powchars; - // integral part - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '9') - { - intchars = true; - } - else if(c == '.') - { - ++pos; - goto fractional_part_dec; - } - else if(c == 'e' || c == 'E') - { - ++pos; - goto power_part_dec; - } - else if(_is_delim_char(c)) - { - return intchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - // no . or p were found; this is either an integral number - // or not a number at all - return intchars ? - *this : - first(0); - fractional_part_dec: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == '.'); - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '9') - { - fracchars = true; - } - else if(c == 'e' || c == 'E') - { - ++pos; - goto power_part_dec; - } - else if(_is_delim_char(c)) - { - return intchars || fracchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - return intchars || fracchars ? - *this : - first(0); - power_part_dec: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == 'e' || str[pos - 1] == 'E'); - // either a + or a - is expected here, followed by more chars. - // also, using (pos+1) in this check will cause an early - // return when no more chars follow the sign. - if(len <= (pos+1) || ((!intchars) && (!fracchars))) - return first(0); - ++pos; // this was the sign. - // ... so the (pos+1) ensures that we enter the loop and - // hence that there exist chars in the power part - powchars = false; - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '9') - powchars = true; - else if(powchars && _is_delim_char(c)) - return first(pos); - else - return first(0); - } - return *this; - } - - // this function is declared inside the class to avoid a VS error with __declspec(dllimport) - C4_NO_INLINE C4_PURE basic_substring _first_real_span_hex(size_t pos) const noexcept - { - bool intchars = false; - bool fracchars = false; - bool powchars; - // integral part - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(_is_hex_char(c)) - { - intchars = true; - } - else if(c == '.') - { - ++pos; - goto fractional_part_hex; - } - else if(c == 'p' || c == 'P') - { - ++pos; - goto power_part_hex; - } - else if(_is_delim_char(c)) - { - return intchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - // no . or p were found; this is either an integral number - // or not a number at all - return intchars ? - *this : - first(0); - fractional_part_hex: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == '.'); - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(_is_hex_char(c)) - { - fracchars = true; - } - else if(c == 'p' || c == 'P') - { - ++pos; - goto power_part_hex; - } - else if(_is_delim_char(c)) - { - return intchars || fracchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - return intchars || fracchars ? - *this : - first(0); - power_part_hex: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == 'p' || str[pos - 1] == 'P'); - // either a + or a - is expected here, followed by more chars. - // also, using (pos+1) in this check will cause an early - // return when no more chars follow the sign. - if(len <= (pos+1) || (str[pos] != '+' && str[pos] != '-') || ((!intchars) && (!fracchars))) - return first(0); - ++pos; // this was the sign. - // ... so the (pos+1) ensures that we enter the loop and - // hence that there exist chars in the power part - powchars = false; - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '9') - powchars = true; - else if(powchars && _is_delim_char(c)) - return first(pos); - else - return first(0); - } - return *this; - } - - // this function is declared inside the class to avoid a VS error with __declspec(dllimport) - C4_NO_INLINE C4_PURE basic_substring _first_real_span_bin(size_t pos) const noexcept - { - bool intchars = false; - bool fracchars = false; - bool powchars; - // integral part - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c == '0' || c == '1') - { - intchars = true; - } - else if(c == '.') - { - ++pos; - goto fractional_part_bin; - } - else if(c == 'p' || c == 'P') - { - ++pos; - goto power_part_bin; - } - else if(_is_delim_char(c)) - { - return intchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - // no . or p were found; this is either an integral number - // or not a number at all - return intchars ? - *this : - first(0); - fractional_part_bin: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == '.'); - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c == '0' || c == '1') - { - fracchars = true; - } - else if(c == 'p' || c == 'P') - { - ++pos; - goto power_part_bin; - } - else if(_is_delim_char(c)) - { - return intchars || fracchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - return intchars || fracchars ? - *this : - first(0); - power_part_bin: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == 'p' || str[pos - 1] == 'P'); - // either a + or a - is expected here, followed by more chars. - // also, using (pos+1) in this check will cause an early - // return when no more chars follow the sign. - if(len <= (pos+1) || (str[pos] != '+' && str[pos] != '-') || ((!intchars) && (!fracchars))) - return first(0); - ++pos; // this was the sign. - // ... so the (pos+1) ensures that we enter the loop and - // hence that there exist chars in the power part - powchars = false; - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '9') - powchars = true; - else if(powchars && _is_delim_char(c)) - return first(pos); - else - return first(0); - } - return *this; - } - - // this function is declared inside the class to avoid a VS error with __declspec(dllimport) - C4_NO_INLINE C4_PURE basic_substring _first_real_span_oct(size_t pos) const noexcept - { - bool intchars = false; - bool fracchars = false; - bool powchars; - // integral part - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '7') - { - intchars = true; - } - else if(c == '.') - { - ++pos; - goto fractional_part_oct; - } - else if(c == 'p' || c == 'P') - { - ++pos; - goto power_part_oct; - } - else if(_is_delim_char(c)) - { - return intchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - // no . or p were found; this is either an integral number - // or not a number at all - return intchars ? - *this : - first(0); - fractional_part_oct: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == '.'); - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '7') - { - fracchars = true; - } - else if(c == 'p' || c == 'P') - { - ++pos; - goto power_part_oct; - } - else if(_is_delim_char(c)) - { - return intchars || fracchars ? first(pos) : first(0); - } - else - { - return first(0); - } - } - return intchars || fracchars ? - *this : - first(0); - power_part_oct: - C4_ASSERT(pos > 0); - C4_ASSERT(str[pos - 1] == 'p' || str[pos - 1] == 'P'); - // either a + or a - is expected here, followed by more chars. - // also, using (pos+1) in this check will cause an early - // return when no more chars follow the sign. - if(len <= (pos+1) || (str[pos] != '+' && str[pos] != '-') || ((!intchars) && (!fracchars))) - return first(0); - ++pos; // this was the sign. - // ... so the (pos+1) ensures that we enter the loop and - // hence that there exist chars in the power part - powchars = false; - for( ; pos < len; ++pos) - { - const char c = str[pos]; - if(c >= '0' && c <= '9') - powchars = true; - else if(powchars && _is_delim_char(c)) - return first(pos); - else - return first(0); - } - return *this; - } - - /** @} */ - -public: - - /** @name Splitting methods */ - /** @{ */ - - /** returns true if the string has not been exhausted yet, meaning - * it's ok to call next_split() again. When no instance of sep - * exists in the string, returns the full string. When the input - * is an empty string, the output string is the empty string. */ - bool next_split(C sep, size_t *C4_RESTRICT start_pos, basic_substring *C4_RESTRICT out) const - { - if(C4_LIKELY(*start_pos < len)) - { - for(size_t i = *start_pos, e = len; i < e; i++) - { - if(str[i] == sep) - { - out->assign(str + *start_pos, i - *start_pos); - *start_pos = i+1; - return true; - } - } - out->assign(str + *start_pos, len - *start_pos); - *start_pos = len + 1; - return true; - } - else - { - bool valid = len > 0 && (*start_pos == len); - if(valid && !empty() && str[len-1] == sep) - { - out->assign(str + len, (size_t)0); // the cast is needed to prevent overload ambiguity - } - else - { - out->assign(str + len + 1, (size_t)0); // the cast is needed to prevent overload ambiguity - } - *start_pos = len + 1; - return valid; - } - } - -private: - - struct split_proxy_impl - { - struct split_iterator_impl - { - split_proxy_impl const* m_proxy; - basic_substring m_str; - size_t m_pos; - NCC_ m_sep; - - split_iterator_impl(split_proxy_impl const* proxy, size_t pos, C sep) - : m_proxy(proxy), m_pos(pos), m_sep(sep) - { - _tick(); - } - - void _tick() - { - m_proxy->m_str.next_split(m_sep, &m_pos, &m_str); - } - - split_iterator_impl& operator++ () { _tick(); return *this; } - split_iterator_impl operator++ (int) { split_iterator_impl it = *this; _tick(); return it; } - - basic_substring& operator* () { return m_str; } - basic_substring* operator-> () { return &m_str; } - - bool operator!= (split_iterator_impl const& that) const - { - return !(this->operator==(that)); - } - bool operator== (split_iterator_impl const& that) const - { - C4_XASSERT((m_sep == that.m_sep) && "cannot compare split iterators with different separators"); - if(m_str.size() != that.m_str.size()) - return false; - if(m_str.data() != that.m_str.data()) - return false; - return m_pos == that.m_pos; - } - }; - - basic_substring m_str; - size_t m_start_pos; - C m_sep; - - split_proxy_impl(basic_substring str_, size_t start_pos, C sep) - : m_str(str_), m_start_pos(start_pos), m_sep(sep) - { - } - - split_iterator_impl begin() const - { - auto it = split_iterator_impl(this, m_start_pos, m_sep); - return it; - } - split_iterator_impl end() const - { - size_t pos = m_str.size() + 1; - auto it = split_iterator_impl(this, pos, m_sep); - return it; - } - }; - -public: - - using split_proxy = split_proxy_impl; - - /** a view into the splits */ - split_proxy split(C sep, size_t start_pos=0) const - { - C4_XASSERT((start_pos >= 0 && start_pos < len) || empty()); - auto ss = sub(0, len); - auto it = split_proxy(ss, start_pos, sep); - return it; - } - -public: - - /** pop right: return the first split from the right. Use - * gpop_left() to get the reciprocal part. - */ - basic_substring pop_right(C sep=C('/'), bool skip_empty=false) const - { - if(C4_LIKELY(len > 1)) - { - auto pos = last_of(sep); - if(pos != npos) - { - if(pos + 1 < len) // does not end with sep - { - return sub(pos + 1); // return from sep to end - } - else // the string ends with sep - { - if( ! skip_empty) - { - return sub(pos + 1, 0); - } - auto ppos = last_not_of(sep); // skip repeated seps - if(ppos == npos) // the string is all made of seps - { - return sub(0, 0); - } - // find the previous sep - auto pos0 = last_of(sep, ppos); - if(pos0 == npos) // only the last sep exists - { - return sub(0); // return the full string (because skip_empty is true) - } - ++pos0; - return sub(pos0); - } - } - else // no sep was found, return the full string - { - return *this; - } - } - else if(len == 1) - { - if(begins_with(sep)) - { - return sub(0, 0); - } - return *this; - } - else // an empty string - { - return basic_substring(); - } - } - - /** return the first split from the left. Use gpop_right() to get - * the reciprocal part. */ - basic_substring pop_left(C sep = C('/'), bool skip_empty=false) const - { - if(C4_LIKELY(len > 1)) - { - auto pos = first_of(sep); - if(pos != npos) - { - if(pos > 0) // does not start with sep - { - return sub(0, pos); // return everything up to it - } - else // the string starts with sep - { - if( ! skip_empty) - { - return sub(0, 0); - } - auto ppos = first_not_of(sep); // skip repeated seps - if(ppos == npos) // the string is all made of seps - { - return sub(0, 0); - } - // find the next sep - auto pos0 = first_of(sep, ppos); - if(pos0 == npos) // only the first sep exists - { - return sub(0); // return the full string (because skip_empty is true) - } - C4_XASSERT(pos0 > 0); - // return everything up to the second sep - return sub(0, pos0); - } - } - else // no sep was found, return the full string - { - return sub(0); - } - } - else if(len == 1) - { - if(begins_with(sep)) - { - return sub(0, 0); - } - return sub(0); - } - else // an empty string - { - return basic_substring(); - } - } - -public: - - /** greedy pop left. eg, csubstr("a/b/c").gpop_left('/')="c" */ - basic_substring gpop_left(C sep = C('/'), bool skip_empty=false) const - { - auto ss = pop_right(sep, skip_empty); - ss = left_of(ss); - if(ss.find(sep) != npos) - { - if(ss.ends_with(sep)) - { - if(skip_empty) - { - ss = ss.trimr(sep); - } - else - { - ss = ss.sub(0, ss.len-1); // safe to subtract because ends_with(sep) is true - } - } - } - return ss; - } - - /** greedy pop right. eg, csubstr("a/b/c").gpop_right('/')="a" */ - basic_substring gpop_right(C sep = C('/'), bool skip_empty=false) const - { - auto ss = pop_left(sep, skip_empty); - ss = right_of(ss); - if(ss.find(sep) != npos) - { - if(ss.begins_with(sep)) - { - if(skip_empty) - { - ss = ss.triml(sep); - } - else - { - ss = ss.sub(1); - } - } - } - return ss; - } - - /** @} */ - -public: - - /** @name Path-like manipulation methods */ - /** @{ */ - - basic_substring basename(C sep=C('/')) const - { - auto ss = pop_right(sep, /*skip_empty*/true); - ss = ss.trimr(sep); - return ss; - } - - basic_substring dirname(C sep=C('/')) const - { - auto ss = basename(sep); - ss = ss.empty() ? *this : left_of(ss); - return ss; - } - - C4_ALWAYS_INLINE basic_substring name_wo_extshort() const - { - return gpop_left('.'); - } - - C4_ALWAYS_INLINE basic_substring name_wo_extlong() const - { - return pop_left('.'); - } - - C4_ALWAYS_INLINE basic_substring extshort() const - { - return pop_right('.'); - } - - C4_ALWAYS_INLINE basic_substring extlong() const - { - return gpop_right('.'); - } - - /** @} */ - -public: - - /** @name Content-modification methods (only for non-const C) */ - /** @{ */ - - /** convert the string to upper-case - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(void) toupper() - { - for(size_t i = 0; i < len; ++i) - { - str[i] = static_cast(::toupper(str[i])); - } - } - - /** convert the string to lower-case - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(void) tolower() - { - for(size_t i = 0; i < len; ++i) - { - str[i] = static_cast(::tolower(str[i])); - } - } - -public: - - /** fill the entire contents with the given @p val - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(void) fill(C val) - { - for(size_t i = 0; i < len; ++i) - { - str[i] = val; - } - } - -public: - - /** set the current substring to a copy of the given csubstr - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(void) copy_from(ro_substr that, size_t ifirst=0, size_t num=npos) - { - C4_ASSERT(ifirst >= 0 && ifirst <= len); - num = num != npos ? num : len - ifirst; - num = num < that.len ? num : that.len; - C4_ASSERT(ifirst + num >= 0 && ifirst + num <= len); - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(num) - memcpy(str + sizeof(C) * ifirst, that.str, sizeof(C) * num); - } - -public: - - /** reverse in place - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(void) reverse() - { - if(len == 0) return; - detail::_do_reverse(str, str + len - 1); - } - - /** revert a subpart in place - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(void) reverse_sub(size_t ifirst, size_t num) - { - C4_ASSERT(ifirst >= 0 && ifirst <= len); - C4_ASSERT(ifirst + num >= 0 && ifirst + num <= len); - if(num == 0) return; - detail::_do_reverse(str + ifirst, str + ifirst + num - 1); - } - - /** revert a range in place - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(void) reverse_range(size_t ifirst, size_t ilast) - { - C4_ASSERT(ifirst >= 0 && ifirst <= len); - C4_ASSERT(ilast >= 0 && ilast <= len); - if(ifirst == ilast) return; - detail::_do_reverse(str + ifirst, str + ilast - 1); - } - -public: - - /** erase part of the string. eg, with char s[] = "0123456789", - * substr(s).erase(3, 2) = "01256789", and s is now "01245678989" - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(basic_substring) erase(size_t pos, size_t num) - { - C4_ASSERT(pos >= 0 && pos+num <= len); - size_t num_to_move = len - pos - num; - memmove(str + pos, str + pos + num, sizeof(C) * num_to_move); - return basic_substring{str, len - num}; - } - - /** @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(basic_substring) erase_range(size_t first, size_t last) - { - C4_ASSERT(first <= last); - return erase(first, static_cast(last-first)); - } - - /** erase a part of the string. - * @note @p sub must be a substring of this string - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(basic_substring) erase(ro_substr sub) - { - C4_ASSERT(is_super(sub)); - C4_ASSERT(sub.str >= str); - return erase(static_cast(sub.str - str), sub.len); - } - -public: - - /** replace every occurrence of character @p value with the character @p repl - * @return the number of characters that were replaced - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(size_t) replace(C value, C repl, size_t pos=0) - { - C4_ASSERT((pos >= 0 && pos <= len) || pos == npos); - size_t did_it = 0; - while((pos = find(value, pos)) != npos) - { - str[pos++] = repl; - ++did_it; - } - return did_it; - } - - /** replace every occurrence of each character in @p value with - * the character @p repl. - * @return the number of characters that were replaced - * @note this method requires that the string memory is writeable and is SFINAEd out for const C */ - C4_REQUIRE_RW(size_t) replace(ro_substr chars, C repl, size_t pos=0) - { - C4_ASSERT((pos >= 0 && pos <= len) || pos == npos); - size_t did_it = 0; - while((pos = first_of(chars, pos)) != npos) - { - str[pos++] = repl; - ++did_it; - } - return did_it; - } - - /** replace @p pattern with @p repl, and write the result into - * @dst. pattern and repl don't need equal sizes. - * - * @return the required size for dst. No overflow occurs if - * dst.len is smaller than the required size; this can be used to - * determine the required size for an existing container. */ - size_t replace_all(rw_substr dst, ro_substr pattern, ro_substr repl, size_t pos=0) const - { - C4_ASSERT( ! pattern.empty()); //!< @todo relax this precondition - C4_ASSERT( ! this ->overlaps(dst)); //!< @todo relax this precondition - C4_ASSERT( ! pattern.overlaps(dst)); - C4_ASSERT( ! repl .overlaps(dst)); - C4_ASSERT((pos >= 0 && pos <= len) || pos == npos); - C4_SUPPRESS_WARNING_GCC_PUSH - C4_SUPPRESS_WARNING_GCC("-Warray-bounds") // gcc11 has a false positive here - #if (!defined(__clang__)) && (defined(__GNUC__) && (__GNUC__ >= 7)) - C4_SUPPRESS_WARNING_GCC("-Wstringop-overflow") // gcc11 has a false positive here - #endif - #define _c4append(first, last) \ - { \ - C4_ASSERT((last) >= (first)); \ - size_t num = static_cast((last) - (first)); \ - if(num > 0 && sz + num <= dst.len) \ - { \ - memcpy(dst.str + sz, first, num * sizeof(C)); \ - } \ - sz += num; \ - } - size_t sz = 0; - size_t b = pos; - _c4append(str, str + pos); - do { - size_t e = find(pattern, b); - if(e == npos) - { - _c4append(str + b, str + len); - break; - } - _c4append(str + b, str + e); - _c4append(repl.begin(), repl.end()); - b = e + pattern.size(); - } while(b < len && b != npos); - return sz; - #undef _c4append - C4_SUPPRESS_WARNING_GCC_POP - } - - /** @} */ - -}; // template class basic_substring - - -#undef C4_REQUIRE_RW -#undef C4_REQUIRE_RO -#undef C4_NC2C - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** Because of a C++ limitation, substr cannot provide simultaneous - * overloads for constructing from a char[N] and a char*; the latter - * will always be chosen by the compiler. So this specialization is - * provided to simplify obtaining a substr from a char*. Being a - * function has the advantage of highlighting the strlen() cost. - * - * @see to_csubstr - * @see For a more detailed explanation on why the overloads cannot - * coexist, see http://cplusplus.bordoon.com/specializeForCharacterArrays.html */ -inline substr to_substr(char *s) -{ - return substr(s, s ? strlen(s) : 0); -} - -/** Because of a C++ limitation, substr cannot provide simultaneous - * overloads for constructing from a char[N] and a char*; the latter - * will always be chosen by the compiler. So this specialization is - * provided to simplify obtaining a substr from a char*. Being a - * function has the advantage of highlighting the strlen() cost. - * - * @see to_substr - * @see For a more detailed explanation on why the overloads cannot - * coexist, see http://cplusplus.bordoon.com/specializeForCharacterArrays.html */ -inline csubstr to_csubstr(char *s) -{ - return csubstr(s, s ? strlen(s) : 0); -} - -/** Because of a C++ limitation, substr cannot provide simultaneous - * overloads for constructing from a const char[N] and a const char*; - * the latter will always be chosen by the compiler. So this - * specialization is provided to simplify obtaining a substr from a - * char*. Being a function has the advantage of highlighting the - * strlen() cost. - * - * @overload to_csubstr - * @see to_substr - * @see For a more detailed explanation on why the overloads cannot - * coexist, see http://cplusplus.bordoon.com/specializeForCharacterArrays.html */ -inline csubstr to_csubstr(const char *s) -{ - return csubstr(s, s ? strlen(s) : 0); -} - - -/** neutral version for use in generic code */ -inline csubstr to_csubstr(csubstr s) -{ - return s; -} - -/** neutral version for use in generic code */ -inline csubstr to_csubstr(substr s) -{ - return s; -} - -/** neutral version for use in generic code */ -inline substr to_substr(substr s) -{ - return s; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -template inline bool operator== (const C (&s)[N], basic_substring const that) { return that.compare(s) == 0; } -template inline bool operator!= (const C (&s)[N], basic_substring const that) { return that.compare(s) != 0; } -template inline bool operator< (const C (&s)[N], basic_substring const that) { return that.compare(s) > 0; } -template inline bool operator> (const C (&s)[N], basic_substring const that) { return that.compare(s) < 0; } -template inline bool operator<= (const C (&s)[N], basic_substring const that) { return that.compare(s) >= 0; } -template inline bool operator>= (const C (&s)[N], basic_substring const that) { return that.compare(s) <= 0; } - -template inline bool operator== (C const c, basic_substring const that) { return that.compare(c) == 0; } -template inline bool operator!= (C const c, basic_substring const that) { return that.compare(c) != 0; } -template inline bool operator< (C const c, basic_substring const that) { return that.compare(c) > 0; } -template inline bool operator> (C const c, basic_substring const that) { return that.compare(c) < 0; } -template inline bool operator<= (C const c, basic_substring const that) { return that.compare(c) >= 0; } -template inline bool operator>= (C const c, basic_substring const that) { return that.compare(c) <= 0; } - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** @define C4_SUBSTR_NO_OSTREAM_LSHIFT doctest does not deal well with - * template operator<< - * @see https://github.com/onqtam/doctest/pull/431 */ -#ifndef C4_SUBSTR_NO_OSTREAM_LSHIFT -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wsign-conversion" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wsign-conversion" -#endif - -/** output the string to a stream */ -template -inline OStream& operator<< (OStream& os, basic_substring s) -{ - os.write(s.str, s.len); - return os; -} - -// this causes ambiguity -///** this is used by google test */ -//template -//inline void PrintTo(basic_substring s, OStream* os) -//{ -// os->write(s.str, s.len); -//} - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif -#endif // !C4_SUBSTR_NO_OSTREAM_LSHIFT - -} // namespace c4 - - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif /* _C4_SUBSTR_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/substr.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/ext/fast_float.hpp -// https://github.com/biojppm/c4core/src/c4/ext/fast_float.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_EXT_FAST_FLOAT_HPP_ -#define _C4_EXT_FAST_FLOAT_HPP_ - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4996) // snprintf/scanf: this function or variable may be unsafe -#elif defined(__clang__) || defined(__APPLE_CC__) || defined(_LIBCPP_VERSION) -# pragma clang diagnostic push -# if (defined(__clang_major__) && _clang_major__ >= 9) || defined(__APPLE_CC__) -# pragma clang diagnostic ignored "-Wfortify-source" -# endif -# pragma clang diagnostic ignored "-Wshift-count-overflow" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wuseless-cast" -#endif - -// fast_float by Daniel Lemire -// fast_float by João Paulo Magalhaes - - -// with contributions from Eugene Golushkov -// with contributions from Maksim Kita -// with contributions from Marcin Wojdyr -// with contributions from Neal Richardson -// with contributions from Tim Paine -// with contributions from Fabio Pellacini - - -// Permission is hereby granted, free of charge, to any -// person obtaining a copy of this software and associated -// documentation files (the "Software"), to deal in the -// Software without restriction, including without -// limitation the rights to use, copy, modify, merge, -// publish, distribute, sublicense, and/or sell copies of -// the Software, and to permit persons to whom the Software -// is furnished to do so, subject to the following -// conditions: -// -// The above copyright notice and this permission notice -// shall be included in all copies or substantial portions -// of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF -// ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED -// TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A -// PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT -// SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR -// IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -// DEALINGS IN THE SOFTWARE. - - -#ifndef FASTFLOAT_FAST_FLOAT_H -#define FASTFLOAT_FAST_FLOAT_H - -#include - -namespace fast_float { -enum chars_format { - scientific = 1<<0, - fixed = 1<<2, - hex = 1<<3, - general = fixed | scientific -}; - - -struct from_chars_result { - const char *ptr; - std::errc ec; -}; - -struct parse_options { - constexpr explicit parse_options(chars_format fmt = chars_format::general, - char dot = '.') - : format(fmt), decimal_point(dot) {} - - /** Which number formats are accepted */ - chars_format format; - /** The character used as decimal point */ - char decimal_point; -}; - -/** - * This function parses the character sequence [first,last) for a number. It parses floating-point numbers expecting - * a locale-indepent format equivalent to what is used by std::strtod in the default ("C") locale. - * The resulting floating-point value is the closest floating-point values (using either float or double), - * using the "round to even" convention for values that would otherwise fall right in-between two values. - * That is, we provide exact parsing according to the IEEE standard. - * - * Given a successful parse, the pointer (`ptr`) in the returned value is set to point right after the - * parsed number, and the `value` referenced is set to the parsed value. In case of error, the returned - * `ec` contains a representative error, otherwise the default (`std::errc()`) value is stored. - * - * The implementation does not throw and does not allocate memory (e.g., with `new` or `malloc`). - * - * Like the C++17 standard, the `fast_float::from_chars` functions take an optional last argument of - * the type `fast_float::chars_format`. It is a bitset value: we check whether - * `fmt & fast_float::chars_format::fixed` and `fmt & fast_float::chars_format::scientific` are set - * to determine whether we allowe the fixed point and scientific notation respectively. - * The default is `fast_float::chars_format::general` which allows both `fixed` and `scientific`. - */ -template -from_chars_result from_chars(const char *first, const char *last, - T &value, chars_format fmt = chars_format::general) noexcept; - -/** - * Like from_chars, but accepts an `options` argument to govern number parsing. - */ -template -from_chars_result from_chars_advanced(const char *first, const char *last, - T &value, parse_options options) noexcept; - -} -#endif // FASTFLOAT_FAST_FLOAT_H - - -#ifndef FASTFLOAT_FLOAT_COMMON_H -#define FASTFLOAT_FLOAT_COMMON_H - -#include -//included above: -//#include -#include -//included above: -//#include - -#if (defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) \ - || defined(__amd64) || defined(__aarch64__) || defined(_M_ARM64) \ - || defined(__MINGW64__) \ - || defined(__s390x__) \ - || (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) \ - || defined(__EMSCRIPTEN__)) -#define FASTFLOAT_64BIT -#elif (defined(__i386) || defined(__i386__) || defined(_M_IX86) \ - || defined(__arm__) || defined(_M_ARM) \ - || defined(__MINGW32__)) -#define FASTFLOAT_32BIT -#else - // Need to check incrementally, since SIZE_MAX is a size_t, avoid overflow. - // We can never tell the register width, but the SIZE_MAX is a good approximation. - // UINTPTR_MAX and INTPTR_MAX are optional, so avoid them for max portability. - #if SIZE_MAX == 0xffff - #error Unknown platform (16-bit, unsupported) - #elif SIZE_MAX == 0xffffffff - #define FASTFLOAT_32BIT - #elif SIZE_MAX == 0xffffffffffffffff - #define FASTFLOAT_64BIT - #else - #error Unknown platform (not 32-bit, not 64-bit?) - #endif -#endif - -#if ((defined(_WIN32) || defined(_WIN64)) && !defined(__clang__)) -//included above: -//#include -#endif - -#if defined(_MSC_VER) && !defined(__clang__) -#define FASTFLOAT_VISUAL_STUDIO 1 -#endif - -#ifdef _WIN32 -#define FASTFLOAT_IS_BIG_ENDIAN 0 -#else -#if defined(__APPLE__) || defined(__FreeBSD__) -#include -#elif defined(sun) || defined(__sun) -#include -#else -#include -#endif -# -#ifndef __BYTE_ORDER__ -// safe choice -#define FASTFLOAT_IS_BIG_ENDIAN 0 -#endif -# -#ifndef __ORDER_LITTLE_ENDIAN__ -// safe choice -#define FASTFLOAT_IS_BIG_ENDIAN 0 -#endif -# -#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ -#define FASTFLOAT_IS_BIG_ENDIAN 0 -#else -#define FASTFLOAT_IS_BIG_ENDIAN 1 -#endif -#endif - -#ifdef FASTFLOAT_VISUAL_STUDIO -#define fastfloat_really_inline __forceinline -#else -#define fastfloat_really_inline inline __attribute__((always_inline)) -#endif - -#ifndef FASTFLOAT_ASSERT -#define FASTFLOAT_ASSERT(x) { if (!(x)) abort(); } -#endif - -#ifndef FASTFLOAT_DEBUG_ASSERT -//included above: -//#include -#define FASTFLOAT_DEBUG_ASSERT(x) assert(x) -#endif - -// rust style `try!()` macro, or `?` operator -#define FASTFLOAT_TRY(x) { if (!(x)) return false; } - -namespace fast_float { - -// Compares two ASCII strings in a case insensitive manner. -inline bool fastfloat_strncasecmp(const char *input1, const char *input2, - size_t length) { - char running_diff{0}; - for (size_t i = 0; i < length; i++) { - running_diff |= (input1[i] ^ input2[i]); - } - return (running_diff == 0) || (running_diff == 32); -} - -#ifndef FLT_EVAL_METHOD -#error "FLT_EVAL_METHOD should be defined, please include cfloat." -#endif - -// a pointer and a length to a contiguous block of memory -template -struct span { - const T* ptr; - size_t length; - span(const T* _ptr, size_t _length) : ptr(_ptr), length(_length) {} - span() : ptr(nullptr), length(0) {} - - constexpr size_t len() const noexcept { - return length; - } - - const T& operator[](size_t index) const noexcept { - FASTFLOAT_DEBUG_ASSERT(index < length); - return ptr[index]; - } -}; - -struct value128 { - uint64_t low; - uint64_t high; - value128(uint64_t _low, uint64_t _high) : low(_low), high(_high) {} - value128() : low(0), high(0) {} -}; - -/* result might be undefined when input_num is zero */ -fastfloat_really_inline int leading_zeroes(uint64_t input_num) { - assert(input_num > 0); -#ifdef FASTFLOAT_VISUAL_STUDIO - #if defined(_M_X64) || defined(_M_ARM64) - unsigned long leading_zero = 0; - // Search the mask data from most significant bit (MSB) - // to least significant bit (LSB) for a set bit (1). - _BitScanReverse64(&leading_zero, input_num); - return (int)(63 - leading_zero); - #else - int last_bit = 0; - if(input_num & uint64_t(0xffffffff00000000)) input_num >>= 32, last_bit |= 32; - if(input_num & uint64_t( 0xffff0000)) input_num >>= 16, last_bit |= 16; - if(input_num & uint64_t( 0xff00)) input_num >>= 8, last_bit |= 8; - if(input_num & uint64_t( 0xf0)) input_num >>= 4, last_bit |= 4; - if(input_num & uint64_t( 0xc)) input_num >>= 2, last_bit |= 2; - if(input_num & uint64_t( 0x2)) input_num >>= 1, last_bit |= 1; - return 63 - last_bit; - #endif -#else - return __builtin_clzll(input_num); -#endif -} - -#ifdef FASTFLOAT_32BIT - -// slow emulation routine for 32-bit -fastfloat_really_inline uint64_t emulu(uint32_t x, uint32_t y) { - return x * (uint64_t)y; -} - -// slow emulation routine for 32-bit -#if !defined(__MINGW64__) -fastfloat_really_inline uint64_t _umul128(uint64_t ab, uint64_t cd, - uint64_t *hi) { - uint64_t ad = emulu((uint32_t)(ab >> 32), (uint32_t)cd); - uint64_t bd = emulu((uint32_t)ab, (uint32_t)cd); - uint64_t adbc = ad + emulu((uint32_t)ab, (uint32_t)(cd >> 32)); - uint64_t adbc_carry = !!(adbc < ad); - uint64_t lo = bd + (adbc << 32); - *hi = emulu((uint32_t)(ab >> 32), (uint32_t)(cd >> 32)) + (adbc >> 32) + - (adbc_carry << 32) + !!(lo < bd); - return lo; -} -#endif // !__MINGW64__ - -#endif // FASTFLOAT_32BIT - - -// compute 64-bit a*b -fastfloat_really_inline value128 full_multiplication(uint64_t a, - uint64_t b) { - value128 answer; -#ifdef _M_ARM64 - // ARM64 has native support for 64-bit multiplications, no need to emulate - answer.high = __umulh(a, b); - answer.low = a * b; -#elif defined(FASTFLOAT_32BIT) || (defined(_WIN64) && !defined(__clang__)) - answer.low = _umul128(a, b, &answer.high); // _umul128 not available on ARM64 -#elif defined(FASTFLOAT_64BIT) - __uint128_t r = ((__uint128_t)a) * b; - answer.low = uint64_t(r); - answer.high = uint64_t(r >> 64); -#else - #error Not implemented -#endif - return answer; -} - -struct adjusted_mantissa { - uint64_t mantissa{0}; - int32_t power2{0}; // a negative value indicates an invalid result - adjusted_mantissa() = default; - bool operator==(const adjusted_mantissa &o) const { - return mantissa == o.mantissa && power2 == o.power2; - } - bool operator!=(const adjusted_mantissa &o) const { - return mantissa != o.mantissa || power2 != o.power2; - } -}; - -// Bias so we can get the real exponent with an invalid adjusted_mantissa. -constexpr static int32_t invalid_am_bias = -0x8000; - -constexpr static double powers_of_ten_double[] = { - 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, - 1e12, 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22}; -constexpr static float powers_of_ten_float[] = {1e0, 1e1, 1e2, 1e3, 1e4, 1e5, - 1e6, 1e7, 1e8, 1e9, 1e10}; - -template struct binary_format { - static inline constexpr int mantissa_explicit_bits(); - static inline constexpr int minimum_exponent(); - static inline constexpr int infinite_power(); - static inline constexpr int sign_index(); - static inline constexpr int min_exponent_fast_path(); - static inline constexpr int max_exponent_fast_path(); - static inline constexpr int max_exponent_round_to_even(); - static inline constexpr int min_exponent_round_to_even(); - static inline constexpr uint64_t max_mantissa_fast_path(); - static inline constexpr int largest_power_of_ten(); - static inline constexpr int smallest_power_of_ten(); - static inline constexpr T exact_power_of_ten(int64_t power); - static inline constexpr size_t max_digits(); -}; - -template <> inline constexpr int binary_format::mantissa_explicit_bits() { - return 52; -} -template <> inline constexpr int binary_format::mantissa_explicit_bits() { - return 23; -} - -template <> inline constexpr int binary_format::max_exponent_round_to_even() { - return 23; -} - -template <> inline constexpr int binary_format::max_exponent_round_to_even() { - return 10; -} - -template <> inline constexpr int binary_format::min_exponent_round_to_even() { - return -4; -} - -template <> inline constexpr int binary_format::min_exponent_round_to_even() { - return -17; -} - -template <> inline constexpr int binary_format::minimum_exponent() { - return -1023; -} -template <> inline constexpr int binary_format::minimum_exponent() { - return -127; -} - -template <> inline constexpr int binary_format::infinite_power() { - return 0x7FF; -} -template <> inline constexpr int binary_format::infinite_power() { - return 0xFF; -} - -template <> inline constexpr int binary_format::sign_index() { return 63; } -template <> inline constexpr int binary_format::sign_index() { return 31; } - -template <> inline constexpr int binary_format::min_exponent_fast_path() { -#if (FLT_EVAL_METHOD != 1) && (FLT_EVAL_METHOD != 0) - return 0; -#else - return -22; -#endif -} -template <> inline constexpr int binary_format::min_exponent_fast_path() { -#if (FLT_EVAL_METHOD != 1) && (FLT_EVAL_METHOD != 0) - return 0; -#else - return -10; -#endif -} - -template <> inline constexpr int binary_format::max_exponent_fast_path() { - return 22; -} -template <> inline constexpr int binary_format::max_exponent_fast_path() { - return 10; -} - -template <> inline constexpr uint64_t binary_format::max_mantissa_fast_path() { - return uint64_t(2) << mantissa_explicit_bits(); -} -template <> inline constexpr uint64_t binary_format::max_mantissa_fast_path() { - return uint64_t(2) << mantissa_explicit_bits(); -} - -template <> -inline constexpr double binary_format::exact_power_of_ten(int64_t power) { - return powers_of_ten_double[power]; -} -template <> -inline constexpr float binary_format::exact_power_of_ten(int64_t power) { - - return powers_of_ten_float[power]; -} - - -template <> -inline constexpr int binary_format::largest_power_of_ten() { - return 308; -} -template <> -inline constexpr int binary_format::largest_power_of_ten() { - return 38; -} - -template <> -inline constexpr int binary_format::smallest_power_of_ten() { - return -342; -} -template <> -inline constexpr int binary_format::smallest_power_of_ten() { - return -65; -} - -template <> inline constexpr size_t binary_format::max_digits() { - return 769; -} -template <> inline constexpr size_t binary_format::max_digits() { - return 114; -} - -template -fastfloat_really_inline void to_float(bool negative, adjusted_mantissa am, T &value) { - uint64_t word = am.mantissa; - word |= uint64_t(am.power2) << binary_format::mantissa_explicit_bits(); - word = negative - ? word | (uint64_t(1) << binary_format::sign_index()) : word; -#if FASTFLOAT_IS_BIG_ENDIAN == 1 - if (std::is_same::value) { - ::memcpy(&value, (char *)&word + 4, sizeof(T)); // extract value at offset 4-7 if float on big-endian - } else { - ::memcpy(&value, &word, sizeof(T)); - } -#else - // For little-endian systems: - ::memcpy(&value, &word, sizeof(T)); -#endif -} - -} // namespace fast_float - -#endif - - -#ifndef FASTFLOAT_ASCII_NUMBER_H -#define FASTFLOAT_ASCII_NUMBER_H - -//included above: -//#include -//included above: -//#include -//included above: -//#include -#include - - -namespace fast_float { - -// Next function can be micro-optimized, but compilers are entirely -// able to optimize it well. -fastfloat_really_inline bool is_integer(char c) noexcept { return c >= '0' && c <= '9'; } - -fastfloat_really_inline uint64_t byteswap(uint64_t val) { - return (val & 0xFF00000000000000) >> 56 - | (val & 0x00FF000000000000) >> 40 - | (val & 0x0000FF0000000000) >> 24 - | (val & 0x000000FF00000000) >> 8 - | (val & 0x00000000FF000000) << 8 - | (val & 0x0000000000FF0000) << 24 - | (val & 0x000000000000FF00) << 40 - | (val & 0x00000000000000FF) << 56; -} - -fastfloat_really_inline uint64_t read_u64(const char *chars) { - uint64_t val; - ::memcpy(&val, chars, sizeof(uint64_t)); -#if FASTFLOAT_IS_BIG_ENDIAN == 1 - // Need to read as-if the number was in little-endian order. - val = byteswap(val); -#endif - return val; -} - -fastfloat_really_inline void write_u64(uint8_t *chars, uint64_t val) { -#if FASTFLOAT_IS_BIG_ENDIAN == 1 - // Need to read as-if the number was in little-endian order. - val = byteswap(val); -#endif - ::memcpy(chars, &val, sizeof(uint64_t)); -} - -// credit @aqrit -fastfloat_really_inline uint32_t parse_eight_digits_unrolled(uint64_t val) { - const uint64_t mask = 0x000000FF000000FF; - const uint64_t mul1 = 0x000F424000000064; // 100 + (1000000ULL << 32) - const uint64_t mul2 = 0x0000271000000001; // 1 + (10000ULL << 32) - val -= 0x3030303030303030; - val = (val * 10) + (val >> 8); // val = (val * 2561) >> 8; - val = (((val & mask) * mul1) + (((val >> 16) & mask) * mul2)) >> 32; - return uint32_t(val); -} - -fastfloat_really_inline uint32_t parse_eight_digits_unrolled(const char *chars) noexcept { - return parse_eight_digits_unrolled(read_u64(chars)); -} - -// credit @aqrit -fastfloat_really_inline bool is_made_of_eight_digits_fast(uint64_t val) noexcept { - return !((((val + 0x4646464646464646) | (val - 0x3030303030303030)) & - 0x8080808080808080)); -} - -fastfloat_really_inline bool is_made_of_eight_digits_fast(const char *chars) noexcept { - return is_made_of_eight_digits_fast(read_u64(chars)); -} - -typedef span byte_span; - -struct parsed_number_string { - int64_t exponent{0}; - uint64_t mantissa{0}; - const char *lastmatch{nullptr}; - bool negative{false}; - bool valid{false}; - bool too_many_digits{false}; - // contains the range of the significant digits - byte_span integer{}; // non-nullable - byte_span fraction{}; // nullable -}; - -// Assuming that you use no more than 19 digits, this will -// parse an ASCII string. -fastfloat_really_inline -parsed_number_string parse_number_string(const char *p, const char *pend, parse_options options) noexcept { - const chars_format fmt = options.format; - const char decimal_point = options.decimal_point; - - parsed_number_string answer; - answer.valid = false; - answer.too_many_digits = false; - answer.negative = (*p == '-'); - if (*p == '-') { // C++17 20.19.3.(7.1) explicitly forbids '+' sign here - ++p; - if (p == pend) { - return answer; - } - if (!is_integer(*p) && (*p != decimal_point)) { // a sign must be followed by an integer or the dot - return answer; - } - } - const char *const start_digits = p; - - uint64_t i = 0; // an unsigned int avoids signed overflows (which are bad) - - while ((std::distance(p, pend) >= 8) && is_made_of_eight_digits_fast(p)) { - i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok - p += 8; - } - while ((p != pend) && is_integer(*p)) { - // a multiplication by 10 is cheaper than an arbitrary integer - // multiplication - i = 10 * i + - uint64_t(*p - '0'); // might overflow, we will handle the overflow later - ++p; - } - const char *const end_of_integer_part = p; - int64_t digit_count = int64_t(end_of_integer_part - start_digits); - answer.integer = byte_span(start_digits, size_t(digit_count)); - int64_t exponent = 0; - if ((p != pend) && (*p == decimal_point)) { - ++p; - const char* before = p; - // can occur at most twice without overflowing, but let it occur more, since - // for integers with many digits, digit parsing is the primary bottleneck. - while ((std::distance(p, pend) >= 8) && is_made_of_eight_digits_fast(p)) { - i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok - p += 8; - } - while ((p != pend) && is_integer(*p)) { - uint8_t digit = uint8_t(*p - '0'); - ++p; - i = i * 10 + digit; // in rare cases, this will overflow, but that's ok - } - exponent = before - p; - answer.fraction = byte_span(before, size_t(p - before)); - digit_count -= exponent; - } - // we must have encountered at least one integer! - if (digit_count == 0) { - return answer; - } - int64_t exp_number = 0; // explicit exponential part - if ((fmt & chars_format::scientific) && (p != pend) && (('e' == *p) || ('E' == *p))) { - const char * location_of_e = p; - ++p; - bool neg_exp = false; - if ((p != pend) && ('-' == *p)) { - neg_exp = true; - ++p; - } else if ((p != pend) && ('+' == *p)) { // '+' on exponent is allowed by C++17 20.19.3.(7.1) - ++p; - } - if ((p == pend) || !is_integer(*p)) { - if(!(fmt & chars_format::fixed)) { - // We are in error. - return answer; - } - // Otherwise, we will be ignoring the 'e'. - p = location_of_e; - } else { - while ((p != pend) && is_integer(*p)) { - uint8_t digit = uint8_t(*p - '0'); - if (exp_number < 0x10000000) { - exp_number = 10 * exp_number + digit; - } - ++p; - } - if(neg_exp) { exp_number = - exp_number; } - exponent += exp_number; - } - } else { - // If it scientific and not fixed, we have to bail out. - if((fmt & chars_format::scientific) && !(fmt & chars_format::fixed)) { return answer; } - } - answer.lastmatch = p; - answer.valid = true; - - // If we frequently had to deal with long strings of digits, - // we could extend our code by using a 128-bit integer instead - // of a 64-bit integer. However, this is uncommon. - // - // We can deal with up to 19 digits. - if (digit_count > 19) { // this is uncommon - // It is possible that the integer had an overflow. - // We have to handle the case where we have 0.0000somenumber. - // We need to be mindful of the case where we only have zeroes... - // E.g., 0.000000000...000. - const char *start = start_digits; - while ((start != pend) && (*start == '0' || *start == decimal_point)) { - if(*start == '0') { digit_count --; } - start++; - } - if (digit_count > 19) { - answer.too_many_digits = true; - // Let us start again, this time, avoiding overflows. - // We don't need to check if is_integer, since we use the - // pre-tokenized spans from above. - i = 0; - p = answer.integer.ptr; - const char* int_end = p + answer.integer.len(); - const uint64_t minimal_nineteen_digit_integer{1000000000000000000}; - while((i < minimal_nineteen_digit_integer) && (p != int_end)) { - i = i * 10 + uint64_t(*p - '0'); - ++p; - } - if (i >= minimal_nineteen_digit_integer) { // We have a big integers - exponent = end_of_integer_part - p + exp_number; - } else { // We have a value with a fractional component. - p = answer.fraction.ptr; - const char* frac_end = p + answer.fraction.len(); - while((i < minimal_nineteen_digit_integer) && (p != frac_end)) { - i = i * 10 + uint64_t(*p - '0'); - ++p; - } - exponent = answer.fraction.ptr - p + exp_number; - } - // We have now corrected both exponent and i, to a truncated value - } - } - answer.exponent = exponent; - answer.mantissa = i; - return answer; -} - -} // namespace fast_float - -#endif - - -#ifndef FASTFLOAT_FAST_TABLE_H -#define FASTFLOAT_FAST_TABLE_H - -//included above: -//#include - -namespace fast_float { - -/** - * When mapping numbers from decimal to binary, - * we go from w * 10^q to m * 2^p but we have - * 10^q = 5^q * 2^q, so effectively - * we are trying to match - * w * 2^q * 5^q to m * 2^p. Thus the powers of two - * are not a concern since they can be represented - * exactly using the binary notation, only the powers of five - * affect the binary significand. - */ - -/** - * The smallest non-zero float (binary64) is 2^−1074. - * We take as input numbers of the form w x 10^q where w < 2^64. - * We have that w * 10^-343 < 2^(64-344) 5^-343 < 2^-1076. - * However, we have that - * (2^64-1) * 10^-342 = (2^64-1) * 2^-342 * 5^-342 > 2^−1074. - * Thus it is possible for a number of the form w * 10^-342 where - * w is a 64-bit value to be a non-zero floating-point number. - ********* - * Any number of form w * 10^309 where w>= 1 is going to be - * infinite in binary64 so we never need to worry about powers - * of 5 greater than 308. - */ -template -struct powers_template { - -constexpr static int smallest_power_of_five = binary_format::smallest_power_of_ten(); -constexpr static int largest_power_of_five = binary_format::largest_power_of_ten(); -constexpr static int number_of_entries = 2 * (largest_power_of_five - smallest_power_of_five + 1); -// Powers of five from 5^-342 all the way to 5^308 rounded toward one. -static const uint64_t power_of_five_128[number_of_entries]; -}; - -template -const uint64_t powers_template::power_of_five_128[number_of_entries] = { - 0xeef453d6923bd65a,0x113faa2906a13b3f, - 0x9558b4661b6565f8,0x4ac7ca59a424c507, - 0xbaaee17fa23ebf76,0x5d79bcf00d2df649, - 0xe95a99df8ace6f53,0xf4d82c2c107973dc, - 0x91d8a02bb6c10594,0x79071b9b8a4be869, - 0xb64ec836a47146f9,0x9748e2826cdee284, - 0xe3e27a444d8d98b7,0xfd1b1b2308169b25, - 0x8e6d8c6ab0787f72,0xfe30f0f5e50e20f7, - 0xb208ef855c969f4f,0xbdbd2d335e51a935, - 0xde8b2b66b3bc4723,0xad2c788035e61382, - 0x8b16fb203055ac76,0x4c3bcb5021afcc31, - 0xaddcb9e83c6b1793,0xdf4abe242a1bbf3d, - 0xd953e8624b85dd78,0xd71d6dad34a2af0d, - 0x87d4713d6f33aa6b,0x8672648c40e5ad68, - 0xa9c98d8ccb009506,0x680efdaf511f18c2, - 0xd43bf0effdc0ba48,0x212bd1b2566def2, - 0x84a57695fe98746d,0x14bb630f7604b57, - 0xa5ced43b7e3e9188,0x419ea3bd35385e2d, - 0xcf42894a5dce35ea,0x52064cac828675b9, - 0x818995ce7aa0e1b2,0x7343efebd1940993, - 0xa1ebfb4219491a1f,0x1014ebe6c5f90bf8, - 0xca66fa129f9b60a6,0xd41a26e077774ef6, - 0xfd00b897478238d0,0x8920b098955522b4, - 0x9e20735e8cb16382,0x55b46e5f5d5535b0, - 0xc5a890362fddbc62,0xeb2189f734aa831d, - 0xf712b443bbd52b7b,0xa5e9ec7501d523e4, - 0x9a6bb0aa55653b2d,0x47b233c92125366e, - 0xc1069cd4eabe89f8,0x999ec0bb696e840a, - 0xf148440a256e2c76,0xc00670ea43ca250d, - 0x96cd2a865764dbca,0x380406926a5e5728, - 0xbc807527ed3e12bc,0xc605083704f5ecf2, - 0xeba09271e88d976b,0xf7864a44c633682e, - 0x93445b8731587ea3,0x7ab3ee6afbe0211d, - 0xb8157268fdae9e4c,0x5960ea05bad82964, - 0xe61acf033d1a45df,0x6fb92487298e33bd, - 0x8fd0c16206306bab,0xa5d3b6d479f8e056, - 0xb3c4f1ba87bc8696,0x8f48a4899877186c, - 0xe0b62e2929aba83c,0x331acdabfe94de87, - 0x8c71dcd9ba0b4925,0x9ff0c08b7f1d0b14, - 0xaf8e5410288e1b6f,0x7ecf0ae5ee44dd9, - 0xdb71e91432b1a24a,0xc9e82cd9f69d6150, - 0x892731ac9faf056e,0xbe311c083a225cd2, - 0xab70fe17c79ac6ca,0x6dbd630a48aaf406, - 0xd64d3d9db981787d,0x92cbbccdad5b108, - 0x85f0468293f0eb4e,0x25bbf56008c58ea5, - 0xa76c582338ed2621,0xaf2af2b80af6f24e, - 0xd1476e2c07286faa,0x1af5af660db4aee1, - 0x82cca4db847945ca,0x50d98d9fc890ed4d, - 0xa37fce126597973c,0xe50ff107bab528a0, - 0xcc5fc196fefd7d0c,0x1e53ed49a96272c8, - 0xff77b1fcbebcdc4f,0x25e8e89c13bb0f7a, - 0x9faacf3df73609b1,0x77b191618c54e9ac, - 0xc795830d75038c1d,0xd59df5b9ef6a2417, - 0xf97ae3d0d2446f25,0x4b0573286b44ad1d, - 0x9becce62836ac577,0x4ee367f9430aec32, - 0xc2e801fb244576d5,0x229c41f793cda73f, - 0xf3a20279ed56d48a,0x6b43527578c1110f, - 0x9845418c345644d6,0x830a13896b78aaa9, - 0xbe5691ef416bd60c,0x23cc986bc656d553, - 0xedec366b11c6cb8f,0x2cbfbe86b7ec8aa8, - 0x94b3a202eb1c3f39,0x7bf7d71432f3d6a9, - 0xb9e08a83a5e34f07,0xdaf5ccd93fb0cc53, - 0xe858ad248f5c22c9,0xd1b3400f8f9cff68, - 0x91376c36d99995be,0x23100809b9c21fa1, - 0xb58547448ffffb2d,0xabd40a0c2832a78a, - 0xe2e69915b3fff9f9,0x16c90c8f323f516c, - 0x8dd01fad907ffc3b,0xae3da7d97f6792e3, - 0xb1442798f49ffb4a,0x99cd11cfdf41779c, - 0xdd95317f31c7fa1d,0x40405643d711d583, - 0x8a7d3eef7f1cfc52,0x482835ea666b2572, - 0xad1c8eab5ee43b66,0xda3243650005eecf, - 0xd863b256369d4a40,0x90bed43e40076a82, - 0x873e4f75e2224e68,0x5a7744a6e804a291, - 0xa90de3535aaae202,0x711515d0a205cb36, - 0xd3515c2831559a83,0xd5a5b44ca873e03, - 0x8412d9991ed58091,0xe858790afe9486c2, - 0xa5178fff668ae0b6,0x626e974dbe39a872, - 0xce5d73ff402d98e3,0xfb0a3d212dc8128f, - 0x80fa687f881c7f8e,0x7ce66634bc9d0b99, - 0xa139029f6a239f72,0x1c1fffc1ebc44e80, - 0xc987434744ac874e,0xa327ffb266b56220, - 0xfbe9141915d7a922,0x4bf1ff9f0062baa8, - 0x9d71ac8fada6c9b5,0x6f773fc3603db4a9, - 0xc4ce17b399107c22,0xcb550fb4384d21d3, - 0xf6019da07f549b2b,0x7e2a53a146606a48, - 0x99c102844f94e0fb,0x2eda7444cbfc426d, - 0xc0314325637a1939,0xfa911155fefb5308, - 0xf03d93eebc589f88,0x793555ab7eba27ca, - 0x96267c7535b763b5,0x4bc1558b2f3458de, - 0xbbb01b9283253ca2,0x9eb1aaedfb016f16, - 0xea9c227723ee8bcb,0x465e15a979c1cadc, - 0x92a1958a7675175f,0xbfacd89ec191ec9, - 0xb749faed14125d36,0xcef980ec671f667b, - 0xe51c79a85916f484,0x82b7e12780e7401a, - 0x8f31cc0937ae58d2,0xd1b2ecb8b0908810, - 0xb2fe3f0b8599ef07,0x861fa7e6dcb4aa15, - 0xdfbdcece67006ac9,0x67a791e093e1d49a, - 0x8bd6a141006042bd,0xe0c8bb2c5c6d24e0, - 0xaecc49914078536d,0x58fae9f773886e18, - 0xda7f5bf590966848,0xaf39a475506a899e, - 0x888f99797a5e012d,0x6d8406c952429603, - 0xaab37fd7d8f58178,0xc8e5087ba6d33b83, - 0xd5605fcdcf32e1d6,0xfb1e4a9a90880a64, - 0x855c3be0a17fcd26,0x5cf2eea09a55067f, - 0xa6b34ad8c9dfc06f,0xf42faa48c0ea481e, - 0xd0601d8efc57b08b,0xf13b94daf124da26, - 0x823c12795db6ce57,0x76c53d08d6b70858, - 0xa2cb1717b52481ed,0x54768c4b0c64ca6e, - 0xcb7ddcdda26da268,0xa9942f5dcf7dfd09, - 0xfe5d54150b090b02,0xd3f93b35435d7c4c, - 0x9efa548d26e5a6e1,0xc47bc5014a1a6daf, - 0xc6b8e9b0709f109a,0x359ab6419ca1091b, - 0xf867241c8cc6d4c0,0xc30163d203c94b62, - 0x9b407691d7fc44f8,0x79e0de63425dcf1d, - 0xc21094364dfb5636,0x985915fc12f542e4, - 0xf294b943e17a2bc4,0x3e6f5b7b17b2939d, - 0x979cf3ca6cec5b5a,0xa705992ceecf9c42, - 0xbd8430bd08277231,0x50c6ff782a838353, - 0xece53cec4a314ebd,0xa4f8bf5635246428, - 0x940f4613ae5ed136,0x871b7795e136be99, - 0xb913179899f68584,0x28e2557b59846e3f, - 0xe757dd7ec07426e5,0x331aeada2fe589cf, - 0x9096ea6f3848984f,0x3ff0d2c85def7621, - 0xb4bca50b065abe63,0xfed077a756b53a9, - 0xe1ebce4dc7f16dfb,0xd3e8495912c62894, - 0x8d3360f09cf6e4bd,0x64712dd7abbbd95c, - 0xb080392cc4349dec,0xbd8d794d96aacfb3, - 0xdca04777f541c567,0xecf0d7a0fc5583a0, - 0x89e42caaf9491b60,0xf41686c49db57244, - 0xac5d37d5b79b6239,0x311c2875c522ced5, - 0xd77485cb25823ac7,0x7d633293366b828b, - 0x86a8d39ef77164bc,0xae5dff9c02033197, - 0xa8530886b54dbdeb,0xd9f57f830283fdfc, - 0xd267caa862a12d66,0xd072df63c324fd7b, - 0x8380dea93da4bc60,0x4247cb9e59f71e6d, - 0xa46116538d0deb78,0x52d9be85f074e608, - 0xcd795be870516656,0x67902e276c921f8b, - 0x806bd9714632dff6,0xba1cd8a3db53b6, - 0xa086cfcd97bf97f3,0x80e8a40eccd228a4, - 0xc8a883c0fdaf7df0,0x6122cd128006b2cd, - 0xfad2a4b13d1b5d6c,0x796b805720085f81, - 0x9cc3a6eec6311a63,0xcbe3303674053bb0, - 0xc3f490aa77bd60fc,0xbedbfc4411068a9c, - 0xf4f1b4d515acb93b,0xee92fb5515482d44, - 0x991711052d8bf3c5,0x751bdd152d4d1c4a, - 0xbf5cd54678eef0b6,0xd262d45a78a0635d, - 0xef340a98172aace4,0x86fb897116c87c34, - 0x9580869f0e7aac0e,0xd45d35e6ae3d4da0, - 0xbae0a846d2195712,0x8974836059cca109, - 0xe998d258869facd7,0x2bd1a438703fc94b, - 0x91ff83775423cc06,0x7b6306a34627ddcf, - 0xb67f6455292cbf08,0x1a3bc84c17b1d542, - 0xe41f3d6a7377eeca,0x20caba5f1d9e4a93, - 0x8e938662882af53e,0x547eb47b7282ee9c, - 0xb23867fb2a35b28d,0xe99e619a4f23aa43, - 0xdec681f9f4c31f31,0x6405fa00e2ec94d4, - 0x8b3c113c38f9f37e,0xde83bc408dd3dd04, - 0xae0b158b4738705e,0x9624ab50b148d445, - 0xd98ddaee19068c76,0x3badd624dd9b0957, - 0x87f8a8d4cfa417c9,0xe54ca5d70a80e5d6, - 0xa9f6d30a038d1dbc,0x5e9fcf4ccd211f4c, - 0xd47487cc8470652b,0x7647c3200069671f, - 0x84c8d4dfd2c63f3b,0x29ecd9f40041e073, - 0xa5fb0a17c777cf09,0xf468107100525890, - 0xcf79cc9db955c2cc,0x7182148d4066eeb4, - 0x81ac1fe293d599bf,0xc6f14cd848405530, - 0xa21727db38cb002f,0xb8ada00e5a506a7c, - 0xca9cf1d206fdc03b,0xa6d90811f0e4851c, - 0xfd442e4688bd304a,0x908f4a166d1da663, - 0x9e4a9cec15763e2e,0x9a598e4e043287fe, - 0xc5dd44271ad3cdba,0x40eff1e1853f29fd, - 0xf7549530e188c128,0xd12bee59e68ef47c, - 0x9a94dd3e8cf578b9,0x82bb74f8301958ce, - 0xc13a148e3032d6e7,0xe36a52363c1faf01, - 0xf18899b1bc3f8ca1,0xdc44e6c3cb279ac1, - 0x96f5600f15a7b7e5,0x29ab103a5ef8c0b9, - 0xbcb2b812db11a5de,0x7415d448f6b6f0e7, - 0xebdf661791d60f56,0x111b495b3464ad21, - 0x936b9fcebb25c995,0xcab10dd900beec34, - 0xb84687c269ef3bfb,0x3d5d514f40eea742, - 0xe65829b3046b0afa,0xcb4a5a3112a5112, - 0x8ff71a0fe2c2e6dc,0x47f0e785eaba72ab, - 0xb3f4e093db73a093,0x59ed216765690f56, - 0xe0f218b8d25088b8,0x306869c13ec3532c, - 0x8c974f7383725573,0x1e414218c73a13fb, - 0xafbd2350644eeacf,0xe5d1929ef90898fa, - 0xdbac6c247d62a583,0xdf45f746b74abf39, - 0x894bc396ce5da772,0x6b8bba8c328eb783, - 0xab9eb47c81f5114f,0x66ea92f3f326564, - 0xd686619ba27255a2,0xc80a537b0efefebd, - 0x8613fd0145877585,0xbd06742ce95f5f36, - 0xa798fc4196e952e7,0x2c48113823b73704, - 0xd17f3b51fca3a7a0,0xf75a15862ca504c5, - 0x82ef85133de648c4,0x9a984d73dbe722fb, - 0xa3ab66580d5fdaf5,0xc13e60d0d2e0ebba, - 0xcc963fee10b7d1b3,0x318df905079926a8, - 0xffbbcfe994e5c61f,0xfdf17746497f7052, - 0x9fd561f1fd0f9bd3,0xfeb6ea8bedefa633, - 0xc7caba6e7c5382c8,0xfe64a52ee96b8fc0, - 0xf9bd690a1b68637b,0x3dfdce7aa3c673b0, - 0x9c1661a651213e2d,0x6bea10ca65c084e, - 0xc31bfa0fe5698db8,0x486e494fcff30a62, - 0xf3e2f893dec3f126,0x5a89dba3c3efccfa, - 0x986ddb5c6b3a76b7,0xf89629465a75e01c, - 0xbe89523386091465,0xf6bbb397f1135823, - 0xee2ba6c0678b597f,0x746aa07ded582e2c, - 0x94db483840b717ef,0xa8c2a44eb4571cdc, - 0xba121a4650e4ddeb,0x92f34d62616ce413, - 0xe896a0d7e51e1566,0x77b020baf9c81d17, - 0x915e2486ef32cd60,0xace1474dc1d122e, - 0xb5b5ada8aaff80b8,0xd819992132456ba, - 0xe3231912d5bf60e6,0x10e1fff697ed6c69, - 0x8df5efabc5979c8f,0xca8d3ffa1ef463c1, - 0xb1736b96b6fd83b3,0xbd308ff8a6b17cb2, - 0xddd0467c64bce4a0,0xac7cb3f6d05ddbde, - 0x8aa22c0dbef60ee4,0x6bcdf07a423aa96b, - 0xad4ab7112eb3929d,0x86c16c98d2c953c6, - 0xd89d64d57a607744,0xe871c7bf077ba8b7, - 0x87625f056c7c4a8b,0x11471cd764ad4972, - 0xa93af6c6c79b5d2d,0xd598e40d3dd89bcf, - 0xd389b47879823479,0x4aff1d108d4ec2c3, - 0x843610cb4bf160cb,0xcedf722a585139ba, - 0xa54394fe1eedb8fe,0xc2974eb4ee658828, - 0xce947a3da6a9273e,0x733d226229feea32, - 0x811ccc668829b887,0x806357d5a3f525f, - 0xa163ff802a3426a8,0xca07c2dcb0cf26f7, - 0xc9bcff6034c13052,0xfc89b393dd02f0b5, - 0xfc2c3f3841f17c67,0xbbac2078d443ace2, - 0x9d9ba7832936edc0,0xd54b944b84aa4c0d, - 0xc5029163f384a931,0xa9e795e65d4df11, - 0xf64335bcf065d37d,0x4d4617b5ff4a16d5, - 0x99ea0196163fa42e,0x504bced1bf8e4e45, - 0xc06481fb9bcf8d39,0xe45ec2862f71e1d6, - 0xf07da27a82c37088,0x5d767327bb4e5a4c, - 0x964e858c91ba2655,0x3a6a07f8d510f86f, - 0xbbe226efb628afea,0x890489f70a55368b, - 0xeadab0aba3b2dbe5,0x2b45ac74ccea842e, - 0x92c8ae6b464fc96f,0x3b0b8bc90012929d, - 0xb77ada0617e3bbcb,0x9ce6ebb40173744, - 0xe55990879ddcaabd,0xcc420a6a101d0515, - 0x8f57fa54c2a9eab6,0x9fa946824a12232d, - 0xb32df8e9f3546564,0x47939822dc96abf9, - 0xdff9772470297ebd,0x59787e2b93bc56f7, - 0x8bfbea76c619ef36,0x57eb4edb3c55b65a, - 0xaefae51477a06b03,0xede622920b6b23f1, - 0xdab99e59958885c4,0xe95fab368e45eced, - 0x88b402f7fd75539b,0x11dbcb0218ebb414, - 0xaae103b5fcd2a881,0xd652bdc29f26a119, - 0xd59944a37c0752a2,0x4be76d3346f0495f, - 0x857fcae62d8493a5,0x6f70a4400c562ddb, - 0xa6dfbd9fb8e5b88e,0xcb4ccd500f6bb952, - 0xd097ad07a71f26b2,0x7e2000a41346a7a7, - 0x825ecc24c873782f,0x8ed400668c0c28c8, - 0xa2f67f2dfa90563b,0x728900802f0f32fa, - 0xcbb41ef979346bca,0x4f2b40a03ad2ffb9, - 0xfea126b7d78186bc,0xe2f610c84987bfa8, - 0x9f24b832e6b0f436,0xdd9ca7d2df4d7c9, - 0xc6ede63fa05d3143,0x91503d1c79720dbb, - 0xf8a95fcf88747d94,0x75a44c6397ce912a, - 0x9b69dbe1b548ce7c,0xc986afbe3ee11aba, - 0xc24452da229b021b,0xfbe85badce996168, - 0xf2d56790ab41c2a2,0xfae27299423fb9c3, - 0x97c560ba6b0919a5,0xdccd879fc967d41a, - 0xbdb6b8e905cb600f,0x5400e987bbc1c920, - 0xed246723473e3813,0x290123e9aab23b68, - 0x9436c0760c86e30b,0xf9a0b6720aaf6521, - 0xb94470938fa89bce,0xf808e40e8d5b3e69, - 0xe7958cb87392c2c2,0xb60b1d1230b20e04, - 0x90bd77f3483bb9b9,0xb1c6f22b5e6f48c2, - 0xb4ecd5f01a4aa828,0x1e38aeb6360b1af3, - 0xe2280b6c20dd5232,0x25c6da63c38de1b0, - 0x8d590723948a535f,0x579c487e5a38ad0e, - 0xb0af48ec79ace837,0x2d835a9df0c6d851, - 0xdcdb1b2798182244,0xf8e431456cf88e65, - 0x8a08f0f8bf0f156b,0x1b8e9ecb641b58ff, - 0xac8b2d36eed2dac5,0xe272467e3d222f3f, - 0xd7adf884aa879177,0x5b0ed81dcc6abb0f, - 0x86ccbb52ea94baea,0x98e947129fc2b4e9, - 0xa87fea27a539e9a5,0x3f2398d747b36224, - 0xd29fe4b18e88640e,0x8eec7f0d19a03aad, - 0x83a3eeeef9153e89,0x1953cf68300424ac, - 0xa48ceaaab75a8e2b,0x5fa8c3423c052dd7, - 0xcdb02555653131b6,0x3792f412cb06794d, - 0x808e17555f3ebf11,0xe2bbd88bbee40bd0, - 0xa0b19d2ab70e6ed6,0x5b6aceaeae9d0ec4, - 0xc8de047564d20a8b,0xf245825a5a445275, - 0xfb158592be068d2e,0xeed6e2f0f0d56712, - 0x9ced737bb6c4183d,0x55464dd69685606b, - 0xc428d05aa4751e4c,0xaa97e14c3c26b886, - 0xf53304714d9265df,0xd53dd99f4b3066a8, - 0x993fe2c6d07b7fab,0xe546a8038efe4029, - 0xbf8fdb78849a5f96,0xde98520472bdd033, - 0xef73d256a5c0f77c,0x963e66858f6d4440, - 0x95a8637627989aad,0xdde7001379a44aa8, - 0xbb127c53b17ec159,0x5560c018580d5d52, - 0xe9d71b689dde71af,0xaab8f01e6e10b4a6, - 0x9226712162ab070d,0xcab3961304ca70e8, - 0xb6b00d69bb55c8d1,0x3d607b97c5fd0d22, - 0xe45c10c42a2b3b05,0x8cb89a7db77c506a, - 0x8eb98a7a9a5b04e3,0x77f3608e92adb242, - 0xb267ed1940f1c61c,0x55f038b237591ed3, - 0xdf01e85f912e37a3,0x6b6c46dec52f6688, - 0x8b61313bbabce2c6,0x2323ac4b3b3da015, - 0xae397d8aa96c1b77,0xabec975e0a0d081a, - 0xd9c7dced53c72255,0x96e7bd358c904a21, - 0x881cea14545c7575,0x7e50d64177da2e54, - 0xaa242499697392d2,0xdde50bd1d5d0b9e9, - 0xd4ad2dbfc3d07787,0x955e4ec64b44e864, - 0x84ec3c97da624ab4,0xbd5af13bef0b113e, - 0xa6274bbdd0fadd61,0xecb1ad8aeacdd58e, - 0xcfb11ead453994ba,0x67de18eda5814af2, - 0x81ceb32c4b43fcf4,0x80eacf948770ced7, - 0xa2425ff75e14fc31,0xa1258379a94d028d, - 0xcad2f7f5359a3b3e,0x96ee45813a04330, - 0xfd87b5f28300ca0d,0x8bca9d6e188853fc, - 0x9e74d1b791e07e48,0x775ea264cf55347e, - 0xc612062576589dda,0x95364afe032a819e, - 0xf79687aed3eec551,0x3a83ddbd83f52205, - 0x9abe14cd44753b52,0xc4926a9672793543, - 0xc16d9a0095928a27,0x75b7053c0f178294, - 0xf1c90080baf72cb1,0x5324c68b12dd6339, - 0x971da05074da7bee,0xd3f6fc16ebca5e04, - 0xbce5086492111aea,0x88f4bb1ca6bcf585, - 0xec1e4a7db69561a5,0x2b31e9e3d06c32e6, - 0x9392ee8e921d5d07,0x3aff322e62439fd0, - 0xb877aa3236a4b449,0x9befeb9fad487c3, - 0xe69594bec44de15b,0x4c2ebe687989a9b4, - 0x901d7cf73ab0acd9,0xf9d37014bf60a11, - 0xb424dc35095cd80f,0x538484c19ef38c95, - 0xe12e13424bb40e13,0x2865a5f206b06fba, - 0x8cbccc096f5088cb,0xf93f87b7442e45d4, - 0xafebff0bcb24aafe,0xf78f69a51539d749, - 0xdbe6fecebdedd5be,0xb573440e5a884d1c, - 0x89705f4136b4a597,0x31680a88f8953031, - 0xabcc77118461cefc,0xfdc20d2b36ba7c3e, - 0xd6bf94d5e57a42bc,0x3d32907604691b4d, - 0x8637bd05af6c69b5,0xa63f9a49c2c1b110, - 0xa7c5ac471b478423,0xfcf80dc33721d54, - 0xd1b71758e219652b,0xd3c36113404ea4a9, - 0x83126e978d4fdf3b,0x645a1cac083126ea, - 0xa3d70a3d70a3d70a,0x3d70a3d70a3d70a4, - 0xcccccccccccccccc,0xcccccccccccccccd, - 0x8000000000000000,0x0, - 0xa000000000000000,0x0, - 0xc800000000000000,0x0, - 0xfa00000000000000,0x0, - 0x9c40000000000000,0x0, - 0xc350000000000000,0x0, - 0xf424000000000000,0x0, - 0x9896800000000000,0x0, - 0xbebc200000000000,0x0, - 0xee6b280000000000,0x0, - 0x9502f90000000000,0x0, - 0xba43b74000000000,0x0, - 0xe8d4a51000000000,0x0, - 0x9184e72a00000000,0x0, - 0xb5e620f480000000,0x0, - 0xe35fa931a0000000,0x0, - 0x8e1bc9bf04000000,0x0, - 0xb1a2bc2ec5000000,0x0, - 0xde0b6b3a76400000,0x0, - 0x8ac7230489e80000,0x0, - 0xad78ebc5ac620000,0x0, - 0xd8d726b7177a8000,0x0, - 0x878678326eac9000,0x0, - 0xa968163f0a57b400,0x0, - 0xd3c21bcecceda100,0x0, - 0x84595161401484a0,0x0, - 0xa56fa5b99019a5c8,0x0, - 0xcecb8f27f4200f3a,0x0, - 0x813f3978f8940984,0x4000000000000000, - 0xa18f07d736b90be5,0x5000000000000000, - 0xc9f2c9cd04674ede,0xa400000000000000, - 0xfc6f7c4045812296,0x4d00000000000000, - 0x9dc5ada82b70b59d,0xf020000000000000, - 0xc5371912364ce305,0x6c28000000000000, - 0xf684df56c3e01bc6,0xc732000000000000, - 0x9a130b963a6c115c,0x3c7f400000000000, - 0xc097ce7bc90715b3,0x4b9f100000000000, - 0xf0bdc21abb48db20,0x1e86d40000000000, - 0x96769950b50d88f4,0x1314448000000000, - 0xbc143fa4e250eb31,0x17d955a000000000, - 0xeb194f8e1ae525fd,0x5dcfab0800000000, - 0x92efd1b8d0cf37be,0x5aa1cae500000000, - 0xb7abc627050305ad,0xf14a3d9e40000000, - 0xe596b7b0c643c719,0x6d9ccd05d0000000, - 0x8f7e32ce7bea5c6f,0xe4820023a2000000, - 0xb35dbf821ae4f38b,0xdda2802c8a800000, - 0xe0352f62a19e306e,0xd50b2037ad200000, - 0x8c213d9da502de45,0x4526f422cc340000, - 0xaf298d050e4395d6,0x9670b12b7f410000, - 0xdaf3f04651d47b4c,0x3c0cdd765f114000, - 0x88d8762bf324cd0f,0xa5880a69fb6ac800, - 0xab0e93b6efee0053,0x8eea0d047a457a00, - 0xd5d238a4abe98068,0x72a4904598d6d880, - 0x85a36366eb71f041,0x47a6da2b7f864750, - 0xa70c3c40a64e6c51,0x999090b65f67d924, - 0xd0cf4b50cfe20765,0xfff4b4e3f741cf6d, - 0x82818f1281ed449f,0xbff8f10e7a8921a4, - 0xa321f2d7226895c7,0xaff72d52192b6a0d, - 0xcbea6f8ceb02bb39,0x9bf4f8a69f764490, - 0xfee50b7025c36a08,0x2f236d04753d5b4, - 0x9f4f2726179a2245,0x1d762422c946590, - 0xc722f0ef9d80aad6,0x424d3ad2b7b97ef5, - 0xf8ebad2b84e0d58b,0xd2e0898765a7deb2, - 0x9b934c3b330c8577,0x63cc55f49f88eb2f, - 0xc2781f49ffcfa6d5,0x3cbf6b71c76b25fb, - 0xf316271c7fc3908a,0x8bef464e3945ef7a, - 0x97edd871cfda3a56,0x97758bf0e3cbb5ac, - 0xbde94e8e43d0c8ec,0x3d52eeed1cbea317, - 0xed63a231d4c4fb27,0x4ca7aaa863ee4bdd, - 0x945e455f24fb1cf8,0x8fe8caa93e74ef6a, - 0xb975d6b6ee39e436,0xb3e2fd538e122b44, - 0xe7d34c64a9c85d44,0x60dbbca87196b616, - 0x90e40fbeea1d3a4a,0xbc8955e946fe31cd, - 0xb51d13aea4a488dd,0x6babab6398bdbe41, - 0xe264589a4dcdab14,0xc696963c7eed2dd1, - 0x8d7eb76070a08aec,0xfc1e1de5cf543ca2, - 0xb0de65388cc8ada8,0x3b25a55f43294bcb, - 0xdd15fe86affad912,0x49ef0eb713f39ebe, - 0x8a2dbf142dfcc7ab,0x6e3569326c784337, - 0xacb92ed9397bf996,0x49c2c37f07965404, - 0xd7e77a8f87daf7fb,0xdc33745ec97be906, - 0x86f0ac99b4e8dafd,0x69a028bb3ded71a3, - 0xa8acd7c0222311bc,0xc40832ea0d68ce0c, - 0xd2d80db02aabd62b,0xf50a3fa490c30190, - 0x83c7088e1aab65db,0x792667c6da79e0fa, - 0xa4b8cab1a1563f52,0x577001b891185938, - 0xcde6fd5e09abcf26,0xed4c0226b55e6f86, - 0x80b05e5ac60b6178,0x544f8158315b05b4, - 0xa0dc75f1778e39d6,0x696361ae3db1c721, - 0xc913936dd571c84c,0x3bc3a19cd1e38e9, - 0xfb5878494ace3a5f,0x4ab48a04065c723, - 0x9d174b2dcec0e47b,0x62eb0d64283f9c76, - 0xc45d1df942711d9a,0x3ba5d0bd324f8394, - 0xf5746577930d6500,0xca8f44ec7ee36479, - 0x9968bf6abbe85f20,0x7e998b13cf4e1ecb, - 0xbfc2ef456ae276e8,0x9e3fedd8c321a67e, - 0xefb3ab16c59b14a2,0xc5cfe94ef3ea101e, - 0x95d04aee3b80ece5,0xbba1f1d158724a12, - 0xbb445da9ca61281f,0x2a8a6e45ae8edc97, - 0xea1575143cf97226,0xf52d09d71a3293bd, - 0x924d692ca61be758,0x593c2626705f9c56, - 0xb6e0c377cfa2e12e,0x6f8b2fb00c77836c, - 0xe498f455c38b997a,0xb6dfb9c0f956447, - 0x8edf98b59a373fec,0x4724bd4189bd5eac, - 0xb2977ee300c50fe7,0x58edec91ec2cb657, - 0xdf3d5e9bc0f653e1,0x2f2967b66737e3ed, - 0x8b865b215899f46c,0xbd79e0d20082ee74, - 0xae67f1e9aec07187,0xecd8590680a3aa11, - 0xda01ee641a708de9,0xe80e6f4820cc9495, - 0x884134fe908658b2,0x3109058d147fdcdd, - 0xaa51823e34a7eede,0xbd4b46f0599fd415, - 0xd4e5e2cdc1d1ea96,0x6c9e18ac7007c91a, - 0x850fadc09923329e,0x3e2cf6bc604ddb0, - 0xa6539930bf6bff45,0x84db8346b786151c, - 0xcfe87f7cef46ff16,0xe612641865679a63, - 0x81f14fae158c5f6e,0x4fcb7e8f3f60c07e, - 0xa26da3999aef7749,0xe3be5e330f38f09d, - 0xcb090c8001ab551c,0x5cadf5bfd3072cc5, - 0xfdcb4fa002162a63,0x73d9732fc7c8f7f6, - 0x9e9f11c4014dda7e,0x2867e7fddcdd9afa, - 0xc646d63501a1511d,0xb281e1fd541501b8, - 0xf7d88bc24209a565,0x1f225a7ca91a4226, - 0x9ae757596946075f,0x3375788de9b06958, - 0xc1a12d2fc3978937,0x52d6b1641c83ae, - 0xf209787bb47d6b84,0xc0678c5dbd23a49a, - 0x9745eb4d50ce6332,0xf840b7ba963646e0, - 0xbd176620a501fbff,0xb650e5a93bc3d898, - 0xec5d3fa8ce427aff,0xa3e51f138ab4cebe, - 0x93ba47c980e98cdf,0xc66f336c36b10137, - 0xb8a8d9bbe123f017,0xb80b0047445d4184, - 0xe6d3102ad96cec1d,0xa60dc059157491e5, - 0x9043ea1ac7e41392,0x87c89837ad68db2f, - 0xb454e4a179dd1877,0x29babe4598c311fb, - 0xe16a1dc9d8545e94,0xf4296dd6fef3d67a, - 0x8ce2529e2734bb1d,0x1899e4a65f58660c, - 0xb01ae745b101e9e4,0x5ec05dcff72e7f8f, - 0xdc21a1171d42645d,0x76707543f4fa1f73, - 0x899504ae72497eba,0x6a06494a791c53a8, - 0xabfa45da0edbde69,0x487db9d17636892, - 0xd6f8d7509292d603,0x45a9d2845d3c42b6, - 0x865b86925b9bc5c2,0xb8a2392ba45a9b2, - 0xa7f26836f282b732,0x8e6cac7768d7141e, - 0xd1ef0244af2364ff,0x3207d795430cd926, - 0x8335616aed761f1f,0x7f44e6bd49e807b8, - 0xa402b9c5a8d3a6e7,0x5f16206c9c6209a6, - 0xcd036837130890a1,0x36dba887c37a8c0f, - 0x802221226be55a64,0xc2494954da2c9789, - 0xa02aa96b06deb0fd,0xf2db9baa10b7bd6c, - 0xc83553c5c8965d3d,0x6f92829494e5acc7, - 0xfa42a8b73abbf48c,0xcb772339ba1f17f9, - 0x9c69a97284b578d7,0xff2a760414536efb, - 0xc38413cf25e2d70d,0xfef5138519684aba, - 0xf46518c2ef5b8cd1,0x7eb258665fc25d69, - 0x98bf2f79d5993802,0xef2f773ffbd97a61, - 0xbeeefb584aff8603,0xaafb550ffacfd8fa, - 0xeeaaba2e5dbf6784,0x95ba2a53f983cf38, - 0x952ab45cfa97a0b2,0xdd945a747bf26183, - 0xba756174393d88df,0x94f971119aeef9e4, - 0xe912b9d1478ceb17,0x7a37cd5601aab85d, - 0x91abb422ccb812ee,0xac62e055c10ab33a, - 0xb616a12b7fe617aa,0x577b986b314d6009, - 0xe39c49765fdf9d94,0xed5a7e85fda0b80b, - 0x8e41ade9fbebc27d,0x14588f13be847307, - 0xb1d219647ae6b31c,0x596eb2d8ae258fc8, - 0xde469fbd99a05fe3,0x6fca5f8ed9aef3bb, - 0x8aec23d680043bee,0x25de7bb9480d5854, - 0xada72ccc20054ae9,0xaf561aa79a10ae6a, - 0xd910f7ff28069da4,0x1b2ba1518094da04, - 0x87aa9aff79042286,0x90fb44d2f05d0842, - 0xa99541bf57452b28,0x353a1607ac744a53, - 0xd3fa922f2d1675f2,0x42889b8997915ce8, - 0x847c9b5d7c2e09b7,0x69956135febada11, - 0xa59bc234db398c25,0x43fab9837e699095, - 0xcf02b2c21207ef2e,0x94f967e45e03f4bb, - 0x8161afb94b44f57d,0x1d1be0eebac278f5, - 0xa1ba1ba79e1632dc,0x6462d92a69731732, - 0xca28a291859bbf93,0x7d7b8f7503cfdcfe, - 0xfcb2cb35e702af78,0x5cda735244c3d43e, - 0x9defbf01b061adab,0x3a0888136afa64a7, - 0xc56baec21c7a1916,0x88aaa1845b8fdd0, - 0xf6c69a72a3989f5b,0x8aad549e57273d45, - 0x9a3c2087a63f6399,0x36ac54e2f678864b, - 0xc0cb28a98fcf3c7f,0x84576a1bb416a7dd, - 0xf0fdf2d3f3c30b9f,0x656d44a2a11c51d5, - 0x969eb7c47859e743,0x9f644ae5a4b1b325, - 0xbc4665b596706114,0x873d5d9f0dde1fee, - 0xeb57ff22fc0c7959,0xa90cb506d155a7ea, - 0x9316ff75dd87cbd8,0x9a7f12442d588f2, - 0xb7dcbf5354e9bece,0xc11ed6d538aeb2f, - 0xe5d3ef282a242e81,0x8f1668c8a86da5fa, - 0x8fa475791a569d10,0xf96e017d694487bc, - 0xb38d92d760ec4455,0x37c981dcc395a9ac, - 0xe070f78d3927556a,0x85bbe253f47b1417, - 0x8c469ab843b89562,0x93956d7478ccec8e, - 0xaf58416654a6babb,0x387ac8d1970027b2, - 0xdb2e51bfe9d0696a,0x6997b05fcc0319e, - 0x88fcf317f22241e2,0x441fece3bdf81f03, - 0xab3c2fddeeaad25a,0xd527e81cad7626c3, - 0xd60b3bd56a5586f1,0x8a71e223d8d3b074, - 0x85c7056562757456,0xf6872d5667844e49, - 0xa738c6bebb12d16c,0xb428f8ac016561db, - 0xd106f86e69d785c7,0xe13336d701beba52, - 0x82a45b450226b39c,0xecc0024661173473, - 0xa34d721642b06084,0x27f002d7f95d0190, - 0xcc20ce9bd35c78a5,0x31ec038df7b441f4, - 0xff290242c83396ce,0x7e67047175a15271, - 0x9f79a169bd203e41,0xf0062c6e984d386, - 0xc75809c42c684dd1,0x52c07b78a3e60868, - 0xf92e0c3537826145,0xa7709a56ccdf8a82, - 0x9bbcc7a142b17ccb,0x88a66076400bb691, - 0xc2abf989935ddbfe,0x6acff893d00ea435, - 0xf356f7ebf83552fe,0x583f6b8c4124d43, - 0x98165af37b2153de,0xc3727a337a8b704a, - 0xbe1bf1b059e9a8d6,0x744f18c0592e4c5c, - 0xeda2ee1c7064130c,0x1162def06f79df73, - 0x9485d4d1c63e8be7,0x8addcb5645ac2ba8, - 0xb9a74a0637ce2ee1,0x6d953e2bd7173692, - 0xe8111c87c5c1ba99,0xc8fa8db6ccdd0437, - 0x910ab1d4db9914a0,0x1d9c9892400a22a2, - 0xb54d5e4a127f59c8,0x2503beb6d00cab4b, - 0xe2a0b5dc971f303a,0x2e44ae64840fd61d, - 0x8da471a9de737e24,0x5ceaecfed289e5d2, - 0xb10d8e1456105dad,0x7425a83e872c5f47, - 0xdd50f1996b947518,0xd12f124e28f77719, - 0x8a5296ffe33cc92f,0x82bd6b70d99aaa6f, - 0xace73cbfdc0bfb7b,0x636cc64d1001550b, - 0xd8210befd30efa5a,0x3c47f7e05401aa4e, - 0x8714a775e3e95c78,0x65acfaec34810a71, - 0xa8d9d1535ce3b396,0x7f1839a741a14d0d, - 0xd31045a8341ca07c,0x1ede48111209a050, - 0x83ea2b892091e44d,0x934aed0aab460432, - 0xa4e4b66b68b65d60,0xf81da84d5617853f, - 0xce1de40642e3f4b9,0x36251260ab9d668e, - 0x80d2ae83e9ce78f3,0xc1d72b7c6b426019, - 0xa1075a24e4421730,0xb24cf65b8612f81f, - 0xc94930ae1d529cfc,0xdee033f26797b627, - 0xfb9b7cd9a4a7443c,0x169840ef017da3b1, - 0x9d412e0806e88aa5,0x8e1f289560ee864e, - 0xc491798a08a2ad4e,0xf1a6f2bab92a27e2, - 0xf5b5d7ec8acb58a2,0xae10af696774b1db, - 0x9991a6f3d6bf1765,0xacca6da1e0a8ef29, - 0xbff610b0cc6edd3f,0x17fd090a58d32af3, - 0xeff394dcff8a948e,0xddfc4b4cef07f5b0, - 0x95f83d0a1fb69cd9,0x4abdaf101564f98e, - 0xbb764c4ca7a4440f,0x9d6d1ad41abe37f1, - 0xea53df5fd18d5513,0x84c86189216dc5ed, - 0x92746b9be2f8552c,0x32fd3cf5b4e49bb4, - 0xb7118682dbb66a77,0x3fbc8c33221dc2a1, - 0xe4d5e82392a40515,0xfabaf3feaa5334a, - 0x8f05b1163ba6832d,0x29cb4d87f2a7400e, - 0xb2c71d5bca9023f8,0x743e20e9ef511012, - 0xdf78e4b2bd342cf6,0x914da9246b255416, - 0x8bab8eefb6409c1a,0x1ad089b6c2f7548e, - 0xae9672aba3d0c320,0xa184ac2473b529b1, - 0xda3c0f568cc4f3e8,0xc9e5d72d90a2741e, - 0x8865899617fb1871,0x7e2fa67c7a658892, - 0xaa7eebfb9df9de8d,0xddbb901b98feeab7, - 0xd51ea6fa85785631,0x552a74227f3ea565, - 0x8533285c936b35de,0xd53a88958f87275f, - 0xa67ff273b8460356,0x8a892abaf368f137, - 0xd01fef10a657842c,0x2d2b7569b0432d85, - 0x8213f56a67f6b29b,0x9c3b29620e29fc73, - 0xa298f2c501f45f42,0x8349f3ba91b47b8f, - 0xcb3f2f7642717713,0x241c70a936219a73, - 0xfe0efb53d30dd4d7,0xed238cd383aa0110, - 0x9ec95d1463e8a506,0xf4363804324a40aa, - 0xc67bb4597ce2ce48,0xb143c6053edcd0d5, - 0xf81aa16fdc1b81da,0xdd94b7868e94050a, - 0x9b10a4e5e9913128,0xca7cf2b4191c8326, - 0xc1d4ce1f63f57d72,0xfd1c2f611f63a3f0, - 0xf24a01a73cf2dccf,0xbc633b39673c8cec, - 0x976e41088617ca01,0xd5be0503e085d813, - 0xbd49d14aa79dbc82,0x4b2d8644d8a74e18, - 0xec9c459d51852ba2,0xddf8e7d60ed1219e, - 0x93e1ab8252f33b45,0xcabb90e5c942b503, - 0xb8da1662e7b00a17,0x3d6a751f3b936243, - 0xe7109bfba19c0c9d,0xcc512670a783ad4, - 0x906a617d450187e2,0x27fb2b80668b24c5, - 0xb484f9dc9641e9da,0xb1f9f660802dedf6, - 0xe1a63853bbd26451,0x5e7873f8a0396973, - 0x8d07e33455637eb2,0xdb0b487b6423e1e8, - 0xb049dc016abc5e5f,0x91ce1a9a3d2cda62, - 0xdc5c5301c56b75f7,0x7641a140cc7810fb, - 0x89b9b3e11b6329ba,0xa9e904c87fcb0a9d, - 0xac2820d9623bf429,0x546345fa9fbdcd44, - 0xd732290fbacaf133,0xa97c177947ad4095, - 0x867f59a9d4bed6c0,0x49ed8eabcccc485d, - 0xa81f301449ee8c70,0x5c68f256bfff5a74, - 0xd226fc195c6a2f8c,0x73832eec6fff3111, - 0x83585d8fd9c25db7,0xc831fd53c5ff7eab, - 0xa42e74f3d032f525,0xba3e7ca8b77f5e55, - 0xcd3a1230c43fb26f,0x28ce1bd2e55f35eb, - 0x80444b5e7aa7cf85,0x7980d163cf5b81b3, - 0xa0555e361951c366,0xd7e105bcc332621f, - 0xc86ab5c39fa63440,0x8dd9472bf3fefaa7, - 0xfa856334878fc150,0xb14f98f6f0feb951, - 0x9c935e00d4b9d8d2,0x6ed1bf9a569f33d3, - 0xc3b8358109e84f07,0xa862f80ec4700c8, - 0xf4a642e14c6262c8,0xcd27bb612758c0fa, - 0x98e7e9cccfbd7dbd,0x8038d51cb897789c, - 0xbf21e44003acdd2c,0xe0470a63e6bd56c3, - 0xeeea5d5004981478,0x1858ccfce06cac74, - 0x95527a5202df0ccb,0xf37801e0c43ebc8, - 0xbaa718e68396cffd,0xd30560258f54e6ba, - 0xe950df20247c83fd,0x47c6b82ef32a2069, - 0x91d28b7416cdd27e,0x4cdc331d57fa5441, - 0xb6472e511c81471d,0xe0133fe4adf8e952, - 0xe3d8f9e563a198e5,0x58180fddd97723a6, - 0x8e679c2f5e44ff8f,0x570f09eaa7ea7648,}; -using powers = powers_template<>; - -} - -#endif - - -#ifndef FASTFLOAT_DECIMAL_TO_BINARY_H -#define FASTFLOAT_DECIMAL_TO_BINARY_H - -//included above: -//#include -#include -#include -//included above: -//#include -#include -//included above: -//#include - -namespace fast_float { - -// This will compute or rather approximate w * 5**q and return a pair of 64-bit words approximating -// the result, with the "high" part corresponding to the most significant bits and the -// low part corresponding to the least significant bits. -// -template -fastfloat_really_inline -value128 compute_product_approximation(int64_t q, uint64_t w) { - const int index = 2 * int(q - powers::smallest_power_of_five); - // For small values of q, e.g., q in [0,27], the answer is always exact because - // The line value128 firstproduct = full_multiplication(w, power_of_five_128[index]); - // gives the exact answer. - value128 firstproduct = full_multiplication(w, powers::power_of_five_128[index]); - static_assert((bit_precision >= 0) && (bit_precision <= 64), " precision should be in (0,64]"); - constexpr uint64_t precision_mask = (bit_precision < 64) ? - (uint64_t(0xFFFFFFFFFFFFFFFF) >> bit_precision) - : uint64_t(0xFFFFFFFFFFFFFFFF); - if((firstproduct.high & precision_mask) == precision_mask) { // could further guard with (lower + w < lower) - // regarding the second product, we only need secondproduct.high, but our expectation is that the compiler will optimize this extra work away if needed. - value128 secondproduct = full_multiplication(w, powers::power_of_five_128[index + 1]); - firstproduct.low += secondproduct.high; - if(secondproduct.high > firstproduct.low) { - firstproduct.high++; - } - } - return firstproduct; -} - -namespace detail { -/** - * For q in (0,350), we have that - * f = (((152170 + 65536) * q ) >> 16); - * is equal to - * floor(p) + q - * where - * p = log(5**q)/log(2) = q * log(5)/log(2) - * - * For negative values of q in (-400,0), we have that - * f = (((152170 + 65536) * q ) >> 16); - * is equal to - * -ceil(p) + q - * where - * p = log(5**-q)/log(2) = -q * log(5)/log(2) - */ - constexpr fastfloat_really_inline int32_t power(int32_t q) noexcept { - return (((152170 + 65536) * q) >> 16) + 63; - } -} // namespace detail - -// create an adjusted mantissa, biased by the invalid power2 -// for significant digits already multiplied by 10 ** q. -template -fastfloat_really_inline -adjusted_mantissa compute_error_scaled(int64_t q, uint64_t w, int lz) noexcept { - int hilz = int(w >> 63) ^ 1; - adjusted_mantissa answer; - answer.mantissa = w << hilz; - int bias = binary::mantissa_explicit_bits() - binary::minimum_exponent(); - answer.power2 = int32_t(detail::power(int32_t(q)) + bias - hilz - lz - 62 + invalid_am_bias); - return answer; -} - -// w * 10 ** q, without rounding the representation up. -// the power2 in the exponent will be adjusted by invalid_am_bias. -template -fastfloat_really_inline -adjusted_mantissa compute_error(int64_t q, uint64_t w) noexcept { - int lz = leading_zeroes(w); - w <<= lz; - value128 product = compute_product_approximation(q, w); - return compute_error_scaled(q, product.high, lz); -} - -// w * 10 ** q -// The returned value should be a valid ieee64 number that simply need to be packed. -// However, in some very rare cases, the computation will fail. In such cases, we -// return an adjusted_mantissa with a negative power of 2: the caller should recompute -// in such cases. -template -fastfloat_really_inline -adjusted_mantissa compute_float(int64_t q, uint64_t w) noexcept { - adjusted_mantissa answer; - if ((w == 0) || (q < binary::smallest_power_of_ten())) { - answer.power2 = 0; - answer.mantissa = 0; - // result should be zero - return answer; - } - if (q > binary::largest_power_of_ten()) { - // we want to get infinity: - answer.power2 = binary::infinite_power(); - answer.mantissa = 0; - return answer; - } - // At this point in time q is in [powers::smallest_power_of_five, powers::largest_power_of_five]. - - // We want the most significant bit of i to be 1. Shift if needed. - int lz = leading_zeroes(w); - w <<= lz; - - // The required precision is binary::mantissa_explicit_bits() + 3 because - // 1. We need the implicit bit - // 2. We need an extra bit for rounding purposes - // 3. We might lose a bit due to the "upperbit" routine (result too small, requiring a shift) - - value128 product = compute_product_approximation(q, w); - if(product.low == 0xFFFFFFFFFFFFFFFF) { // could guard it further - // In some very rare cases, this could happen, in which case we might need a more accurate - // computation that what we can provide cheaply. This is very, very unlikely. - // - const bool inside_safe_exponent = (q >= -27) && (q <= 55); // always good because 5**q <2**128 when q>=0, - // and otherwise, for q<0, we have 5**-q<2**64 and the 128-bit reciprocal allows for exact computation. - if(!inside_safe_exponent) { - return compute_error_scaled(q, product.high, lz); - } - } - // The "compute_product_approximation" function can be slightly slower than a branchless approach: - // value128 product = compute_product(q, w); - // but in practice, we can win big with the compute_product_approximation if its additional branch - // is easily predicted. Which is best is data specific. - int upperbit = int(product.high >> 63); - - answer.mantissa = product.high >> (upperbit + 64 - binary::mantissa_explicit_bits() - 3); - - answer.power2 = int32_t(detail::power(int32_t(q)) + upperbit - lz - binary::minimum_exponent()); - if (answer.power2 <= 0) { // we have a subnormal? - // Here have that answer.power2 <= 0 so -answer.power2 >= 0 - if(-answer.power2 + 1 >= 64) { // if we have more than 64 bits below the minimum exponent, you have a zero for sure. - answer.power2 = 0; - answer.mantissa = 0; - // result should be zero - return answer; - } - // next line is safe because -answer.power2 + 1 < 64 - answer.mantissa >>= -answer.power2 + 1; - // Thankfully, we can't have both "round-to-even" and subnormals because - // "round-to-even" only occurs for powers close to 0. - answer.mantissa += (answer.mantissa & 1); // round up - answer.mantissa >>= 1; - // There is a weird scenario where we don't have a subnormal but just. - // Suppose we start with 2.2250738585072013e-308, we end up - // with 0x3fffffffffffff x 2^-1023-53 which is technically subnormal - // whereas 0x40000000000000 x 2^-1023-53 is normal. Now, we need to round - // up 0x3fffffffffffff x 2^-1023-53 and once we do, we are no longer - // subnormal, but we can only know this after rounding. - // So we only declare a subnormal if we are smaller than the threshold. - answer.power2 = (answer.mantissa < (uint64_t(1) << binary::mantissa_explicit_bits())) ? 0 : 1; - return answer; - } - - // usually, we round *up*, but if we fall right in between and and we have an - // even basis, we need to round down - // We are only concerned with the cases where 5**q fits in single 64-bit word. - if ((product.low <= 1) && (q >= binary::min_exponent_round_to_even()) && (q <= binary::max_exponent_round_to_even()) && - ((answer.mantissa & 3) == 1) ) { // we may fall between two floats! - // To be in-between two floats we need that in doing - // answer.mantissa = product.high >> (upperbit + 64 - binary::mantissa_explicit_bits() - 3); - // ... we dropped out only zeroes. But if this happened, then we can go back!!! - if((answer.mantissa << (upperbit + 64 - binary::mantissa_explicit_bits() - 3)) == product.high) { - answer.mantissa &= ~uint64_t(1); // flip it so that we do not round up - } - } - - answer.mantissa += (answer.mantissa & 1); // round up - answer.mantissa >>= 1; - if (answer.mantissa >= (uint64_t(2) << binary::mantissa_explicit_bits())) { - answer.mantissa = (uint64_t(1) << binary::mantissa_explicit_bits()); - answer.power2++; // undo previous addition - } - - answer.mantissa &= ~(uint64_t(1) << binary::mantissa_explicit_bits()); - if (answer.power2 >= binary::infinite_power()) { // infinity - answer.power2 = binary::infinite_power(); - answer.mantissa = 0; - } - return answer; -} - -} // namespace fast_float - -#endif - - -#ifndef FASTFLOAT_BIGINT_H -#define FASTFLOAT_BIGINT_H - -#include -//included above: -//#include -//included above: -//#include -//included above: -//#include - - -namespace fast_float { - -// the limb width: we want efficient multiplication of double the bits in -// limb, or for 64-bit limbs, at least 64-bit multiplication where we can -// extract the high and low parts efficiently. this is every 64-bit -// architecture except for sparc, which emulates 128-bit multiplication. -// we might have platforms where `CHAR_BIT` is not 8, so let's avoid -// doing `8 * sizeof(limb)`. -#if defined(FASTFLOAT_64BIT) && !defined(__sparc) -#define FASTFLOAT_64BIT_LIMB -typedef uint64_t limb; -constexpr size_t limb_bits = 64; -#else -#define FASTFLOAT_32BIT_LIMB -typedef uint32_t limb; -constexpr size_t limb_bits = 32; -#endif - -typedef span limb_span; - -// number of bits in a bigint. this needs to be at least the number -// of bits required to store the largest bigint, which is -// `log2(10**(digits + max_exp))`, or `log2(10**(767 + 342))`, or -// ~3600 bits, so we round to 4000. -constexpr size_t bigint_bits = 4000; -constexpr size_t bigint_limbs = bigint_bits / limb_bits; - -// vector-like type that is allocated on the stack. the entire -// buffer is pre-allocated, and only the length changes. -template -struct stackvec { - limb data[size]; - // we never need more than 150 limbs - uint16_t length{0}; - - stackvec() = default; - stackvec(const stackvec &) = delete; - stackvec &operator=(const stackvec &) = delete; - stackvec(stackvec &&) = delete; - stackvec &operator=(stackvec &&other) = delete; - - // create stack vector from existing limb span. - stackvec(limb_span s) { - FASTFLOAT_ASSERT(try_extend(s)); - } - - limb& operator[](size_t index) noexcept { - FASTFLOAT_DEBUG_ASSERT(index < length); - return data[index]; - } - const limb& operator[](size_t index) const noexcept { - FASTFLOAT_DEBUG_ASSERT(index < length); - return data[index]; - } - // index from the end of the container - const limb& rindex(size_t index) const noexcept { - FASTFLOAT_DEBUG_ASSERT(index < length); - size_t rindex = length - index - 1; - return data[rindex]; - } - - // set the length, without bounds checking. - void set_len(size_t len) noexcept { - length = uint16_t(len); - } - constexpr size_t len() const noexcept { - return length; - } - constexpr bool is_empty() const noexcept { - return length == 0; - } - constexpr size_t capacity() const noexcept { - return size; - } - // append item to vector, without bounds checking - void push_unchecked(limb value) noexcept { - data[length] = value; - length++; - } - // append item to vector, returning if item was added - bool try_push(limb value) noexcept { - if (len() < capacity()) { - push_unchecked(value); - return true; - } else { - return false; - } - } - // add items to the vector, from a span, without bounds checking - void extend_unchecked(limb_span s) noexcept { - limb* ptr = data + length; - ::memcpy((void*)ptr, (const void*)s.ptr, sizeof(limb) * s.len()); - set_len(len() + s.len()); - } - // try to add items to the vector, returning if items were added - bool try_extend(limb_span s) noexcept { - if (len() + s.len() <= capacity()) { - extend_unchecked(s); - return true; - } else { - return false; - } - } - // resize the vector, without bounds checking - // if the new size is longer than the vector, assign value to each - // appended item. - void resize_unchecked(size_t new_len, limb value) noexcept { - if (new_len > len()) { - size_t count = new_len - len(); - limb* first = data + len(); - limb* last = first + count; - ::std::fill(first, last, value); - set_len(new_len); - } else { - set_len(new_len); - } - } - // try to resize the vector, returning if the vector was resized. - bool try_resize(size_t new_len, limb value) noexcept { - if (new_len > capacity()) { - return false; - } else { - resize_unchecked(new_len, value); - return true; - } - } - // check if any limbs are non-zero after the given index. - // this needs to be done in reverse order, since the index - // is relative to the most significant limbs. - bool nonzero(size_t index) const noexcept { - while (index < len()) { - if (rindex(index) != 0) { - return true; - } - index++; - } - return false; - } - // normalize the big integer, so most-significant zero limbs are removed. - void normalize() noexcept { - while (len() > 0 && rindex(0) == 0) { - length--; - } - } -}; - -fastfloat_really_inline -uint64_t empty_hi64(bool& truncated) noexcept { - truncated = false; - return 0; -} - -fastfloat_really_inline -uint64_t uint64_hi64(uint64_t r0, bool& truncated) noexcept { - truncated = false; - int shl = leading_zeroes(r0); - return r0 << shl; -} - -fastfloat_really_inline -uint64_t uint64_hi64(uint64_t r0, uint64_t r1, bool& truncated) noexcept { - int shl = leading_zeroes(r0); - if (shl == 0) { - truncated = r1 != 0; - return r0; - } else { - int shr = 64 - shl; - truncated = (r1 << shl) != 0; - return (r0 << shl) | (r1 >> shr); - } -} - -fastfloat_really_inline -uint64_t uint32_hi64(uint32_t r0, bool& truncated) noexcept { - return uint64_hi64(r0, truncated); -} - -fastfloat_really_inline -uint64_t uint32_hi64(uint32_t r0, uint32_t r1, bool& truncated) noexcept { - uint64_t x0 = r0; - uint64_t x1 = r1; - return uint64_hi64((x0 << 32) | x1, truncated); -} - -fastfloat_really_inline -uint64_t uint32_hi64(uint32_t r0, uint32_t r1, uint32_t r2, bool& truncated) noexcept { - uint64_t x0 = r0; - uint64_t x1 = r1; - uint64_t x2 = r2; - return uint64_hi64(x0, (x1 << 32) | x2, truncated); -} - -// add two small integers, checking for overflow. -// we want an efficient operation. for msvc, where -// we don't have built-in intrinsics, this is still -// pretty fast. -fastfloat_really_inline -limb scalar_add(limb x, limb y, bool& overflow) noexcept { - limb z; - -// gcc and clang -#if defined(__has_builtin) - #if __has_builtin(__builtin_add_overflow) - overflow = __builtin_add_overflow(x, y, &z); - return z; - #endif -#endif - - // generic, this still optimizes correctly on MSVC. - z = x + y; - overflow = z < x; - return z; -} - -// multiply two small integers, getting both the high and low bits. -fastfloat_really_inline -limb scalar_mul(limb x, limb y, limb& carry) noexcept { -#ifdef FASTFLOAT_64BIT_LIMB - #if defined(__SIZEOF_INT128__) - // GCC and clang both define it as an extension. - __uint128_t z = __uint128_t(x) * __uint128_t(y) + __uint128_t(carry); - carry = limb(z >> limb_bits); - return limb(z); - #else - // fallback, no native 128-bit integer multiplication with carry. - // on msvc, this optimizes identically, somehow. - value128 z = full_multiplication(x, y); - bool overflow; - z.low = scalar_add(z.low, carry, overflow); - z.high += uint64_t(overflow); // cannot overflow - carry = z.high; - return z.low; - #endif -#else - uint64_t z = uint64_t(x) * uint64_t(y) + uint64_t(carry); - carry = limb(z >> limb_bits); - return limb(z); -#endif -} - -// add scalar value to bigint starting from offset. -// used in grade school multiplication -template -inline bool small_add_from(stackvec& vec, limb y, size_t start) noexcept { - size_t index = start; - limb carry = y; - bool overflow; - while (carry != 0 && index < vec.len()) { - vec[index] = scalar_add(vec[index], carry, overflow); - carry = limb(overflow); - index += 1; - } - if (carry != 0) { - FASTFLOAT_TRY(vec.try_push(carry)); - } - return true; -} - -// add scalar value to bigint. -template -fastfloat_really_inline bool small_add(stackvec& vec, limb y) noexcept { - return small_add_from(vec, y, 0); -} - -// multiply bigint by scalar value. -template -inline bool small_mul(stackvec& vec, limb y) noexcept { - limb carry = 0; - for (size_t index = 0; index < vec.len(); index++) { - vec[index] = scalar_mul(vec[index], y, carry); - } - if (carry != 0) { - FASTFLOAT_TRY(vec.try_push(carry)); - } - return true; -} - -// add bigint to bigint starting from index. -// used in grade school multiplication -template -bool large_add_from(stackvec& x, limb_span y, size_t start) noexcept { - // the effective x buffer is from `xstart..x.len()`, so exit early - // if we can't get that current range. - if (x.len() < start || y.len() > x.len() - start) { - FASTFLOAT_TRY(x.try_resize(y.len() + start, 0)); - } - - bool carry = false; - for (size_t index = 0; index < y.len(); index++) { - limb xi = x[index + start]; - limb yi = y[index]; - bool c1 = false; - bool c2 = false; - xi = scalar_add(xi, yi, c1); - if (carry) { - xi = scalar_add(xi, 1, c2); - } - x[index + start] = xi; - carry = c1 | c2; - } - - // handle overflow - if (carry) { - FASTFLOAT_TRY(small_add_from(x, 1, y.len() + start)); - } - return true; -} - -// add bigint to bigint. -template -fastfloat_really_inline bool large_add_from(stackvec& x, limb_span y) noexcept { - return large_add_from(x, y, 0); -} - -// grade-school multiplication algorithm -template -bool long_mul(stackvec& x, limb_span y) noexcept { - limb_span xs = limb_span(x.data, x.len()); - stackvec z(xs); - limb_span zs = limb_span(z.data, z.len()); - - if (y.len() != 0) { - limb y0 = y[0]; - FASTFLOAT_TRY(small_mul(x, y0)); - for (size_t index = 1; index < y.len(); index++) { - limb yi = y[index]; - stackvec zi; - if (yi != 0) { - // re-use the same buffer throughout - zi.set_len(0); - FASTFLOAT_TRY(zi.try_extend(zs)); - FASTFLOAT_TRY(small_mul(zi, yi)); - limb_span zis = limb_span(zi.data, zi.len()); - FASTFLOAT_TRY(large_add_from(x, zis, index)); - } - } - } - - x.normalize(); - return true; -} - -// grade-school multiplication algorithm -template -bool large_mul(stackvec& x, limb_span y) noexcept { - if (y.len() == 1) { - FASTFLOAT_TRY(small_mul(x, y[0])); - } else { - FASTFLOAT_TRY(long_mul(x, y)); - } - return true; -} - -// big integer type. implements a small subset of big integer -// arithmetic, using simple algorithms since asymptotically -// faster algorithms are slower for a small number of limbs. -// all operations assume the big-integer is normalized. -struct bigint { - // storage of the limbs, in little-endian order. - stackvec vec; - - bigint(): vec() {} - bigint(const bigint &) = delete; - bigint &operator=(const bigint &) = delete; - bigint(bigint &&) = delete; - bigint &operator=(bigint &&other) = delete; - - bigint(uint64_t value): vec() { -#ifdef FASTFLOAT_64BIT_LIMB - vec.push_unchecked(value); -#else - vec.push_unchecked(uint32_t(value)); - vec.push_unchecked(uint32_t(value >> 32)); -#endif - vec.normalize(); - } - - // get the high 64 bits from the vector, and if bits were truncated. - // this is to get the significant digits for the float. - uint64_t hi64(bool& truncated) const noexcept { -#ifdef FASTFLOAT_64BIT_LIMB - if (vec.len() == 0) { - return empty_hi64(truncated); - } else if (vec.len() == 1) { - return uint64_hi64(vec.rindex(0), truncated); - } else { - uint64_t result = uint64_hi64(vec.rindex(0), vec.rindex(1), truncated); - truncated |= vec.nonzero(2); - return result; - } -#else - if (vec.len() == 0) { - return empty_hi64(truncated); - } else if (vec.len() == 1) { - return uint32_hi64(vec.rindex(0), truncated); - } else if (vec.len() == 2) { - return uint32_hi64(vec.rindex(0), vec.rindex(1), truncated); - } else { - uint64_t result = uint32_hi64(vec.rindex(0), vec.rindex(1), vec.rindex(2), truncated); - truncated |= vec.nonzero(3); - return result; - } -#endif - } - - // compare two big integers, returning the large value. - // assumes both are normalized. if the return value is - // negative, other is larger, if the return value is - // positive, this is larger, otherwise they are equal. - // the limbs are stored in little-endian order, so we - // must compare the limbs in ever order. - int compare(const bigint& other) const noexcept { - if (vec.len() > other.vec.len()) { - return 1; - } else if (vec.len() < other.vec.len()) { - return -1; - } else { - for (size_t index = vec.len(); index > 0; index--) { - limb xi = vec[index - 1]; - limb yi = other.vec[index - 1]; - if (xi > yi) { - return 1; - } else if (xi < yi) { - return -1; - } - } - return 0; - } - } - - // shift left each limb n bits, carrying over to the new limb - // returns true if we were able to shift all the digits. - bool shl_bits(size_t n) noexcept { - // Internally, for each item, we shift left by n, and add the previous - // right shifted limb-bits. - // For example, we transform (for u8) shifted left 2, to: - // b10100100 b01000010 - // b10 b10010001 b00001000 - FASTFLOAT_DEBUG_ASSERT(n != 0); - FASTFLOAT_DEBUG_ASSERT(n < sizeof(limb) * 8); - - size_t shl = n; - size_t shr = limb_bits - shl; - limb prev = 0; - for (size_t index = 0; index < vec.len(); index++) { - limb xi = vec[index]; - vec[index] = (xi << shl) | (prev >> shr); - prev = xi; - } - - limb carry = prev >> shr; - if (carry != 0) { - return vec.try_push(carry); - } - return true; - } - - // move the limbs left by `n` limbs. - bool shl_limbs(size_t n) noexcept { - FASTFLOAT_DEBUG_ASSERT(n != 0); - if (n + vec.len() > vec.capacity()) { - return false; - } else if (!vec.is_empty()) { - // move limbs - limb* dst = vec.data + n; - const limb* src = vec.data; - ::memmove(dst, src, sizeof(limb) * vec.len()); - // fill in empty limbs - limb* first = vec.data; - limb* last = first + n; - ::std::fill(first, last, 0); - vec.set_len(n + vec.len()); - return true; - } else { - return true; - } - } - - // move the limbs left by `n` bits. - bool shl(size_t n) noexcept { - size_t rem = n % limb_bits; - size_t div = n / limb_bits; - if (rem != 0) { - FASTFLOAT_TRY(shl_bits(rem)); - } - if (div != 0) { - FASTFLOAT_TRY(shl_limbs(div)); - } - return true; - } - - // get the number of leading zeros in the bigint. - int ctlz() const noexcept { - if (vec.is_empty()) { - return 0; - } else { -#ifdef FASTFLOAT_64BIT_LIMB - return leading_zeroes(vec.rindex(0)); -#else - // no use defining a specialized leading_zeroes for a 32-bit type. - uint64_t r0 = vec.rindex(0); - return leading_zeroes(r0 << 32); -#endif - } - } - - // get the number of bits in the bigint. - int bit_length() const noexcept { - int lz = ctlz(); - return int(limb_bits * vec.len()) - lz; - } - - bool mul(limb y) noexcept { - return small_mul(vec, y); - } - - bool add(limb y) noexcept { - return small_add(vec, y); - } - - // multiply as if by 2 raised to a power. - bool pow2(uint32_t exp) noexcept { - return shl(exp); - } - - // multiply as if by 5 raised to a power. - bool pow5(uint32_t exp) noexcept { - // multiply by a power of 5 - static constexpr uint32_t large_step = 135; - static constexpr uint64_t small_power_of_5[] = { - 1UL, 5UL, 25UL, 125UL, 625UL, 3125UL, 15625UL, 78125UL, 390625UL, - 1953125UL, 9765625UL, 48828125UL, 244140625UL, 1220703125UL, - 6103515625UL, 30517578125UL, 152587890625UL, 762939453125UL, - 3814697265625UL, 19073486328125UL, 95367431640625UL, 476837158203125UL, - 2384185791015625UL, 11920928955078125UL, 59604644775390625UL, - 298023223876953125UL, 1490116119384765625UL, 7450580596923828125UL, - }; -#ifdef FASTFLOAT_64BIT_LIMB - constexpr static limb large_power_of_5[] = { - 1414648277510068013UL, 9180637584431281687UL, 4539964771860779200UL, - 10482974169319127550UL, 198276706040285095UL}; -#else - constexpr static limb large_power_of_5[] = { - 4279965485U, 329373468U, 4020270615U, 2137533757U, 4287402176U, - 1057042919U, 1071430142U, 2440757623U, 381945767U, 46164893U}; -#endif - size_t large_length = sizeof(large_power_of_5) / sizeof(limb); - limb_span large = limb_span(large_power_of_5, large_length); - while (exp >= large_step) { - FASTFLOAT_TRY(large_mul(vec, large)); - exp -= large_step; - } -#ifdef FASTFLOAT_64BIT_LIMB - uint32_t small_step = 27; - limb max_native = 7450580596923828125UL; -#else - uint32_t small_step = 13; - limb max_native = 1220703125U; -#endif - while (exp >= small_step) { - FASTFLOAT_TRY(small_mul(vec, max_native)); - exp -= small_step; - } - if (exp != 0) { - FASTFLOAT_TRY(small_mul(vec, limb(small_power_of_5[exp]))); - } - - return true; - } - - // multiply as if by 10 raised to a power. - bool pow10(uint32_t exp) noexcept { - FASTFLOAT_TRY(pow5(exp)); - return pow2(exp); - } -}; - -} // namespace fast_float - -#endif - - -#ifndef FASTFLOAT_ASCII_NUMBER_H -#define FASTFLOAT_ASCII_NUMBER_H - -//included above: -//#include -//included above: -//#include -//included above: -//#include -//included above: -//#include - - -namespace fast_float { - -// Next function can be micro-optimized, but compilers are entirely -// able to optimize it well. -fastfloat_really_inline bool is_integer(char c) noexcept { return c >= '0' && c <= '9'; } - -fastfloat_really_inline uint64_t byteswap(uint64_t val) { - return (val & 0xFF00000000000000) >> 56 - | (val & 0x00FF000000000000) >> 40 - | (val & 0x0000FF0000000000) >> 24 - | (val & 0x000000FF00000000) >> 8 - | (val & 0x00000000FF000000) << 8 - | (val & 0x0000000000FF0000) << 24 - | (val & 0x000000000000FF00) << 40 - | (val & 0x00000000000000FF) << 56; -} - -fastfloat_really_inline uint64_t read_u64(const char *chars) { - uint64_t val; - ::memcpy(&val, chars, sizeof(uint64_t)); -#if FASTFLOAT_IS_BIG_ENDIAN == 1 - // Need to read as-if the number was in little-endian order. - val = byteswap(val); -#endif - return val; -} - -fastfloat_really_inline void write_u64(uint8_t *chars, uint64_t val) { -#if FASTFLOAT_IS_BIG_ENDIAN == 1 - // Need to read as-if the number was in little-endian order. - val = byteswap(val); -#endif - ::memcpy(chars, &val, sizeof(uint64_t)); -} - -// credit @aqrit -fastfloat_really_inline uint32_t parse_eight_digits_unrolled(uint64_t val) { - const uint64_t mask = 0x000000FF000000FF; - const uint64_t mul1 = 0x000F424000000064; // 100 + (1000000ULL << 32) - const uint64_t mul2 = 0x0000271000000001; // 1 + (10000ULL << 32) - val -= 0x3030303030303030; - val = (val * 10) + (val >> 8); // val = (val * 2561) >> 8; - val = (((val & mask) * mul1) + (((val >> 16) & mask) * mul2)) >> 32; - return uint32_t(val); -} - -fastfloat_really_inline uint32_t parse_eight_digits_unrolled(const char *chars) noexcept { - return parse_eight_digits_unrolled(read_u64(chars)); -} - -// credit @aqrit -fastfloat_really_inline bool is_made_of_eight_digits_fast(uint64_t val) noexcept { - return !((((val + 0x4646464646464646) | (val - 0x3030303030303030)) & - 0x8080808080808080)); -} - -fastfloat_really_inline bool is_made_of_eight_digits_fast(const char *chars) noexcept { - return is_made_of_eight_digits_fast(read_u64(chars)); -} - -typedef span byte_span; - -struct parsed_number_string { - int64_t exponent{0}; - uint64_t mantissa{0}; - const char *lastmatch{nullptr}; - bool negative{false}; - bool valid{false}; - bool too_many_digits{false}; - // contains the range of the significant digits - byte_span integer{}; // non-nullable - byte_span fraction{}; // nullable -}; - -// Assuming that you use no more than 19 digits, this will -// parse an ASCII string. -fastfloat_really_inline -parsed_number_string parse_number_string(const char *p, const char *pend, parse_options options) noexcept { - const chars_format fmt = options.format; - const char decimal_point = options.decimal_point; - - parsed_number_string answer; - answer.valid = false; - answer.too_many_digits = false; - answer.negative = (*p == '-'); - if (*p == '-') { // C++17 20.19.3.(7.1) explicitly forbids '+' sign here - ++p; - if (p == pend) { - return answer; - } - if (!is_integer(*p) && (*p != decimal_point)) { // a sign must be followed by an integer or the dot - return answer; - } - } - const char *const start_digits = p; - - uint64_t i = 0; // an unsigned int avoids signed overflows (which are bad) - - while ((std::distance(p, pend) >= 8) && is_made_of_eight_digits_fast(p)) { - i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok - p += 8; - } - while ((p != pend) && is_integer(*p)) { - // a multiplication by 10 is cheaper than an arbitrary integer - // multiplication - i = 10 * i + - uint64_t(*p - '0'); // might overflow, we will handle the overflow later - ++p; - } - const char *const end_of_integer_part = p; - int64_t digit_count = int64_t(end_of_integer_part - start_digits); - answer.integer = byte_span(start_digits, size_t(digit_count)); - int64_t exponent = 0; - if ((p != pend) && (*p == decimal_point)) { - ++p; - const char* before = p; - // can occur at most twice without overflowing, but let it occur more, since - // for integers with many digits, digit parsing is the primary bottleneck. - while ((std::distance(p, pend) >= 8) && is_made_of_eight_digits_fast(p)) { - i = i * 100000000 + parse_eight_digits_unrolled(p); // in rare cases, this will overflow, but that's ok - p += 8; - } - while ((p != pend) && is_integer(*p)) { - uint8_t digit = uint8_t(*p - '0'); - ++p; - i = i * 10 + digit; // in rare cases, this will overflow, but that's ok - } - exponent = before - p; - answer.fraction = byte_span(before, size_t(p - before)); - digit_count -= exponent; - } - // we must have encountered at least one integer! - if (digit_count == 0) { - return answer; - } - int64_t exp_number = 0; // explicit exponential part - if ((fmt & chars_format::scientific) && (p != pend) && (('e' == *p) || ('E' == *p))) { - const char * location_of_e = p; - ++p; - bool neg_exp = false; - if ((p != pend) && ('-' == *p)) { - neg_exp = true; - ++p; - } else if ((p != pend) && ('+' == *p)) { // '+' on exponent is allowed by C++17 20.19.3.(7.1) - ++p; - } - if ((p == pend) || !is_integer(*p)) { - if(!(fmt & chars_format::fixed)) { - // We are in error. - return answer; - } - // Otherwise, we will be ignoring the 'e'. - p = location_of_e; - } else { - while ((p != pend) && is_integer(*p)) { - uint8_t digit = uint8_t(*p - '0'); - if (exp_number < 0x10000000) { - exp_number = 10 * exp_number + digit; - } - ++p; - } - if(neg_exp) { exp_number = - exp_number; } - exponent += exp_number; - } - } else { - // If it scientific and not fixed, we have to bail out. - if((fmt & chars_format::scientific) && !(fmt & chars_format::fixed)) { return answer; } - } - answer.lastmatch = p; - answer.valid = true; - - // If we frequently had to deal with long strings of digits, - // we could extend our code by using a 128-bit integer instead - // of a 64-bit integer. However, this is uncommon. - // - // We can deal with up to 19 digits. - if (digit_count > 19) { // this is uncommon - // It is possible that the integer had an overflow. - // We have to handle the case where we have 0.0000somenumber. - // We need to be mindful of the case where we only have zeroes... - // E.g., 0.000000000...000. - const char *start = start_digits; - while ((start != pend) && (*start == '0' || *start == decimal_point)) { - if(*start == '0') { digit_count --; } - start++; - } - if (digit_count > 19) { - answer.too_many_digits = true; - // Let us start again, this time, avoiding overflows. - // We don't need to check if is_integer, since we use the - // pre-tokenized spans from above. - i = 0; - p = answer.integer.ptr; - const char* int_end = p + answer.integer.len(); - const uint64_t minimal_nineteen_digit_integer{1000000000000000000}; - while((i < minimal_nineteen_digit_integer) && (p != int_end)) { - i = i * 10 + uint64_t(*p - '0'); - ++p; - } - if (i >= minimal_nineteen_digit_integer) { // We have a big integers - exponent = end_of_integer_part - p + exp_number; - } else { // We have a value with a fractional component. - p = answer.fraction.ptr; - const char* frac_end = p + answer.fraction.len(); - while((i < minimal_nineteen_digit_integer) && (p != frac_end)) { - i = i * 10 + uint64_t(*p - '0'); - ++p; - } - exponent = answer.fraction.ptr - p + exp_number; - } - // We have now corrected both exponent and i, to a truncated value - } - } - answer.exponent = exponent; - answer.mantissa = i; - return answer; -} - -} // namespace fast_float - -#endif - - -#ifndef FASTFLOAT_DIGIT_COMPARISON_H -#define FASTFLOAT_DIGIT_COMPARISON_H - -//included above: -//#include -//included above: -//#include -//included above: -//#include -//included above: -//#include - - -namespace fast_float { - -// 1e0 to 1e19 -constexpr static uint64_t powers_of_ten_uint64[] = { - 1UL, 10UL, 100UL, 1000UL, 10000UL, 100000UL, 1000000UL, 10000000UL, 100000000UL, - 1000000000UL, 10000000000UL, 100000000000UL, 1000000000000UL, 10000000000000UL, - 100000000000000UL, 1000000000000000UL, 10000000000000000UL, 100000000000000000UL, - 1000000000000000000UL, 10000000000000000000UL}; - -// calculate the exponent, in scientific notation, of the number. -// this algorithm is not even close to optimized, but it has no practical -// effect on performance: in order to have a faster algorithm, we'd need -// to slow down performance for faster algorithms, and this is still fast. -fastfloat_really_inline int32_t scientific_exponent(parsed_number_string& num) noexcept { - uint64_t mantissa = num.mantissa; - int32_t exponent = int32_t(num.exponent); - while (mantissa >= 10000) { - mantissa /= 10000; - exponent += 4; - } - while (mantissa >= 100) { - mantissa /= 100; - exponent += 2; - } - while (mantissa >= 10) { - mantissa /= 10; - exponent += 1; - } - return exponent; -} - -// this converts a native floating-point number to an extended-precision float. -template -fastfloat_really_inline adjusted_mantissa to_extended(T value) noexcept { - adjusted_mantissa am; - int32_t bias = binary_format::mantissa_explicit_bits() - binary_format::minimum_exponent(); - if (std::is_same::value) { - constexpr uint32_t exponent_mask = 0x7F800000; - constexpr uint32_t mantissa_mask = 0x007FFFFF; - constexpr uint64_t hidden_bit_mask = 0x00800000; - uint32_t bits; - ::memcpy(&bits, &value, sizeof(T)); - if ((bits & exponent_mask) == 0) { - // denormal - am.power2 = 1 - bias; - am.mantissa = bits & mantissa_mask; - } else { - // normal - am.power2 = int32_t((bits & exponent_mask) >> binary_format::mantissa_explicit_bits()); - am.power2 -= bias; - am.mantissa = (bits & mantissa_mask) | hidden_bit_mask; - } - } else { - constexpr uint64_t exponent_mask = 0x7FF0000000000000; - constexpr uint64_t mantissa_mask = 0x000FFFFFFFFFFFFF; - constexpr uint64_t hidden_bit_mask = 0x0010000000000000; - uint64_t bits; - ::memcpy(&bits, &value, sizeof(T)); - if ((bits & exponent_mask) == 0) { - // denormal - am.power2 = 1 - bias; - am.mantissa = bits & mantissa_mask; - } else { - // normal - am.power2 = int32_t((bits & exponent_mask) >> binary_format::mantissa_explicit_bits()); - am.power2 -= bias; - am.mantissa = (bits & mantissa_mask) | hidden_bit_mask; - } - } - - return am; -} - -// get the extended precision value of the halfway point between b and b+u. -// we are given a native float that represents b, so we need to adjust it -// halfway between b and b+u. -template -fastfloat_really_inline adjusted_mantissa to_extended_halfway(T value) noexcept { - adjusted_mantissa am = to_extended(value); - am.mantissa <<= 1; - am.mantissa += 1; - am.power2 -= 1; - return am; -} - -// round an extended-precision float to the nearest machine float. -template -fastfloat_really_inline void round(adjusted_mantissa& am, callback cb) noexcept { - int32_t mantissa_shift = 64 - binary_format::mantissa_explicit_bits() - 1; - if (-am.power2 >= mantissa_shift) { - // have a denormal float - int32_t shift = -am.power2 + 1; - cb(am, std::min(shift, 64)); - // check for round-up: if rounding-nearest carried us to the hidden bit. - am.power2 = (am.mantissa < (uint64_t(1) << binary_format::mantissa_explicit_bits())) ? 0 : 1; - return; - } - - // have a normal float, use the default shift. - cb(am, mantissa_shift); - - // check for carry - if (am.mantissa >= (uint64_t(2) << binary_format::mantissa_explicit_bits())) { - am.mantissa = (uint64_t(1) << binary_format::mantissa_explicit_bits()); - am.power2++; - } - - // check for infinite: we could have carried to an infinite power - am.mantissa &= ~(uint64_t(1) << binary_format::mantissa_explicit_bits()); - if (am.power2 >= binary_format::infinite_power()) { - am.power2 = binary_format::infinite_power(); - am.mantissa = 0; - } -} - -template -fastfloat_really_inline -void round_nearest_tie_even(adjusted_mantissa& am, int32_t shift, callback cb) noexcept { - uint64_t mask; - uint64_t halfway; - if (shift == 64) { - mask = UINT64_MAX; - } else { - mask = (uint64_t(1) << shift) - 1; - } - if (shift == 0) { - halfway = 0; - } else { - halfway = uint64_t(1) << (shift - 1); - } - uint64_t truncated_bits = am.mantissa & mask; - uint64_t is_above = truncated_bits > halfway; - uint64_t is_halfway = truncated_bits == halfway; - - // shift digits into position - if (shift == 64) { - am.mantissa = 0; - } else { - am.mantissa >>= shift; - } - am.power2 += shift; - - bool is_odd = (am.mantissa & 1) == 1; - am.mantissa += uint64_t(cb(is_odd, is_halfway, is_above)); -} - -fastfloat_really_inline void round_down(adjusted_mantissa& am, int32_t shift) noexcept { - if (shift == 64) { - am.mantissa = 0; - } else { - am.mantissa >>= shift; - } - am.power2 += shift; -} - -fastfloat_really_inline void skip_zeros(const char*& first, const char* last) noexcept { - uint64_t val; - while (std::distance(first, last) >= 8) { - ::memcpy(&val, first, sizeof(uint64_t)); - if (val != 0x3030303030303030) { - break; - } - first += 8; - } - while (first != last) { - if (*first != '0') { - break; - } - first++; - } -} - -// determine if any non-zero digits were truncated. -// all characters must be valid digits. -fastfloat_really_inline bool is_truncated(const char* first, const char* last) noexcept { - // do 8-bit optimizations, can just compare to 8 literal 0s. - uint64_t val; - while (std::distance(first, last) >= 8) { - ::memcpy(&val, first, sizeof(uint64_t)); - if (val != 0x3030303030303030) { - return true; - } - first += 8; - } - while (first != last) { - if (*first != '0') { - return true; - } - first++; - } - return false; -} - -fastfloat_really_inline bool is_truncated(byte_span s) noexcept { - return is_truncated(s.ptr, s.ptr + s.len()); -} - -fastfloat_really_inline -void parse_eight_digits(const char*& p, limb& value, size_t& counter, size_t& count) noexcept { - value = value * 100000000 + parse_eight_digits_unrolled(p); - p += 8; - counter += 8; - count += 8; -} - -fastfloat_really_inline -void parse_one_digit(const char*& p, limb& value, size_t& counter, size_t& count) noexcept { - value = value * 10 + limb(*p - '0'); - p++; - counter++; - count++; -} - -fastfloat_really_inline -void add_native(bigint& big, limb power, limb value) noexcept { - big.mul(power); - big.add(value); -} - -fastfloat_really_inline void round_up_bigint(bigint& big, size_t& count) noexcept { - // need to round-up the digits, but need to avoid rounding - // ....9999 to ...10000, which could cause a false halfway point. - add_native(big, 10, 1); - count++; -} - -// parse the significant digits into a big integer -inline void parse_mantissa(bigint& result, parsed_number_string& num, size_t max_digits, size_t& digits) noexcept { - // try to minimize the number of big integer and scalar multiplication. - // therefore, try to parse 8 digits at a time, and multiply by the largest - // scalar value (9 or 19 digits) for each step. - size_t counter = 0; - digits = 0; - limb value = 0; -#ifdef FASTFLOAT_64BIT_LIMB - size_t step = 19; -#else - size_t step = 9; -#endif - - // process all integer digits. - const char* p = num.integer.ptr; - const char* pend = p + num.integer.len(); - skip_zeros(p, pend); - // process all digits, in increments of step per loop - while (p != pend) { - while ((std::distance(p, pend) >= 8) && (step - counter >= 8) && (max_digits - digits >= 8)) { - parse_eight_digits(p, value, counter, digits); - } - while (counter < step && p != pend && digits < max_digits) { - parse_one_digit(p, value, counter, digits); - } - if (digits == max_digits) { - // add the temporary value, then check if we've truncated any digits - add_native(result, limb(powers_of_ten_uint64[counter]), value); - bool truncated = is_truncated(p, pend); - if (num.fraction.ptr != nullptr) { - truncated |= is_truncated(num.fraction); - } - if (truncated) { - round_up_bigint(result, digits); - } - return; - } else { - add_native(result, limb(powers_of_ten_uint64[counter]), value); - counter = 0; - value = 0; - } - } - - // add our fraction digits, if they're available. - if (num.fraction.ptr != nullptr) { - p = num.fraction.ptr; - pend = p + num.fraction.len(); - if (digits == 0) { - skip_zeros(p, pend); - } - // process all digits, in increments of step per loop - while (p != pend) { - while ((std::distance(p, pend) >= 8) && (step - counter >= 8) && (max_digits - digits >= 8)) { - parse_eight_digits(p, value, counter, digits); - } - while (counter < step && p != pend && digits < max_digits) { - parse_one_digit(p, value, counter, digits); - } - if (digits == max_digits) { - // add the temporary value, then check if we've truncated any digits - add_native(result, limb(powers_of_ten_uint64[counter]), value); - bool truncated = is_truncated(p, pend); - if (truncated) { - round_up_bigint(result, digits); - } - return; - } else { - add_native(result, limb(powers_of_ten_uint64[counter]), value); - counter = 0; - value = 0; - } - } - } - - if (counter != 0) { - add_native(result, limb(powers_of_ten_uint64[counter]), value); - } -} - -template -inline adjusted_mantissa positive_digit_comp(bigint& bigmant, int32_t exponent) noexcept { - FASTFLOAT_ASSERT(bigmant.pow10(uint32_t(exponent))); - adjusted_mantissa answer; - bool truncated; - answer.mantissa = bigmant.hi64(truncated); - int bias = binary_format::mantissa_explicit_bits() - binary_format::minimum_exponent(); - answer.power2 = bigmant.bit_length() - 64 + bias; - - round(answer, [truncated](adjusted_mantissa& a, int32_t shift) { - round_nearest_tie_even(a, shift, [truncated](bool is_odd, bool is_halfway, bool is_above) -> bool { - return is_above || (is_halfway && truncated) || (is_odd && is_halfway); - }); - }); - - return answer; -} - -// the scaling here is quite simple: we have, for the real digits `m * 10^e`, -// and for the theoretical digits `n * 2^f`. Since `e` is always negative, -// to scale them identically, we do `n * 2^f * 5^-f`, so we now have `m * 2^e`. -// we then need to scale by `2^(f- e)`, and then the two significant digits -// are of the same magnitude. -template -inline adjusted_mantissa negative_digit_comp(bigint& bigmant, adjusted_mantissa am, int32_t exponent) noexcept { - bigint& real_digits = bigmant; - int32_t real_exp = exponent; - - // get the value of `b`, rounded down, and get a bigint representation of b+h - adjusted_mantissa am_b = am; - // gcc7 buf: use a lambda to remove the noexcept qualifier bug with -Wnoexcept-type. - round(am_b, [](adjusted_mantissa&a, int32_t shift) { round_down(a, shift); }); - T b; - to_float(false, am_b, b); - adjusted_mantissa theor = to_extended_halfway(b); - bigint theor_digits(theor.mantissa); - int32_t theor_exp = theor.power2; - - // scale real digits and theor digits to be same power. - int32_t pow2_exp = theor_exp - real_exp; - uint32_t pow5_exp = uint32_t(-real_exp); - if (pow5_exp != 0) { - FASTFLOAT_ASSERT(theor_digits.pow5(pow5_exp)); - } - if (pow2_exp > 0) { - FASTFLOAT_ASSERT(theor_digits.pow2(uint32_t(pow2_exp))); - } else if (pow2_exp < 0) { - FASTFLOAT_ASSERT(real_digits.pow2(uint32_t(-pow2_exp))); - } - - // compare digits, and use it to director rounding - int ord = real_digits.compare(theor_digits); - adjusted_mantissa answer = am; - round(answer, [ord](adjusted_mantissa& a, int32_t shift) { - round_nearest_tie_even(a, shift, [ord](bool is_odd, bool _, bool __) -> bool { - (void)_; // not needed, since we've done our comparison - (void)__; // not needed, since we've done our comparison - if (ord > 0) { - return true; - } else if (ord < 0) { - return false; - } else { - return is_odd; - } - }); - }); - - return answer; -} - -// parse the significant digits as a big integer to unambiguously round the -// the significant digits. here, we are trying to determine how to round -// an extended float representation close to `b+h`, halfway between `b` -// (the float rounded-down) and `b+u`, the next positive float. this -// algorithm is always correct, and uses one of two approaches. when -// the exponent is positive relative to the significant digits (such as -// 1234), we create a big-integer representation, get the high 64-bits, -// determine if any lower bits are truncated, and use that to direct -// rounding. in case of a negative exponent relative to the significant -// digits (such as 1.2345), we create a theoretical representation of -// `b` as a big-integer type, scaled to the same binary exponent as -// the actual digits. we then compare the big integer representations -// of both, and use that to direct rounding. -template -inline adjusted_mantissa digit_comp(parsed_number_string& num, adjusted_mantissa am) noexcept { - // remove the invalid exponent bias - am.power2 -= invalid_am_bias; - - int32_t sci_exp = scientific_exponent(num); - size_t max_digits = binary_format::max_digits(); - size_t digits = 0; - bigint bigmant; - parse_mantissa(bigmant, num, max_digits, digits); - // can't underflow, since digits is at most max_digits. - int32_t exponent = sci_exp + 1 - int32_t(digits); - if (exponent >= 0) { - return positive_digit_comp(bigmant, exponent); - } else { - return negative_digit_comp(bigmant, am, exponent); - } -} - -} // namespace fast_float - -#endif - - -#ifndef FASTFLOAT_PARSE_NUMBER_H -#define FASTFLOAT_PARSE_NUMBER_H - - -//included above: -//#include -//included above: -//#include -//included above: -//#include -//included above: -//#include - -namespace fast_float { - - -namespace detail { -/** - * Special case +inf, -inf, nan, infinity, -infinity. - * The case comparisons could be made much faster given that we know that the - * strings a null-free and fixed. - **/ -template -from_chars_result parse_infnan(const char *first, const char *last, T &value) noexcept { - from_chars_result answer; - answer.ptr = first; - answer.ec = std::errc(); // be optimistic - bool minusSign = false; - if (*first == '-') { // assume first < last, so dereference without checks; C++17 20.19.3.(7.1) explicitly forbids '+' here - minusSign = true; - ++first; - } - if (last - first >= 3) { - if (fastfloat_strncasecmp(first, "nan", 3)) { - answer.ptr = (first += 3); - value = minusSign ? -std::numeric_limits::quiet_NaN() : std::numeric_limits::quiet_NaN(); - // Check for possible nan(n-char-seq-opt), C++17 20.19.3.7, C11 7.20.1.3.3. At least MSVC produces nan(ind) and nan(snan). - if(first != last && *first == '(') { - for(const char* ptr = first + 1; ptr != last; ++ptr) { - if (*ptr == ')') { - answer.ptr = ptr + 1; // valid nan(n-char-seq-opt) - break; - } - else if(!(('a' <= *ptr && *ptr <= 'z') || ('A' <= *ptr && *ptr <= 'Z') || ('0' <= *ptr && *ptr <= '9') || *ptr == '_')) - break; // forbidden char, not nan(n-char-seq-opt) - } - } - return answer; - } - if (fastfloat_strncasecmp(first, "inf", 3)) { - if ((last - first >= 8) && fastfloat_strncasecmp(first + 3, "inity", 5)) { - answer.ptr = first + 8; - } else { - answer.ptr = first + 3; - } - value = minusSign ? -std::numeric_limits::infinity() : std::numeric_limits::infinity(); - return answer; - } - } - answer.ec = std::errc::invalid_argument; - return answer; -} - -} // namespace detail - -template -from_chars_result from_chars(const char *first, const char *last, - T &value, chars_format fmt /*= chars_format::general*/) noexcept { - return from_chars_advanced(first, last, value, parse_options{fmt}); -} - -template -from_chars_result from_chars_advanced(const char *first, const char *last, - T &value, parse_options options) noexcept { - - static_assert (std::is_same::value || std::is_same::value, "only float and double are supported"); - - - from_chars_result answer; - if (first == last) { - answer.ec = std::errc::invalid_argument; - answer.ptr = first; - return answer; - } - parsed_number_string pns = parse_number_string(first, last, options); - if (!pns.valid) { - return detail::parse_infnan(first, last, value); - } - answer.ec = std::errc(); // be optimistic - answer.ptr = pns.lastmatch; - // Next is Clinger's fast path. - if (binary_format::min_exponent_fast_path() <= pns.exponent && pns.exponent <= binary_format::max_exponent_fast_path() && pns.mantissa <=binary_format::max_mantissa_fast_path() && !pns.too_many_digits) { - value = T(pns.mantissa); - if (pns.exponent < 0) { value = value / binary_format::exact_power_of_ten(-pns.exponent); } - else { value = value * binary_format::exact_power_of_ten(pns.exponent); } - if (pns.negative) { value = -value; } - return answer; - } - adjusted_mantissa am = compute_float>(pns.exponent, pns.mantissa); - if(pns.too_many_digits && am.power2 >= 0) { - if(am != compute_float>(pns.exponent, pns.mantissa + 1)) { - am = compute_error>(pns.exponent, pns.mantissa); - } - } - // If we called compute_float>(pns.exponent, pns.mantissa) and we have an invalid power (am.power2 < 0), - // then we need to go the long way around again. This is very uncommon. - if(am.power2 < 0) { am = digit_comp(pns, am); } - to_float(pns.negative, am, value); - return answer; -} - -} // namespace fast_float - -#endif - -#ifdef _MSC_VER -# pragma warning(pop) -#elif defined(__clang__) || defined(__APPLE_CC__) -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif // _C4_EXT_FAST_FLOAT_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/ext/fast_float.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/std/vector_fwd.hpp -// https://github.com/biojppm/c4core/src/c4/std/vector_fwd.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_STD_VECTOR_FWD_HPP_ -#define _C4_STD_VECTOR_FWD_HPP_ - -/** @file vector_fwd.hpp */ - -//included above: -//#include - -// forward declarations for std::vector -#if defined(__GLIBCXX__) || defined(__GLIBCPP__) || defined(_MSC_VER) -#if defined(_MSC_VER) -__pragma(warning(push)) -__pragma(warning(disable : 4643)) -#endif -namespace std { -template class allocator; -template class vector; -} // namespace std -#if defined(_MSC_VER) -__pragma(warning(pop)) -#endif -#elif defined(_LIBCPP_ABI_NAMESPACE) -namespace std { -inline namespace _LIBCPP_ABI_NAMESPACE { -template class allocator; -template class vector; -} // namespace _LIBCPP_ABI_NAMESPACE -} // namespace std -#else -#error "unknown standard library" -#endif - -#ifndef C4CORE_SINGLE_HEADER -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr_fwd.hpp -//#include "c4/substr_fwd.hpp" -#if !defined(C4_SUBSTR_FWD_HPP_) && !defined(_C4_SUBSTR_FWD_HPP_) -#error "amalgamate: file c4/substr_fwd.hpp must have been included at this point" -#endif /* C4_SUBSTR_FWD_HPP_ */ - -#endif - -namespace c4 { - -template c4::substr to_substr(std::vector &vec); -template c4::csubstr to_csubstr(std::vector const& vec); - -template bool operator!= (c4::csubstr ss, std::vector const& s); -template bool operator== (c4::csubstr ss, std::vector const& s); -template bool operator>= (c4::csubstr ss, std::vector const& s); -template bool operator> (c4::csubstr ss, std::vector const& s); -template bool operator<= (c4::csubstr ss, std::vector const& s); -template bool operator< (c4::csubstr ss, std::vector const& s); - -template bool operator!= (std::vector const& s, c4::csubstr ss); -template bool operator== (std::vector const& s, c4::csubstr ss); -template bool operator>= (std::vector const& s, c4::csubstr ss); -template bool operator> (std::vector const& s, c4::csubstr ss); -template bool operator<= (std::vector const& s, c4::csubstr ss); -template bool operator< (std::vector const& s, c4::csubstr ss); - -template size_t to_chars(c4::substr buf, std::vector const& s); -template bool from_chars(c4::csubstr buf, std::vector * s); - -} // namespace c4 - -#endif // _C4_STD_VECTOR_FWD_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/std/vector_fwd.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/std/string_fwd.hpp -// https://github.com/biojppm/c4core/src/c4/std/string_fwd.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_STD_STRING_FWD_HPP_ -#define _C4_STD_STRING_FWD_HPP_ - -/** @file string_fwd.hpp */ - -#ifndef DOXYGEN - -#ifndef C4CORE_SINGLE_HEADER -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr_fwd.hpp -//#include "c4/substr_fwd.hpp" -#if !defined(C4_SUBSTR_FWD_HPP_) && !defined(_C4_SUBSTR_FWD_HPP_) -#error "amalgamate: file c4/substr_fwd.hpp must have been included at this point" -#endif /* C4_SUBSTR_FWD_HPP_ */ - -#endif - -//included above: -//#include - -// forward declarations for std::string -#if defined(__GLIBCXX__) || defined(__GLIBCPP__) -#include // use the fwd header in glibcxx -#elif defined(_LIBCPP_VERSION) || defined(__APPLE_CC__) -#include // use the fwd header in stdlibc++ -#elif defined(_MSC_VER) -//! @todo is there a fwd header in msvc? -namespace std { -template struct char_traits; -template class allocator; -template class basic_string; -using string = basic_string, allocator>; -} /* namespace std */ -#else -#error "unknown standard library" -#endif - -namespace c4 { - -C4_ALWAYS_INLINE c4::substr to_substr(std::string &s) noexcept; -C4_ALWAYS_INLINE c4::csubstr to_csubstr(std::string const& s) noexcept; - -bool operator== (c4::csubstr ss, std::string const& s); -bool operator!= (c4::csubstr ss, std::string const& s); -bool operator>= (c4::csubstr ss, std::string const& s); -bool operator> (c4::csubstr ss, std::string const& s); -bool operator<= (c4::csubstr ss, std::string const& s); -bool operator< (c4::csubstr ss, std::string const& s); - -bool operator== (std::string const& s, c4::csubstr ss); -bool operator!= (std::string const& s, c4::csubstr ss); -bool operator>= (std::string const& s, c4::csubstr ss); -bool operator> (std::string const& s, c4::csubstr ss); -bool operator<= (std::string const& s, c4::csubstr ss); -bool operator< (std::string const& s, c4::csubstr ss); - -size_t to_chars(c4::substr buf, std::string const& s); -bool from_chars(c4::csubstr buf, std::string * s); - -} // namespace c4 - -#endif // DOXYGEN -#endif // _C4_STD_STRING_FWD_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/std/string_fwd.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/std/std_fwd.hpp -// https://github.com/biojppm/c4core/src/c4/std/std_fwd.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_STD_STD_FWD_HPP_ -#define _C4_STD_STD_FWD_HPP_ - -/** @file std_fwd.hpp includes all c4-std interop fwd files */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/std/vector_fwd.hpp -//#include "c4/std/vector_fwd.hpp" -#if !defined(C4_STD_VECTOR_FWD_HPP_) && !defined(_C4_STD_VECTOR_FWD_HPP_) -#error "amalgamate: file c4/std/vector_fwd.hpp must have been included at this point" -#endif /* C4_STD_VECTOR_FWD_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/std/string_fwd.hpp -//#include "c4/std/string_fwd.hpp" -#if !defined(C4_STD_STRING_FWD_HPP_) && !defined(_C4_STD_STRING_FWD_HPP_) -#error "amalgamate: file c4/std/string_fwd.hpp must have been included at this point" -#endif /* C4_STD_STRING_FWD_HPP_ */ - -//#include "c4/std/tuple_fwd.hpp" - -#endif // _C4_STD_STD_FWD_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/std/std_fwd.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/charconv.hpp -// https://github.com/biojppm/c4core/src/c4/charconv.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_CHARCONV_HPP_ -#define _C4_CHARCONV_HPP_ - -/** @file charconv.hpp Lightweight generic type-safe wrappers for - * converting individual values to/from strings. - * - * These are the main functions: - * - * @code{.cpp} - * // Convert the given value, writing into the string. - * // The resulting string will NOT be null-terminated. - * // Return the number of characters needed. - * // This function is safe to call when the string is too small - - * // no writes will occur beyond the string's last character. - * template size_t c4::to_chars(substr buf, T const& C4_RESTRICT val); - * - * - * // Convert the given value to a string using to_chars(), and - * // return the resulting string, up to and including the last - * // written character. - * template substr c4::to_chars_sub(substr buf, T const& C4_RESTRICT val); - * - * - * // Read a value from the string, which must be - * // trimmed to the value (ie, no leading/trailing whitespace). - * // return true if the conversion succeeded. - * // There is no check for overflow; the value wraps around in a way similar - * // to the standard C/C++ overflow behavior. For example, - * // from_chars("128", &val) returns true and val will be - * // set tot 0. - * template bool c4::from_chars(csubstr buf, T * C4_RESTRICT val); - * - * - * // Read the first valid sequence of characters from the string, - * // skipping leading whitespace, and convert it using from_chars(). - * // Return the number of characters read for converting. - * template size_t c4::from_chars_first(csubstr buf, T * C4_RESTRICT val); - * @endcode - */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/language.hpp -//#include "c4/language.hpp" -#if !defined(C4_LANGUAGE_HPP_) && !defined(_C4_LANGUAGE_HPP_) -#error "amalgamate: file c4/language.hpp must have been included at this point" -#endif /* C4_LANGUAGE_HPP_ */ - -//included above: -//#include -//included above: -//#include -//included above: -//#include -//included above: -//#include -//included above: -//#include - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr.hpp -//#include "c4/substr.hpp" -#if !defined(C4_SUBSTR_HPP_) && !defined(_C4_SUBSTR_HPP_) -#error "amalgamate: file c4/substr.hpp must have been included at this point" -#endif /* C4_SUBSTR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/std/std_fwd.hpp -//#include "c4/std/std_fwd.hpp" -#if !defined(C4_STD_STD_FWD_HPP_) && !defined(_C4_STD_STD_FWD_HPP_) -#error "amalgamate: file c4/std/std_fwd.hpp must have been included at this point" -#endif /* C4_STD_STD_FWD_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/memory_util.hpp -//#include "c4/memory_util.hpp" -#if !defined(C4_MEMORY_UTIL_HPP_) && !defined(_C4_MEMORY_UTIL_HPP_) -#error "amalgamate: file c4/memory_util.hpp must have been included at this point" -#endif /* C4_MEMORY_UTIL_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/szconv.hpp -//#include "c4/szconv.hpp" -#if !defined(C4_SZCONV_HPP_) && !defined(_C4_SZCONV_HPP_) -#error "amalgamate: file c4/szconv.hpp must have been included at this point" -#endif /* C4_SZCONV_HPP_ */ - - -#ifndef C4CORE_NO_FAST_FLOAT -# if (C4_CPP >= 17) -# if defined(_MSC_VER) -# if (C4_MSVC_VERSION >= C4_MSVC_VERSION_2019) // VS2017 and lower do not have these macros -# include -# define C4CORE_HAVE_STD_TOCHARS 1 -# define C4CORE_HAVE_STD_FROMCHARS 0 // prefer fast_float with MSVC -# define C4CORE_HAVE_FAST_FLOAT 1 -# else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# define C4CORE_HAVE_FAST_FLOAT 1 -# endif -# else -# if __has_include() -//included above: -//# include -# if defined(__cpp_lib_to_chars) -# define C4CORE_HAVE_STD_TOCHARS 1 -# define C4CORE_HAVE_STD_FROMCHARS 0 // glibc uses fast_float internally -# define C4CORE_HAVE_FAST_FLOAT 1 -# else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# define C4CORE_HAVE_FAST_FLOAT 1 -# endif -# else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# define C4CORE_HAVE_FAST_FLOAT 1 -# endif -# endif -# else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# define C4CORE_HAVE_FAST_FLOAT 1 -# endif -# if C4CORE_HAVE_FAST_FLOAT - C4_SUPPRESS_WARNING_GCC_WITH_PUSH("-Wsign-conversion") - C4_SUPPRESS_WARNING_GCC("-Warray-bounds") -# if __GNUC__ >= 5 - C4_SUPPRESS_WARNING_GCC("-Wshift-count-overflow") -# endif -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/ext/fast_float.hpp -//# include "c4/ext/fast_float.hpp" -#if !defined(C4_EXT_FAST_FLOAT_HPP_) && !defined(_C4_EXT_FAST_FLOAT_HPP_) -#error "amalgamate: file c4/ext/fast_float.hpp must have been included at this point" -#endif /* C4_EXT_FAST_FLOAT_HPP_ */ - - C4_SUPPRESS_WARNING_GCC_POP -# endif -#elif (C4_CPP >= 17) -# define C4CORE_HAVE_FAST_FLOAT 0 -# if defined(_MSC_VER) -# if (C4_MSVC_VERSION >= C4_MSVC_VERSION_2019) // VS2017 and lower do not have these macros -//included above: -//# include -# define C4CORE_HAVE_STD_TOCHARS 1 -# define C4CORE_HAVE_STD_FROMCHARS 1 -# else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# endif -# else -# if __has_include() -//included above: -//# include -# if defined(__cpp_lib_to_chars) -# define C4CORE_HAVE_STD_TOCHARS 1 -# define C4CORE_HAVE_STD_FROMCHARS 1 // glibc uses fast_float internally -# else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# endif -# else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# endif -# endif -#else -# define C4CORE_HAVE_STD_TOCHARS 0 -# define C4CORE_HAVE_STD_FROMCHARS 0 -# define C4CORE_HAVE_FAST_FLOAT 0 -#endif - - -#if !C4CORE_HAVE_STD_FROMCHARS -#include -#endif - - -#ifdef _MSC_VER -# pragma warning(push) -# if C4_MSVC_VERSION != C4_MSVC_VERSION_2017 -# pragma warning(disable: 4800) //'int': forcing value to bool 'true' or 'false' (performance warning) -# endif -# pragma warning(disable: 4996) // snprintf/scanf: this function or variable may be unsafe -#elif defined(__clang__) -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wtautological-constant-out-of-range-compare" -# pragma clang diagnostic ignored "-Wformat-nonliteral" -# pragma clang diagnostic ignored "-Wdouble-promotion" // implicit conversion increases floating-point precision -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wformat-nonliteral" -# pragma GCC diagnostic ignored "-Wdouble-promotion" // implicit conversion increases floating-point precision -# pragma GCC diagnostic ignored "-Wuseless-cast" -#endif - - -namespace c4 { - -#if C4CORE_HAVE_STD_TOCHARS -/** @warning Use only the symbol. Do not rely on the type or naked value of this enum. */ -typedef enum : std::underlying_type::type { - /** print the real number in floating point format (like %f) */ - FTOA_FLOAT = static_cast::type>(std::chars_format::fixed), - /** print the real number in scientific format (like %e) */ - FTOA_SCIENT = static_cast::type>(std::chars_format::scientific), - /** print the real number in flexible format (like %g) */ - FTOA_FLEX = static_cast::type>(std::chars_format::general), - /** print the real number in hexadecimal format (like %a) */ - FTOA_HEXA = static_cast::type>(std::chars_format::hex), -} RealFormat_e; -#else -/** @warning Use only the symbol. Do not rely on the type or naked value of this enum. */ -typedef enum : char { - /** print the real number in floating point format (like %f) */ - FTOA_FLOAT = 'f', - /** print the real number in scientific format (like %e) */ - FTOA_SCIENT = 'e', - /** print the real number in flexible format (like %g) */ - FTOA_FLEX = 'g', - /** print the real number in hexadecimal format (like %a) */ - FTOA_HEXA = 'a', -} RealFormat_e; -#endif - - -/** in some platforms, int,unsigned int - * are not any of int8_t...int64_t and - * long,unsigned long are not any of uint8_t...uint64_t */ -template -struct is_fixed_length -{ - enum : bool { - /** true if T is one of the fixed length signed types */ - value_i = (std::is_integral::value - && (std::is_same::value - || std::is_same::value - || std::is_same::value - || std::is_same::value)), - /** true if T is one of the fixed length unsigned types */ - value_u = (std::is_integral::value - && (std::is_same::value - || std::is_same::value - || std::is_same::value - || std::is_same::value)), - /** true if T is one of the fixed length signed or unsigned types */ - value = value_i || value_u - }; -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -#ifdef _MSC_VER -# pragma warning(push) -#elif defined(__clang__) -# pragma clang diagnostic push -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wconversion" -# if __GNUC__ >= 6 -# pragma GCC diagnostic ignored "-Wnull-dereference" -# endif -#endif - -namespace detail { - -/* python command to get the values below: -def dec(v): - return str(v) -for bits in (8, 16, 32, 64): - imin, imax, umax = (-(1 << (bits - 1))), (1 << (bits - 1)) - 1, (1 << bits) - 1 - for vname, v in (("imin", imin), ("imax", imax), ("umax", umax)): - for f in (bin, oct, dec, hex): - print(f"{bits}b: {vname}={v} {f.__name__}: len={len(f(v)):2d}: {v} {f(v)}") -*/ - -// do not use the type as the template argument because in some -// platforms long!=int32 and long!=int64. Just use the numbytes -// which is more generic and spares lengthy SFINAE code. -template struct charconv_digits_; -template using charconv_digits = charconv_digits_::value>; - -template<> struct charconv_digits_<1u, true> // int8_t -{ - enum : size_t { - maxdigits_bin = 1 + 2 + 8, // -128==-0b10000000 - maxdigits_oct = 1 + 2 + 3, // -128==-0o200 - maxdigits_dec = 1 + 3, // -128 - maxdigits_hex = 1 + 2 + 2, // -128==-0x80 - maxdigits_bin_nopfx = 8, // -128==-0b10000000 - maxdigits_oct_nopfx = 3, // -128==-0o200 - maxdigits_dec_nopfx = 3, // -128 - maxdigits_hex_nopfx = 2, // -128==-0x80 - }; - // min values without sign! - static constexpr csubstr min_value_dec() noexcept { return csubstr("128"); } - static constexpr csubstr min_value_hex() noexcept { return csubstr("80"); } - static constexpr csubstr min_value_oct() noexcept { return csubstr("200"); } - static constexpr csubstr min_value_bin() noexcept { return csubstr("10000000"); } - static constexpr csubstr max_value_dec() noexcept { return csubstr("127"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 3) || (str.len == 3 && str[0] <= '1')); } -}; -template<> struct charconv_digits_<1u, false> // uint8_t -{ - enum : size_t { - maxdigits_bin = 2 + 8, // 255 0b11111111 - maxdigits_oct = 2 + 3, // 255 0o377 - maxdigits_dec = 3, // 255 - maxdigits_hex = 2 + 2, // 255 0xff - maxdigits_bin_nopfx = 8, // 255 0b11111111 - maxdigits_oct_nopfx = 3, // 255 0o377 - maxdigits_dec_nopfx = 3, // 255 - maxdigits_hex_nopfx = 2, // 255 0xff - }; - static constexpr csubstr max_value_dec() noexcept { return csubstr("255"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 3) || (str.len == 3 && str[0] <= '3')); } -}; -template<> struct charconv_digits_<2u, true> // int16_t -{ - enum : size_t { - maxdigits_bin = 1 + 2 + 16, // -32768 -0b1000000000000000 - maxdigits_oct = 1 + 2 + 6, // -32768 -0o100000 - maxdigits_dec = 1 + 5, // -32768 -32768 - maxdigits_hex = 1 + 2 + 4, // -32768 -0x8000 - maxdigits_bin_nopfx = 16, // -32768 -0b1000000000000000 - maxdigits_oct_nopfx = 6, // -32768 -0o100000 - maxdigits_dec_nopfx = 5, // -32768 -32768 - maxdigits_hex_nopfx = 4, // -32768 -0x8000 - }; - // min values without sign! - static constexpr csubstr min_value_dec() noexcept { return csubstr("32768"); } - static constexpr csubstr min_value_hex() noexcept { return csubstr("8000"); } - static constexpr csubstr min_value_oct() noexcept { return csubstr("100000"); } - static constexpr csubstr min_value_bin() noexcept { return csubstr("1000000000000000"); } - static constexpr csubstr max_value_dec() noexcept { return csubstr("32767"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 6)); } -}; -template<> struct charconv_digits_<2u, false> // uint16_t -{ - enum : size_t { - maxdigits_bin = 2 + 16, // 65535 0b1111111111111111 - maxdigits_oct = 2 + 6, // 65535 0o177777 - maxdigits_dec = 6, // 65535 65535 - maxdigits_hex = 2 + 4, // 65535 0xffff - maxdigits_bin_nopfx = 16, // 65535 0b1111111111111111 - maxdigits_oct_nopfx = 6, // 65535 0o177777 - maxdigits_dec_nopfx = 6, // 65535 65535 - maxdigits_hex_nopfx = 4, // 65535 0xffff - }; - static constexpr csubstr max_value_dec() noexcept { return csubstr("65535"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 6) || (str.len == 6 && str[0] <= '1')); } -}; -template<> struct charconv_digits_<4u, true> // int32_t -{ - enum : size_t { - maxdigits_bin = 1 + 2 + 32, // len=35: -2147483648 -0b10000000000000000000000000000000 - maxdigits_oct = 1 + 2 + 11, // len=14: -2147483648 -0o20000000000 - maxdigits_dec = 1 + 10, // len=11: -2147483648 -2147483648 - maxdigits_hex = 1 + 2 + 8, // len=11: -2147483648 -0x80000000 - maxdigits_bin_nopfx = 32, // len=35: -2147483648 -0b10000000000000000000000000000000 - maxdigits_oct_nopfx = 11, // len=14: -2147483648 -0o20000000000 - maxdigits_dec_nopfx = 10, // len=11: -2147483648 -2147483648 - maxdigits_hex_nopfx = 8, // len=11: -2147483648 -0x80000000 - }; - // min values without sign! - static constexpr csubstr min_value_dec() noexcept { return csubstr("2147483648"); } - static constexpr csubstr min_value_hex() noexcept { return csubstr("80000000"); } - static constexpr csubstr min_value_oct() noexcept { return csubstr("20000000000"); } - static constexpr csubstr min_value_bin() noexcept { return csubstr("10000000000000000000000000000000"); } - static constexpr csubstr max_value_dec() noexcept { return csubstr("2147483647"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 11) || (str.len == 11 && str[0] <= '1')); } -}; -template<> struct charconv_digits_<4u, false> // uint32_t -{ - enum : size_t { - maxdigits_bin = 2 + 32, // len=34: 4294967295 0b11111111111111111111111111111111 - maxdigits_oct = 2 + 11, // len=13: 4294967295 0o37777777777 - maxdigits_dec = 10, // len=10: 4294967295 4294967295 - maxdigits_hex = 2 + 8, // len=10: 4294967295 0xffffffff - maxdigits_bin_nopfx = 32, // len=34: 4294967295 0b11111111111111111111111111111111 - maxdigits_oct_nopfx = 11, // len=13: 4294967295 0o37777777777 - maxdigits_dec_nopfx = 10, // len=10: 4294967295 4294967295 - maxdigits_hex_nopfx = 8, // len=10: 4294967295 0xffffffff - }; - static constexpr csubstr max_value_dec() noexcept { return csubstr("4294967295"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 11) || (str.len == 11 && str[0] <= '3')); } -}; -template<> struct charconv_digits_<8u, true> // int32_t -{ - enum : size_t { - maxdigits_bin = 1 + 2 + 64, // len=67: -9223372036854775808 -0b1000000000000000000000000000000000000000000000000000000000000000 - maxdigits_oct = 1 + 2 + 22, // len=25: -9223372036854775808 -0o1000000000000000000000 - maxdigits_dec = 1 + 19, // len=20: -9223372036854775808 -9223372036854775808 - maxdigits_hex = 1 + 2 + 16, // len=19: -9223372036854775808 -0x8000000000000000 - maxdigits_bin_nopfx = 64, // len=67: -9223372036854775808 -0b1000000000000000000000000000000000000000000000000000000000000000 - maxdigits_oct_nopfx = 22, // len=25: -9223372036854775808 -0o1000000000000000000000 - maxdigits_dec_nopfx = 19, // len=20: -9223372036854775808 -9223372036854775808 - maxdigits_hex_nopfx = 16, // len=19: -9223372036854775808 -0x8000000000000000 - }; - static constexpr csubstr min_value_dec() noexcept { return csubstr("9223372036854775808"); } - static constexpr csubstr min_value_hex() noexcept { return csubstr("8000000000000000"); } - static constexpr csubstr min_value_oct() noexcept { return csubstr("1000000000000000000000"); } - static constexpr csubstr min_value_bin() noexcept { return csubstr("1000000000000000000000000000000000000000000000000000000000000000"); } - static constexpr csubstr max_value_dec() noexcept { return csubstr("9223372036854775807"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 22)); } -}; -template<> struct charconv_digits_<8u, false> -{ - enum : size_t { - maxdigits_bin = 2 + 64, // len=66: 18446744073709551615 0b1111111111111111111111111111111111111111111111111111111111111111 - maxdigits_oct = 2 + 22, // len=24: 18446744073709551615 0o1777777777777777777777 - maxdigits_dec = 20, // len=20: 18446744073709551615 18446744073709551615 - maxdigits_hex = 2 + 16, // len=18: 18446744073709551615 0xffffffffffffffff - maxdigits_bin_nopfx = 64, // len=66: 18446744073709551615 0b1111111111111111111111111111111111111111111111111111111111111111 - maxdigits_oct_nopfx = 22, // len=24: 18446744073709551615 0o1777777777777777777777 - maxdigits_dec_nopfx = 20, // len=20: 18446744073709551615 18446744073709551615 - maxdigits_hex_nopfx = 16, // len=18: 18446744073709551615 0xffffffffffffffff - }; - static constexpr csubstr max_value_dec() noexcept { return csubstr("18446744073709551615"); } - static constexpr bool is_oct_overflow(csubstr str) noexcept { return !((str.len < 22) || (str.len == 22 && str[0] <= '1')); } -}; -} // namespace detail - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -// Helper macros, undefined below -#define _c4append(c) { if(C4_LIKELY(pos < buf.len)) { buf.str[pos++] = static_cast(c); } else { ++pos; } } -#define _c4appendhex(i) { if(C4_LIKELY(pos < buf.len)) { buf.str[pos++] = hexchars[i]; } else { ++pos; } } - -/** @name digits_dec return the number of digits required to encode a - * decimal number. - * - * @note At first sight this code may look heavily branchy and - * therefore inefficient. However, measurements revealed this to be - * the fastest among the alternatives. - * - * @see https://github.com/biojppm/c4core/pull/77 */ -/** @{ */ - -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE -auto digits_dec(T v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - return ((v >= 100) ? 3u : ((v >= 10) ? 2u : 1u)); -} - -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE -auto digits_dec(T v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - return ((v >= 10000) ? 5u : (v >= 1000) ? 4u : (v >= 100) ? 3u : (v >= 10) ? 2u : 1u); -} - -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE -auto digits_dec(T v) noexcept - -> typename std::enable_if::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - return ((v >= 1000000000) ? 10u : (v >= 100000000) ? 9u : (v >= 10000000) ? 8u : - (v >= 1000000) ? 7u : (v >= 100000) ? 6u : (v >= 10000) ? 5u : - (v >= 1000) ? 4u : (v >= 100) ? 3u : (v >= 10) ? 2u : 1u); -} - -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE -auto digits_dec(T v) noexcept - -> typename std::enable_if::type -{ - // thanks @fargies!!! - // https://github.com/biojppm/c4core/pull/77#issuecomment-1063753568 - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - if(v >= 1000000000) // 10 - { - if(v >= 100000000000000) // 15 [15-20] range - { - if(v >= 100000000000000000) // 18 (15 + (20 - 15) / 2) - { - if((typename std::make_unsigned::type)v >= 10000000000000000000u) // 20 - return 20u; - else - return (v >= 1000000000000000000) ? 19u : 18u; - } - else if(v >= 10000000000000000) // 17 - return 17u; - else - return(v >= 1000000000000000) ? 16u : 15u; - } - else if(v >= 1000000000000) // 13 - return (v >= 10000000000000) ? 14u : 13u; - else if(v >= 100000000000) // 12 - return 12; - else - return(v >= 10000000000) ? 11u : 10u; - } - else if(v >= 10000) // 5 [5-9] range - { - if(v >= 10000000) // 8 - return (v >= 100000000) ? 9u : 8u; - else if(v >= 1000000) // 7 - return 7; - else - return (v >= 100000) ? 6u : 5u; - } - else if(v >= 100) - return (v >= 1000) ? 4u : 3u; - else - return (v >= 10) ? 2u : 1u; -} - -/** @} */ - - -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE unsigned digits_hex(T v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - return v ? 1u + (msb((typename std::make_unsigned::type)v) >> 2u) : 1u; -} - -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE unsigned digits_bin(T v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - return v ? 1u + msb((typename std::make_unsigned::type)v) : 1u; -} - -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE unsigned digits_oct(T v_) noexcept -{ - // TODO: is there a better way? - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v_ >= 0); - using U = typename - std::conditional::type>::type; - U v = (U) v_; // safe because we require v_ >= 0 - unsigned __n = 1; - const unsigned __b2 = 64u; - const unsigned __b3 = __b2 * 8u; - const unsigned long __b4 = __b3 * 8u; - while(true) - { - if(v < 8u) - return __n; - if(v < __b2) - return __n + 1; - if(v < __b3) - return __n + 2; - if(v < __b4) - return __n + 3; - v /= (U) __b4; - __n += 4; - } -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { -C4_INLINE_CONSTEXPR const char hexchars[] = "0123456789abcdef"; -C4_INLINE_CONSTEXPR const char digits0099[] = - "0001020304050607080910111213141516171819" - "2021222324252627282930313233343536373839" - "4041424344454647484950515253545556575859" - "6061626364656667686970717273747576777879" - "8081828384858687888990919293949596979899"; -} // namespace detail - -C4_SUPPRESS_WARNING_GCC_PUSH -C4_SUPPRESS_WARNING_GCC("-Warray-bounds") // gcc has false positives here -#if (defined(__GNUC__) && (__GNUC__ >= 7)) -C4_SUPPRESS_WARNING_GCC("-Wstringop-overflow") // gcc has false positives here -#endif - -template -C4_HOT C4_ALWAYS_INLINE -void write_dec_unchecked(substr buf, T v, unsigned digits_v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - C4_ASSERT(buf.len >= digits_v); - C4_XASSERT(digits_v == digits_dec(v)); - // in bm_xtoa: checkoncelog_singlediv_write2 - while(v >= T(100)) - { - const T quo = v / T(100); - const auto num = (v - quo * T(100)) << 1u; - v = quo; - buf.str[--digits_v] = detail::digits0099[num + 1]; - buf.str[--digits_v] = detail::digits0099[num]; - } - if(v >= T(10)) - { - C4_ASSERT(digits_v == 2); - const auto num = v << 1u; - buf.str[1] = detail::digits0099[num + 1]; - buf.str[0] = detail::digits0099[num]; - } - else - { - C4_ASSERT(digits_v == 1); - buf.str[0] = (char)('0' + v); - } -} - - -template -C4_HOT C4_ALWAYS_INLINE -void write_hex_unchecked(substr buf, T v, unsigned digits_v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - C4_ASSERT(buf.len >= digits_v); - C4_XASSERT(digits_v == digits_hex(v)); - do { - buf.str[--digits_v] = detail::hexchars[v & T(15)]; - v >>= 4; - } while(v); - C4_ASSERT(digits_v == 0); -} - - -template -C4_HOT C4_ALWAYS_INLINE -void write_oct_unchecked(substr buf, T v, unsigned digits_v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - C4_ASSERT(buf.len >= digits_v); - C4_XASSERT(digits_v == digits_oct(v)); - do { - buf.str[--digits_v] = (char)('0' + (v & T(7))); - v >>= 3; - } while(v); - C4_ASSERT(digits_v == 0); -} - - -template -C4_HOT C4_ALWAYS_INLINE -void write_bin_unchecked(substr buf, T v, unsigned digits_v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - C4_ASSERT(buf.len >= digits_v); - C4_XASSERT(digits_v == digits_bin(v)); - do { - buf.str[--digits_v] = (char)('0' + (v & T(1))); - v >>= 1; - } while(v); - C4_ASSERT(digits_v == 0); -} - - -/** write an integer to a string in decimal format. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the required size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t write_dec(substr buf, T v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - unsigned digits = digits_dec(v); - if(C4_LIKELY(buf.len >= digits)) - write_dec_unchecked(buf, v, digits); - return digits; -} - -/** write an integer to a string in hexadecimal format. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note does not prefix with 0x - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the required size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t write_hex(substr buf, T v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - unsigned digits = digits_hex(v); - if(C4_LIKELY(buf.len >= digits)) - write_hex_unchecked(buf, v, digits); - return digits; -} - -/** write an integer to a string in octal format. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note does not prefix with 0o - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the required size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t write_oct(substr buf, T v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - unsigned digits = digits_oct(v); - if(C4_LIKELY(buf.len >= digits)) - write_oct_unchecked(buf, v, digits); - return digits; -} - -/** write an integer to a string in binary format. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note does not prefix with 0b - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the required size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t write_bin(substr buf, T v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(v >= 0); - unsigned digits = digits_bin(v); - C4_ASSERT(digits > 0); - if(C4_LIKELY(buf.len >= digits)) - write_bin_unchecked(buf, v, digits); - return digits; -} - - -namespace detail { -template using NumberWriter = size_t (*)(substr, U); -template writer> -size_t write_num_digits(substr buf, T v, size_t num_digits) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - size_t ret = writer(buf, v); - if(ret >= num_digits) - return ret; - else if(ret >= buf.len || num_digits > buf.len) - return num_digits; - C4_ASSERT(num_digits >= ret); - size_t delta = static_cast(num_digits - ret); - memmove(buf.str + delta, buf.str, ret); - memset(buf.str, '0', delta); - return num_digits; -} -} // namespace detail - - -/** same as c4::write_dec(), but pad with zeroes on the left - * such that the resulting string is @p num_digits wide. - * If the given number is requires more than num_digits, then the number prevails. */ -template -C4_ALWAYS_INLINE size_t write_dec(substr buf, T val, size_t num_digits) noexcept -{ - return detail::write_num_digits>(buf, val, num_digits); -} - -/** same as c4::write_hex(), but pad with zeroes on the left - * such that the resulting string is @p num_digits wide. - * If the given number is requires more than num_digits, then the number prevails. */ -template -C4_ALWAYS_INLINE size_t write_hex(substr buf, T val, size_t num_digits) noexcept -{ - return detail::write_num_digits>(buf, val, num_digits); -} - -/** same as c4::write_bin(), but pad with zeroes on the left - * such that the resulting string is @p num_digits wide. - * If the given number is requires more than num_digits, then the number prevails. */ -template -C4_ALWAYS_INLINE size_t write_bin(substr buf, T val, size_t num_digits) noexcept -{ - return detail::write_num_digits>(buf, val, num_digits); -} - -/** same as c4::write_oct(), but pad with zeroes on the left - * such that the resulting string is @p num_digits wide. - * If the given number is requires more than num_digits, then the number prevails. */ -template -C4_ALWAYS_INLINE size_t write_oct(substr buf, T val, size_t num_digits) noexcept -{ - return detail::write_num_digits>(buf, val, num_digits); -} - -C4_SUPPRESS_WARNING_GCC_POP - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** read a decimal integer from a string. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note The string must be trimmed. Whitespace is not accepted. - * @note the string must not be empty - * @note there is no check for overflow; the value wraps around - * in a way similar to the standard C/C++ overflow behavior. - * For example, `read_dec("128", &val)` returns true - * and val will be set to 0 because 127 is the max i8 value. - * @see overflows() to find out if a number string overflows a type range - * @return true if the conversion was successful (no overflow check) */ -template -C4_ALWAYS_INLINE bool read_dec(csubstr s, I *C4_RESTRICT v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(!s.empty()); - *v = 0; - for(char c : s) - { - if(C4_UNLIKELY(c < '0' || c > '9')) - return false; - *v = (*v) * I(10) + (I(c) - I('0')); - } - return true; -} - -/** read an hexadecimal integer from a string. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note does not accept leading 0x or 0X - * @note the string must not be empty - * @note the string must be trimmed. Whitespace is not accepted. - * @note there is no check for overflow; the value wraps around - * in a way similar to the standard C/C++ overflow behavior. - * For example, `read_hex("80", &val)` returns true - * and val will be set to 0 because 7f is the max i8 value. - * @see overflows() to find out if a number string overflows a type range - * @return true if the conversion was successful (no overflow check) */ -template -C4_ALWAYS_INLINE bool read_hex(csubstr s, I *C4_RESTRICT v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(!s.empty()); - *v = 0; - for(char c : s) - { - I cv; - if(c >= '0' && c <= '9') - cv = I(c) - I('0'); - else if(c >= 'a' && c <= 'f') - cv = I(10) + (I(c) - I('a')); - else if(c >= 'A' && c <= 'F') - cv = I(10) + (I(c) - I('A')); - else - return false; - *v = (*v) * I(16) + cv; - } - return true; -} - -/** read a binary integer from a string. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note does not accept leading 0b or 0B - * @note the string must not be empty - * @note the string must be trimmed. Whitespace is not accepted. - * @note there is no check for overflow; the value wraps around - * in a way similar to the standard C/C++ overflow behavior. - * For example, `read_bin("10000000", &val)` returns true - * and val will be set to 0 because 1111111 is the max i8 value. - * @see overflows() to find out if a number string overflows a type range - * @return true if the conversion was successful (no overflow check) */ -template -C4_ALWAYS_INLINE bool read_bin(csubstr s, I *C4_RESTRICT v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(!s.empty()); - *v = 0; - for(char c : s) - { - *v <<= 1; - if(c == '1') - *v |= 1; - else if(c != '0') - return false; - } - return true; -} - -/** read an octal integer from a string. This is the - * lowest level (and the fastest) function to do this task. - * @note does not accept negative numbers - * @note does not accept leading 0o or 0O - * @note the string must not be empty - * @note the string must be trimmed. Whitespace is not accepted. - * @note there is no check for overflow; the value wraps around - * in a way similar to the standard C/C++ overflow behavior. - * For example, `read_oct("200", &val)` returns true - * and val will be set to 0 because 177 is the max i8 value. - * @see overflows() to find out if a number string overflows a type range - * @return true if the conversion was successful (no overflow check) */ -template -C4_ALWAYS_INLINE bool read_oct(csubstr s, I *C4_RESTRICT v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_ASSERT(!s.empty()); - *v = 0; - for(char c : s) - { - if(C4_UNLIKELY(c < '0' || c > '7')) - return false; - *v = (*v) * I(8) + (I(c) - I('0')); - } - return true; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { -inline size_t _itoa2buf(substr buf, size_t pos, csubstr val) noexcept -{ - C4_ASSERT(pos + val.len <= buf.len); - memcpy(buf.str + pos, val.str, val.len); - return pos + val.len; -} -inline size_t _itoa2bufwithdigits(substr buf, size_t pos, size_t num_digits, csubstr val) noexcept -{ - num_digits = num_digits > val.len ? num_digits - val.len : 0; - C4_ASSERT(num_digits + val.len <= buf.len); - for(size_t i = 0; i < num_digits; ++i) - _c4append('0'); - return detail::_itoa2buf(buf, pos, val); -} -template -C4_NO_INLINE size_t _itoadec2buf(substr buf) noexcept -{ - using digits_type = detail::charconv_digits; - if(C4_UNLIKELY(buf.len < digits_type::maxdigits_dec)) - return digits_type::maxdigits_dec; - buf.str[0] = '-'; - return detail::_itoa2buf(buf, 1, digits_type::min_value_dec()); -} -template -C4_NO_INLINE size_t _itoa2buf(substr buf, I radix) noexcept -{ - using digits_type = detail::charconv_digits; - size_t pos = 0; - if(C4_LIKELY(buf.len > 0)) - buf.str[pos++] = '-'; - switch(radix) - { - case I(10): - if(C4_UNLIKELY(buf.len < digits_type::maxdigits_dec)) - return digits_type::maxdigits_dec; - pos =_itoa2buf(buf, pos, digits_type::min_value_dec()); - break; - case I(16): - if(C4_UNLIKELY(buf.len < digits_type::maxdigits_hex)) - return digits_type::maxdigits_hex; - buf.str[pos++] = '0'; - buf.str[pos++] = 'x'; - pos = _itoa2buf(buf, pos, digits_type::min_value_hex()); - break; - case I( 2): - if(C4_UNLIKELY(buf.len < digits_type::maxdigits_bin)) - return digits_type::maxdigits_bin; - buf.str[pos++] = '0'; - buf.str[pos++] = 'b'; - pos = _itoa2buf(buf, pos, digits_type::min_value_bin()); - break; - case I( 8): - if(C4_UNLIKELY(buf.len < digits_type::maxdigits_oct)) - return digits_type::maxdigits_oct; - buf.str[pos++] = '0'; - buf.str[pos++] = 'o'; - pos = _itoa2buf(buf, pos, digits_type::min_value_oct()); - break; - } - return pos; -} -template -C4_NO_INLINE size_t _itoa2buf(substr buf, I radix, size_t num_digits) noexcept -{ - using digits_type = detail::charconv_digits; - size_t pos = 0; - size_t needed_digits = 0; - if(C4_LIKELY(buf.len > 0)) - buf.str[pos++] = '-'; - switch(radix) - { - case I(10): - // add 1 to account for - - needed_digits = num_digits+1 > digits_type::maxdigits_dec ? num_digits+1 : digits_type::maxdigits_dec; - if(C4_UNLIKELY(buf.len < needed_digits)) - return needed_digits; - pos = _itoa2bufwithdigits(buf, pos, num_digits, digits_type::min_value_dec()); - break; - case I(16): - // add 3 to account for -0x - needed_digits = num_digits+3 > digits_type::maxdigits_hex ? num_digits+3 : digits_type::maxdigits_hex; - if(C4_UNLIKELY(buf.len < needed_digits)) - return needed_digits; - buf.str[pos++] = '0'; - buf.str[pos++] = 'x'; - pos = _itoa2bufwithdigits(buf, pos, num_digits, digits_type::min_value_hex()); - break; - case I( 2): - // add 3 to account for -0b - needed_digits = num_digits+3 > digits_type::maxdigits_bin ? num_digits+3 : digits_type::maxdigits_bin; - if(C4_UNLIKELY(buf.len < needed_digits)) - return needed_digits; - C4_ASSERT(buf.len >= digits_type::maxdigits_bin); - buf.str[pos++] = '0'; - buf.str[pos++] = 'b'; - pos = _itoa2bufwithdigits(buf, pos, num_digits, digits_type::min_value_bin()); - break; - case I( 8): - // add 3 to account for -0o - needed_digits = num_digits+3 > digits_type::maxdigits_oct ? num_digits+3 : digits_type::maxdigits_oct; - if(C4_UNLIKELY(buf.len < needed_digits)) - return needed_digits; - C4_ASSERT(buf.len >= digits_type::maxdigits_oct); - buf.str[pos++] = '0'; - buf.str[pos++] = 'o'; - pos = _itoa2bufwithdigits(buf, pos, num_digits, digits_type::min_value_oct()); - break; - } - return pos; -} -} // namespace detail - - -/** convert an integral signed decimal to a string. - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the needed size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t itoa(substr buf, T v) noexcept -{ - C4_STATIC_ASSERT(std::is_signed::value); - if(v >= T(0)) - { - // write_dec() checks the buffer size, so no need to check here - return write_dec(buf, v); - } - // when T is the min value (eg i8: -128), negating it - // will overflow, so treat the min as a special case - else if(C4_LIKELY(v != std::numeric_limits::min())) - { - v = -v; - unsigned digits = digits_dec(v); - if(C4_LIKELY(buf.len >= digits + 1u)) - { - buf.str[0] = '-'; - write_dec_unchecked(buf.sub(1), v, digits); - } - return digits + 1u; - } - return detail::_itoadec2buf(buf); -} - -/** convert an integral signed integer to a string, using a specific - * radix. The radix must be 2, 8, 10 or 16. - * - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the needed size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t itoa(substr buf, T v, T radix) noexcept -{ - C4_STATIC_ASSERT(std::is_signed::value); - C4_ASSERT(radix == 2 || radix == 8 || radix == 10 || radix == 16); - C4_SUPPRESS_WARNING_GCC_PUSH - #if (defined(__GNUC__) && (__GNUC__ >= 7)) - C4_SUPPRESS_WARNING_GCC("-Wstringop-overflow") // gcc has a false positive here - #endif - // when T is the min value (eg i8: -128), negating it - // will overflow, so treat the min as a special case - if(C4_LIKELY(v != std::numeric_limits::min())) - { - unsigned pos = 0; - if(v < 0) - { - v = -v; - if(C4_LIKELY(buf.len > 0)) - buf.str[pos] = '-'; - ++pos; - } - unsigned digits = 0; - switch(radix) - { - case T(10): - digits = digits_dec(v); - if(C4_LIKELY(buf.len >= pos + digits)) - write_dec_unchecked(buf.sub(pos), v, digits); - break; - case T(16): - digits = digits_hex(v); - if(C4_LIKELY(buf.len >= pos + 2u + digits)) - { - buf.str[pos + 0] = '0'; - buf.str[pos + 1] = 'x'; - write_hex_unchecked(buf.sub(pos + 2), v, digits); - } - digits += 2u; - break; - case T(2): - digits = digits_bin(v); - if(C4_LIKELY(buf.len >= pos + 2u + digits)) - { - buf.str[pos + 0] = '0'; - buf.str[pos + 1] = 'b'; - write_bin_unchecked(buf.sub(pos + 2), v, digits); - } - digits += 2u; - break; - case T(8): - digits = digits_oct(v); - if(C4_LIKELY(buf.len >= pos + 2u + digits)) - { - buf.str[pos + 0] = '0'; - buf.str[pos + 1] = 'o'; - write_oct_unchecked(buf.sub(pos + 2), v, digits); - } - digits += 2u; - break; - } - return pos + digits; - } - C4_SUPPRESS_WARNING_GCC_POP - // when T is the min value (eg i8: -128), negating it - // will overflow - return detail::_itoa2buf(buf, radix); -} - - -/** same as c4::itoa(), but pad with zeroes on the left such that the - * resulting string is @p num_digits wide, not accounting for radix - * prefix (0x,0o,0b). The @p radix must be 2, 8, 10 or 16. - * - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the needed size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t itoa(substr buf, T v, T radix, size_t num_digits) noexcept -{ - C4_STATIC_ASSERT(std::is_signed::value); - C4_ASSERT(radix == 2 || radix == 8 || radix == 10 || radix == 16); - C4_SUPPRESS_WARNING_GCC_PUSH - #if (defined(__GNUC__) && (__GNUC__ >= 7)) - C4_SUPPRESS_WARNING_GCC("-Wstringop-overflow") // gcc has a false positive here - #endif - // when T is the min value (eg i8: -128), negating it - // will overflow, so treat the min as a special case - if(C4_LIKELY(v != std::numeric_limits::min())) - { - unsigned pos = 0; - if(v < 0) - { - v = -v; - if(C4_LIKELY(buf.len > 0)) - buf.str[pos] = '-'; - ++pos; - } - unsigned total_digits = 0; - switch(radix) - { - case T(10): - total_digits = digits_dec(v); - total_digits = pos + (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - write_dec(buf.sub(pos), v, num_digits); - break; - case T(16): - total_digits = digits_hex(v); - total_digits = pos + 2u + (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - { - buf.str[pos + 0] = '0'; - buf.str[pos + 1] = 'x'; - write_hex(buf.sub(pos + 2), v, num_digits); - } - break; - case T(2): - total_digits = digits_bin(v); - total_digits = pos + 2u + (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - { - buf.str[pos + 0] = '0'; - buf.str[pos + 1] = 'b'; - write_bin(buf.sub(pos + 2), v, num_digits); - } - break; - case T(8): - total_digits = digits_oct(v); - total_digits = pos + 2u + (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - { - buf.str[pos + 0] = '0'; - buf.str[pos + 1] = 'o'; - write_oct(buf.sub(pos + 2), v, num_digits); - } - break; - } - return total_digits; - } - C4_SUPPRESS_WARNING_GCC_POP - // when T is the min value (eg i8: -128), negating it - // will overflow - return detail::_itoa2buf(buf, radix, num_digits); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** convert an integral unsigned decimal to a string. - * - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the needed size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t utoa(substr buf, T v) noexcept -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - // write_dec() does the buffer length check, so no need to check here - return write_dec(buf, v); -} - -/** convert an integral unsigned integer to a string, using a specific - * radix. The radix must be 2, 8, 10 or 16. - * - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the needed size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t utoa(substr buf, T v, T radix) noexcept -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(radix == 10 || radix == 16 || radix == 2 || radix == 8); - unsigned digits = 0; - switch(radix) - { - case T(10): - digits = digits_dec(v); - if(C4_LIKELY(buf.len >= digits)) - write_dec_unchecked(buf, v, digits); - break; - case T(16): - digits = digits_hex(v); - if(C4_LIKELY(buf.len >= digits+2u)) - { - buf.str[0] = '0'; - buf.str[1] = 'x'; - write_hex_unchecked(buf.sub(2), v, digits); - } - digits += 2u; - break; - case T(2): - digits = digits_bin(v); - if(C4_LIKELY(buf.len >= digits+2u)) - { - buf.str[0] = '0'; - buf.str[1] = 'b'; - write_bin_unchecked(buf.sub(2), v, digits); - } - digits += 2u; - break; - case T(8): - digits = digits_oct(v); - if(C4_LIKELY(buf.len >= digits+2u)) - { - buf.str[0] = '0'; - buf.str[1] = 'o'; - write_oct_unchecked(buf.sub(2), v, digits); - } - digits += 2u; - break; - } - return digits; -} - -/** same as c4::utoa(), but pad with zeroes on the left such that the - * resulting string is @p num_digits wide. The @p radix must be 2, - * 8, 10 or 16. - * - * @note the resulting string is NOT zero-terminated. - * @note it is ok to call this with an empty or too-small buffer; - * no writes will occur, and the needed size will be returned - * @return the number of characters required for the buffer. */ -template -C4_ALWAYS_INLINE size_t utoa(substr buf, T v, T radix, size_t num_digits) noexcept -{ - C4_STATIC_ASSERT(std::is_unsigned::value); - C4_ASSERT(radix == 10 || radix == 16 || radix == 2 || radix == 8); - unsigned total_digits = 0; - switch(radix) - { - case T(10): - total_digits = digits_dec(v); - total_digits = (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - write_dec(buf, v, num_digits); - break; - case T(16): - total_digits = digits_hex(v); - total_digits = 2u + (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - { - buf.str[0] = '0'; - buf.str[1] = 'x'; - write_hex(buf.sub(2), v, num_digits); - } - break; - case T(2): - total_digits = digits_bin(v); - total_digits = 2u + (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - { - buf.str[0] = '0'; - buf.str[1] = 'b'; - write_bin(buf.sub(2), v, num_digits); - } - break; - case T(8): - total_digits = digits_oct(v); - total_digits = 2u + (unsigned)(num_digits > total_digits ? num_digits : total_digits); - if(C4_LIKELY(buf.len >= total_digits)) - { - buf.str[0] = '0'; - buf.str[1] = 'o'; - write_oct(buf.sub(2), v, num_digits); - } - break; - } - return total_digits; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** Convert a trimmed string to a signed integral value. The input - * string can be formatted as decimal, binary (prefix 0b or 0B), octal - * (prefix 0o or 0O) or hexadecimal (prefix 0x or 0X). Strings with - * leading zeroes are considered as decimal and not octal (unlike the - * C/C++ convention). Every character in the input string is read for - * the conversion; the input string must not contain any leading or - * trailing whitespace. - * - * @return true if the conversion was successful. - * - * @note overflow is not detected: the return status is true even if - * the conversion would return a value outside of the type's range, in - * which case the result will wrap around the type's range. - * This is similar to native behavior. - * - * @note a positive sign is not accepted. ie, the string must not - * start with '+' - * - * @see atoi_first() if the string is not trimmed to the value to read. */ -template -C4_ALWAYS_INLINE bool atoi(csubstr str, T * C4_RESTRICT v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - C4_STATIC_ASSERT(std::is_signed::value); - - if(C4_UNLIKELY(str.len == 0)) - return false; - - C4_ASSERT(str.str[0] != '+'); - - T sign = 1; - size_t start = 0; - if(str.str[0] == '-') - { - if(C4_UNLIKELY(str.len == ++start)) - return false; - sign = -1; - } - - bool parsed_ok = true; - if(str.str[start] != '0') // this should be the common case, so put it first - { - parsed_ok = read_dec(str.sub(start), v); - } - else if(str.len > start + 1) - { - // starts with 0: is it 0x, 0o, 0b? - const char pfx = str.str[start + 1]; - if(pfx == 'x' || pfx == 'X') - parsed_ok = str.len > start + 2 && read_hex(str.sub(start + 2), v); - else if(pfx == 'b' || pfx == 'B') - parsed_ok = str.len > start + 2 && read_bin(str.sub(start + 2), v); - else if(pfx == 'o' || pfx == 'O') - parsed_ok = str.len > start + 2 && read_oct(str.sub(start + 2), v); - else - parsed_ok = read_dec(str.sub(start + 1), v); - } - else - { - parsed_ok = read_dec(str.sub(start), v); - } - if(C4_LIKELY(parsed_ok)) - *v *= sign; - return parsed_ok; -} - - -/** Select the next range of characters in the string that can be parsed - * as a signed integral value, and convert it using atoi(). Leading - * whitespace (space, newline, tabs) is skipped. - * @return the number of characters read for conversion, or csubstr::npos if the conversion failed - * @see atoi() if the string is already trimmed to the value to read. - * @see csubstr::first_int_span() */ -template -C4_ALWAYS_INLINE size_t atoi_first(csubstr str, T * C4_RESTRICT v) -{ - csubstr trimmed = str.first_int_span(); - if(trimmed.len == 0) - return csubstr::npos; - if(atoi(trimmed, v)) - return static_cast(trimmed.end() - str.begin()); - return csubstr::npos; -} - - -//----------------------------------------------------------------------------- - -/** Convert a trimmed string to an unsigned integral value. The string can be - * formatted as decimal, binary (prefix 0b or 0B), octal (prefix 0o or 0O) - * or hexadecimal (prefix 0x or 0X). Every character in the input string is read - * for the conversion; it must not contain any leading or trailing whitespace. - * - * @return true if the conversion was successful. - * - * @note overflow is not detected: the return status is true even if - * the conversion would return a value outside of the type's range, in - * which case the result will wrap around the type's range. - * - * @note If the string has a minus character, the return status - * will be false. - * - * @see atou_first() if the string is not trimmed to the value to read. */ -template -bool atou(csubstr str, T * C4_RESTRICT v) noexcept -{ - C4_STATIC_ASSERT(std::is_integral::value); - - if(C4_UNLIKELY(str.len == 0 || str.front() == '-')) - return false; - - bool parsed_ok = true; - if(str.str[0] != '0') - { - parsed_ok = read_dec(str, v); - } - else - { - if(str.len > 1) - { - const char pfx = str.str[1]; - if(pfx == 'x' || pfx == 'X') - parsed_ok = str.len > 2 && read_hex(str.sub(2), v); - else if(pfx == 'b' || pfx == 'B') - parsed_ok = str.len > 2 && read_bin(str.sub(2), v); - else if(pfx == 'o' || pfx == 'O') - parsed_ok = str.len > 2 && read_oct(str.sub(2), v); - else - parsed_ok = read_dec(str, v); - } - else - { - *v = 0; // we know the first character is 0 - } - } - return parsed_ok; -} - - -/** Select the next range of characters in the string that can be parsed - * as an unsigned integral value, and convert it using atou(). Leading - * whitespace (space, newline, tabs) is skipped. - * @return the number of characters read for conversion, or csubstr::npos if the conversion faileds - * @see atou() if the string is already trimmed to the value to read. - * @see csubstr::first_uint_span() */ -template -C4_ALWAYS_INLINE size_t atou_first(csubstr str, T *v) -{ - csubstr trimmed = str.first_uint_span(); - if(trimmed.len == 0) - return csubstr::npos; - if(atou(trimmed, v)) - return static_cast(trimmed.end() - str.begin()); - return csubstr::npos; -} - - -#ifdef _MSC_VER -# pragma warning(pop) -#elif defined(__clang__) -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -namespace detail { -inline bool check_overflow(csubstr str, csubstr limit) noexcept -{ - if(str.len == limit.len) - { - for(size_t i = 0; i < limit.len; ++i) - { - if(str[i] < limit[i]) - return false; - else if(str[i] > limit[i]) - return true; - } - return false; - } - else - return str.len > limit.len; -} -} // namespace detail - - -/** Test if the following string would overflow when converted to associated - * types. - * @return true if number will overflow, false if it fits (or doesn't parse) - */ -template -auto overflows(csubstr str) noexcept - -> typename std::enable_if::value, bool>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - - if(C4_UNLIKELY(str.len == 0)) - { - return false; - } - else if(str.str[0] == '0') - { - if (str.len == 1) - return false; - switch (str.str[1]) - { - case 'x': - case 'X': - { - size_t fno = str.first_not_of('0', 2); - if (fno == csubstr::npos) - return false; - return !(str.len <= fno + (sizeof(T) * 2)); - } - case 'b': - case 'B': - { - size_t fno = str.first_not_of('0', 2); - if (fno == csubstr::npos) - return false; - return !(str.len <= fno +(sizeof(T) * 8)); - } - case 'o': - case 'O': - { - size_t fno = str.first_not_of('0', 2); - if(fno == csubstr::npos) - return false; - return detail::charconv_digits::is_oct_overflow(str.sub(fno)); - } - default: - { - size_t fno = str.first_not_of('0', 1); - if(fno == csubstr::npos) - return false; - return detail::check_overflow(str.sub(fno), detail::charconv_digits::max_value_dec()); - } - } - } - else if(C4_UNLIKELY(str[0] == '-')) - { - return true; - } - else - { - return detail::check_overflow(str, detail::charconv_digits::max_value_dec()); - } -} - - -/** Test if the following string would overflow when converted to associated - * types. - * @return true if number will overflow, false if it fits (or doesn't parse) - */ -template -auto overflows(csubstr str) - -> typename std::enable_if::value, bool>::type -{ - C4_STATIC_ASSERT(std::is_integral::value); - if(C4_UNLIKELY(str.len == 0)) - return false; - if(str.str[0] == '-') - { - if(str.str[1] == '0') - { - if(str.len == 2) - return false; - switch(str.str[2]) - { - case 'x': - case 'X': - { - size_t fno = str.first_not_of('0', 3); - if (fno == csubstr::npos) - return false; - return detail::check_overflow(str.sub(fno), detail::charconv_digits::min_value_hex()); - } - case 'b': - case 'B': - { - size_t fno = str.first_not_of('0', 3); - if (fno == csubstr::npos) - return false; - return detail::check_overflow(str.sub(fno), detail::charconv_digits::min_value_bin()); - } - case 'o': - case 'O': - { - size_t fno = str.first_not_of('0', 3); - if(fno == csubstr::npos) - return false; - return detail::check_overflow(str.sub(fno), detail::charconv_digits::min_value_oct()); - } - default: - { - size_t fno = str.first_not_of('0', 2); - if(fno == csubstr::npos) - return false; - return detail::check_overflow(str.sub(fno), detail::charconv_digits::min_value_dec()); - } - } - } - else - return detail::check_overflow(str.sub(1), detail::charconv_digits::min_value_dec()); - } - else if(str.str[0] == '0') - { - if (str.len == 1) - return false; - switch(str.str[1]) - { - case 'x': - case 'X': - { - size_t fno = str.first_not_of('0', 2); - if (fno == csubstr::npos) - return false; - const size_t len = str.len - fno; - return !((len < sizeof (T) * 2) || (len == sizeof(T) * 2 && str[fno] <= '7')); - } - case 'b': - case 'B': - { - size_t fno = str.first_not_of('0', 2); - if (fno == csubstr::npos) - return false; - return !(str.len <= fno + (sizeof(T) * 8 - 1)); - } - case 'o': - case 'O': - { - size_t fno = str.first_not_of('0', 2); - if(fno == csubstr::npos) - return false; - return detail::charconv_digits::is_oct_overflow(str.sub(fno)); - } - default: - { - size_t fno = str.first_not_of('0', 1); - if(fno == csubstr::npos) - return false; - return detail::check_overflow(str.sub(fno), detail::charconv_digits::max_value_dec()); - } - } - } - else - return detail::check_overflow(str, detail::charconv_digits::max_value_dec()); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { - - -#if (!C4CORE_HAVE_STD_FROMCHARS) -/** @see http://www.exploringbinary.com/ for many good examples on float-str conversion */ -template -void get_real_format_str(char (& C4_RESTRICT fmt)[N], int precision, RealFormat_e formatting, const char* length_modifier="") -{ - int iret; - if(precision == -1) - iret = snprintf(fmt, sizeof(fmt), "%%%s%c", length_modifier, formatting); - else if(precision == 0) - iret = snprintf(fmt, sizeof(fmt), "%%.%s%c", length_modifier, formatting); - else - iret = snprintf(fmt, sizeof(fmt), "%%.%d%s%c", precision, length_modifier, formatting); - C4_ASSERT(iret >= 2 && size_t(iret) < sizeof(fmt)); - C4_UNUSED(iret); -} - - -/** @todo we're depending on snprintf()/sscanf() for converting to/from - * floating point numbers. Apparently, this increases the binary size - * by a considerable amount. There are some lightweight printf - * implementations: - * - * @see http://www.sparetimelabs.com/tinyprintf/tinyprintf.php (BSD) - * @see https://github.com/weiss/c99-snprintf - * @see https://github.com/nothings/stb/blob/master/stb_sprintf.h - * @see http://www.exploringbinary.com/ - * @see https://blog.benoitblanchon.fr/lightweight-float-to-string/ - * @see http://www.ryanjuckett.com/programming/printing-floating-point-numbers/ - */ -template -size_t print_one(substr str, const char* full_fmt, T v) -{ -#ifdef _MSC_VER - /** use _snprintf() to prevent early termination of the output - * for writing the null character at the last position - * @see https://msdn.microsoft.com/en-us/library/2ts7cx93.aspx */ - int iret = _snprintf(str.str, str.len, full_fmt, v); - if(iret < 0) - { - /* when buf.len is not enough, VS returns a negative value. - * so call it again with a negative value for getting an - * actual length of the string */ - iret = snprintf(nullptr, 0, full_fmt, v); - C4_ASSERT(iret > 0); - } - size_t ret = (size_t) iret; - return ret; -#else - int iret = snprintf(str.str, str.len, full_fmt, v); - C4_ASSERT(iret >= 0); - size_t ret = (size_t) iret; - if(ret >= str.len) - ++ret; /* snprintf() reserves the last character to write \0 */ - return ret; -#endif -} -#endif // (!C4CORE_HAVE_STD_FROMCHARS) - - -#if (!C4CORE_HAVE_STD_FROMCHARS) && (!C4CORE_HAVE_FAST_FLOAT) -/** scans a string using the given type format, while at the same time - * allowing non-null-terminated strings AND guaranteeing that the given - * string length is strictly respected, so that no buffer overflows - * might occur. */ -template -inline size_t scan_one(csubstr str, const char *type_fmt, T *v) -{ - /* snscanf() is absolutely needed here as we must be sure that - * str.len is strictly respected, because substr is - * generally not null-terminated. - * - * Alas, there is no snscanf(). - * - * So we fake it by using a dynamic format with an explicit - * field size set to the length of the given span. - * This trick is taken from: - * https://stackoverflow.com/a/18368910/5875572 */ - - /* this is the actual format we'll use for scanning */ - char fmt[16]; - - /* write the length into it. Eg "%12f". - * Also, get the number of characters read from the string. - * So the final format ends up as "%12f%n"*/ - int iret = std::snprintf(fmt, sizeof(fmt), "%%" "%zu" "%s" "%%n", str.len, type_fmt); - /* no nasty surprises, please! */ - C4_ASSERT(iret >= 0 && size_t(iret) < C4_COUNTOF(fmt)); - - /* now we scan with confidence that the span length is respected */ - int num_chars; - iret = std::sscanf(str.str, fmt, v, &num_chars); - /* scanf returns the number of successful conversions */ - if(iret != 1) return csubstr::npos; - C4_ASSERT(num_chars >= 0); - return (size_t)(num_chars); -} -#endif // (!C4CORE_HAVE_STD_FROMCHARS) && (!C4CORE_HAVE_FAST_FLOAT) - - -#if C4CORE_HAVE_STD_TOCHARS -template -C4_ALWAYS_INLINE size_t rtoa(substr buf, T v, int precision=-1, RealFormat_e formatting=FTOA_FLEX) noexcept -{ - std::to_chars_result result; - size_t pos = 0; - if(formatting == FTOA_HEXA) - { - if(buf.len > size_t(2)) - { - buf.str[0] = '0'; - buf.str[1] = 'x'; - } - pos += size_t(2); - } - if(precision == -1) - result = std::to_chars(buf.str + pos, buf.str + buf.len, v, (std::chars_format)formatting); - else - result = std::to_chars(buf.str + pos, buf.str + buf.len, v, (std::chars_format)formatting, precision); - if(result.ec == std::errc()) - { - // all good, no errors. - C4_ASSERT(result.ptr >= buf.str); - ptrdiff_t delta = result.ptr - buf.str; - return static_cast(delta); - } - C4_ASSERT(result.ec == std::errc::value_too_large); - // This is unfortunate. - // - // When the result can't fit in the given buffer, - // std::to_chars() returns the end pointer it was originally - // given, which is useless because here we would like to know - // _exactly_ how many characters the buffer must have to fit - // the result. - // - // So we take the pessimistic view, and assume as many digits - // as could ever be required: - size_t ret = static_cast(std::numeric_limits::max_digits10); - return ret > buf.len ? ret : buf.len + 1; -} -#endif // C4CORE_HAVE_STD_TOCHARS - - -#if C4CORE_HAVE_FAST_FLOAT -template -C4_ALWAYS_INLINE bool scan_rhex(csubstr s, T *C4_RESTRICT val) noexcept -{ - C4_ASSERT(s.len > 0); - C4_ASSERT(s.str[0] != '-'); - C4_ASSERT(s.str[0] != '+'); - C4_ASSERT(!s.begins_with("0x")); - C4_ASSERT(!s.begins_with("0X")); - size_t pos = 0; - // integer part - for( ; pos < s.len; ++pos) - { - const char c = s.str[pos]; - if(c >= '0' && c <= '9') - *val = *val * T(16) + T(c - '0'); - else if(c >= 'a' && c <= 'f') - *val = *val * T(16) + T(c - 'a'); - else if(c >= 'A' && c <= 'F') - *val = *val * T(16) + T(c - 'A'); - else if(c == '.') - { - ++pos; - break; // follow on to mantissa - } - else if(c == 'p' || c == 'P') - { - ++pos; - goto power; // no mantissa given, jump to power - } - else - { - return false; - } - } - // mantissa - { - // 0.0625 == 1/16 == value of first digit after the comma - for(T digit = T(0.0625); pos < s.len; ++pos, digit /= T(16)) - { - const char c = s.str[pos]; - if(c >= '0' && c <= '9') - *val += digit * T(c - '0'); - else if(c >= 'a' && c <= 'f') - *val += digit * T(c - 'a'); - else if(c >= 'A' && c <= 'F') - *val += digit * T(c - 'A'); - else if(c == 'p' || c == 'P') - { - ++pos; - goto power; // mantissa finished, jump to power - } - else - { - return false; - } - } - } - return true; -power: - if(C4_LIKELY(pos < s.len)) - { - if(s.str[pos] == '+') // atoi() cannot handle a leading '+' - ++pos; - if(C4_LIKELY(pos < s.len)) - { - int16_t powval = {}; - if(C4_LIKELY(atoi(s.sub(pos), &powval))) - { - *val *= ipow(powval); - return true; - } - } - } - return false; -} -#endif - -} // namespace detail - - -#undef _c4appendhex -#undef _c4append - - -/** Convert a single-precision real number to string. The string will - * in general be NOT null-terminated. For FTOA_FLEX, \p precision is - * the number of significand digits. Otherwise \p precision is the - * number of decimals. It is safe to call this function with an empty - * or too-small buffer. - * - * @return the size of the buffer needed to write the number - */ -C4_ALWAYS_INLINE size_t ftoa(substr str, float v, int precision=-1, RealFormat_e formatting=FTOA_FLEX) noexcept -{ -#if C4CORE_HAVE_STD_TOCHARS - return detail::rtoa(str, v, precision, formatting); -#else - char fmt[16]; - detail::get_real_format_str(fmt, precision, formatting, /*length_modifier*/""); - return detail::print_one(str, fmt, v); -#endif -} - - -/** Convert a double-precision real number to string. The string will - * in general be NOT null-terminated. For FTOA_FLEX, \p precision is - * the number of significand digits. Otherwise \p precision is the - * number of decimals. It is safe to call this function with an empty - * or too-small buffer. - * - * @return the size of the buffer needed to write the number - */ -C4_ALWAYS_INLINE size_t dtoa(substr str, double v, int precision=-1, RealFormat_e formatting=FTOA_FLEX) noexcept -{ -#if C4CORE_HAVE_STD_TOCHARS - return detail::rtoa(str, v, precision, formatting); -#else - char fmt[16]; - detail::get_real_format_str(fmt, precision, formatting, /*length_modifier*/"l"); - return detail::print_one(str, fmt, v); -#endif -} - - -/** Convert a string to a single precision real number. - * The input string must be trimmed to the value, ie - * no leading or trailing whitespace can be present. - * @return true iff the conversion succeeded - * @see atof_first() if the string is not trimmed - */ -C4_ALWAYS_INLINE bool atof(csubstr str, float * C4_RESTRICT v) noexcept -{ - C4_ASSERT(str.len > 0); - C4_ASSERT(str.triml(" \r\t\n").len == str.len); -#if C4CORE_HAVE_FAST_FLOAT - // fastfloat cannot parse hexadecimal floats - bool isneg = (str.str[0] == '-'); - csubstr rem = str.sub(isneg || str.str[0] == '+'); - if(!(rem.len >= 2 && (rem.str[0] == '0' && (rem.str[1] == 'x' || rem.str[1] == 'X')))) - { - fast_float::from_chars_result result; - result = fast_float::from_chars(str.str, str.str + str.len, *v); - return result.ec == std::errc(); - } - else if(detail::scan_rhex(rem.sub(2), v)) - { - *v *= isneg ? -1.f : 1.f; - return true; - } - return false; -#elif C4CORE_HAVE_STD_FROMCHARS - std::from_chars_result result; - result = std::from_chars(str.str, str.str + str.len, *v); - return result.ec == std::errc(); -#else - csubstr rem = str.sub(str.str[0] == '-' || str.str[0] == '+'); - if(!(rem.len >= 2 && (rem.str[0] == '0' && (rem.str[1] == 'x' || rem.str[1] == 'X')))) - return detail::scan_one(str, "f", v) != csubstr::npos; - else - return detail::scan_one(str, "a", v) != csubstr::npos; -#endif -} - - -/** Convert a string to a double precision real number. - * The input string must be trimmed to the value, ie - * no leading or trailing whitespace can be present. - * @return true iff the conversion succeeded - * @see atod_first() if the string is not trimmed - */ -C4_ALWAYS_INLINE bool atod(csubstr str, double * C4_RESTRICT v) noexcept -{ - C4_ASSERT(str.triml(" \r\t\n").len == str.len); -#if C4CORE_HAVE_FAST_FLOAT - // fastfloat cannot parse hexadecimal floats - bool isneg = (str.str[0] == '-'); - csubstr rem = str.sub(isneg || str.str[0] == '+'); - if(!(rem.len >= 2 && (rem.str[0] == '0' && (rem.str[1] == 'x' || rem.str[1] == 'X')))) - { - fast_float::from_chars_result result; - result = fast_float::from_chars(str.str, str.str + str.len, *v); - return result.ec == std::errc(); - } - else if(detail::scan_rhex(rem.sub(2), v)) - { - *v *= isneg ? -1. : 1.; - return true; - } - return false; -#elif C4CORE_HAVE_STD_FROMCHARS - std::from_chars_result result; - result = std::from_chars(str.str, str.str + str.len, *v); - return result.ec == std::errc(); -#else - csubstr rem = str.sub(str.str[0] == '-' || str.str[0] == '+'); - if(!(rem.len >= 2 && (rem.str[0] == '0' && (rem.str[1] == 'x' || rem.str[1] == 'X')))) - return detail::scan_one(str, "lf", v) != csubstr::npos; - else - return detail::scan_one(str, "la", v) != csubstr::npos; -#endif -} - - -/** Convert a string to a single precision real number. - * Leading whitespace is skipped until valid characters are found. - * @return the number of characters read from the string, or npos if - * conversion was not successful or if the string was empty */ -inline size_t atof_first(csubstr str, float * C4_RESTRICT v) noexcept -{ - csubstr trimmed = str.first_real_span(); - if(trimmed.len == 0) - return csubstr::npos; - if(atof(trimmed, v)) - return static_cast(trimmed.end() - str.begin()); - return csubstr::npos; -} - - -/** Convert a string to a double precision real number. - * Leading whitespace is skipped until valid characters are found. - * @return the number of characters read from the string, or npos if - * conversion was not successful or if the string was empty */ -inline size_t atod_first(csubstr str, double * C4_RESTRICT v) noexcept -{ - csubstr trimmed = str.first_real_span(); - if(trimmed.len == 0) - return csubstr::npos; - if(atod(trimmed, v)) - return static_cast(trimmed.end() - str.begin()); - return csubstr::npos; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// generic versions - -C4_ALWAYS_INLINE size_t xtoa(substr s, uint8_t v) noexcept { return write_dec(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint16_t v) noexcept { return write_dec(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint32_t v) noexcept { return write_dec(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint64_t v) noexcept { return write_dec(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int8_t v) noexcept { return itoa(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int16_t v) noexcept { return itoa(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int32_t v) noexcept { return itoa(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int64_t v) noexcept { return itoa(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, float v) noexcept { return ftoa(s, v); } -C4_ALWAYS_INLINE size_t xtoa(substr s, double v) noexcept { return dtoa(s, v); } - -C4_ALWAYS_INLINE size_t xtoa(substr s, uint8_t v, uint8_t radix) noexcept { return utoa(s, v, radix); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint16_t v, uint16_t radix) noexcept { return utoa(s, v, radix); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint32_t v, uint32_t radix) noexcept { return utoa(s, v, radix); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint64_t v, uint64_t radix) noexcept { return utoa(s, v, radix); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int8_t v, int8_t radix) noexcept { return itoa(s, v, radix); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int16_t v, int16_t radix) noexcept { return itoa(s, v, radix); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int32_t v, int32_t radix) noexcept { return itoa(s, v, radix); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int64_t v, int64_t radix) noexcept { return itoa(s, v, radix); } - -C4_ALWAYS_INLINE size_t xtoa(substr s, uint8_t v, uint8_t radix, size_t num_digits) noexcept { return utoa(s, v, radix, num_digits); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint16_t v, uint16_t radix, size_t num_digits) noexcept { return utoa(s, v, radix, num_digits); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint32_t v, uint32_t radix, size_t num_digits) noexcept { return utoa(s, v, radix, num_digits); } -C4_ALWAYS_INLINE size_t xtoa(substr s, uint64_t v, uint64_t radix, size_t num_digits) noexcept { return utoa(s, v, radix, num_digits); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int8_t v, int8_t radix, size_t num_digits) noexcept { return itoa(s, v, radix, num_digits); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int16_t v, int16_t radix, size_t num_digits) noexcept { return itoa(s, v, radix, num_digits); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int32_t v, int32_t radix, size_t num_digits) noexcept { return itoa(s, v, radix, num_digits); } -C4_ALWAYS_INLINE size_t xtoa(substr s, int64_t v, int64_t radix, size_t num_digits) noexcept { return itoa(s, v, radix, num_digits); } - -C4_ALWAYS_INLINE size_t xtoa(substr s, float v, int precision, RealFormat_e formatting=FTOA_FLEX) noexcept { return ftoa(s, v, precision, formatting); } -C4_ALWAYS_INLINE size_t xtoa(substr s, double v, int precision, RealFormat_e formatting=FTOA_FLEX) noexcept { return dtoa(s, v, precision, formatting); } - -C4_ALWAYS_INLINE bool atox(csubstr s, uint8_t *C4_RESTRICT v) noexcept { return atou(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, uint16_t *C4_RESTRICT v) noexcept { return atou(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, uint32_t *C4_RESTRICT v) noexcept { return atou(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, uint64_t *C4_RESTRICT v) noexcept { return atou(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, int8_t *C4_RESTRICT v) noexcept { return atoi(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, int16_t *C4_RESTRICT v) noexcept { return atoi(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, int32_t *C4_RESTRICT v) noexcept { return atoi(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, int64_t *C4_RESTRICT v) noexcept { return atoi(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, float *C4_RESTRICT v) noexcept { return atof(s, v); } -C4_ALWAYS_INLINE bool atox(csubstr s, double *C4_RESTRICT v) noexcept { return atod(s, v); } - -C4_ALWAYS_INLINE size_t to_chars(substr buf, uint8_t v) noexcept { return write_dec(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, uint16_t v) noexcept { return write_dec(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, uint32_t v) noexcept { return write_dec(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, uint64_t v) noexcept { return write_dec(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, int8_t v) noexcept { return itoa(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, int16_t v) noexcept { return itoa(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, int32_t v) noexcept { return itoa(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, int64_t v) noexcept { return itoa(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, float v) noexcept { return ftoa(buf, v); } -C4_ALWAYS_INLINE size_t to_chars(substr buf, double v) noexcept { return dtoa(buf, v); } - -C4_ALWAYS_INLINE bool from_chars(csubstr buf, uint8_t *C4_RESTRICT v) noexcept { return atou(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, uint16_t *C4_RESTRICT v) noexcept { return atou(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, uint32_t *C4_RESTRICT v) noexcept { return atou(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, uint64_t *C4_RESTRICT v) noexcept { return atou(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, int8_t *C4_RESTRICT v) noexcept { return atoi(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, int16_t *C4_RESTRICT v) noexcept { return atoi(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, int32_t *C4_RESTRICT v) noexcept { return atoi(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, int64_t *C4_RESTRICT v) noexcept { return atoi(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, float *C4_RESTRICT v) noexcept { return atof(buf, v); } -C4_ALWAYS_INLINE bool from_chars(csubstr buf, double *C4_RESTRICT v) noexcept { return atod(buf, v); } - -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, uint8_t *C4_RESTRICT v) noexcept { return atou_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, uint16_t *C4_RESTRICT v) noexcept { return atou_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, uint32_t *C4_RESTRICT v) noexcept { return atou_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, uint64_t *C4_RESTRICT v) noexcept { return atou_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, int8_t *C4_RESTRICT v) noexcept { return atoi_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, int16_t *C4_RESTRICT v) noexcept { return atoi_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, int32_t *C4_RESTRICT v) noexcept { return atoi_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, int64_t *C4_RESTRICT v) noexcept { return atoi_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, float *C4_RESTRICT v) noexcept { return atof_first(buf, v); } -C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, double *C4_RESTRICT v) noexcept { return atod_first(buf, v); } - - -//----------------------------------------------------------------------------- -// on some platforms, (unsigned) int and (unsigned) long -// are not any of the fixed length types above - -#define _C4_IF_NOT_FIXED_LENGTH_I(T, ty) C4_ALWAYS_INLINE typename std::enable_if::value && !is_fixed_length::value_i, ty> -#define _C4_IF_NOT_FIXED_LENGTH_U(T, ty) C4_ALWAYS_INLINE typename std::enable_if::value && !is_fixed_length::value_u, ty> - -template _C4_IF_NOT_FIXED_LENGTH_I(T, size_t)::type xtoa(substr buf, T v) noexcept { return itoa(buf, v); } -template _C4_IF_NOT_FIXED_LENGTH_U(T, size_t)::type xtoa(substr buf, T v) noexcept { return write_dec(buf, v); } - -template _C4_IF_NOT_FIXED_LENGTH_I(T, bool )::type atox(csubstr buf, T *C4_RESTRICT v) noexcept { return atoi(buf, v); } -template _C4_IF_NOT_FIXED_LENGTH_U(T, bool )::type atox(csubstr buf, T *C4_RESTRICT v) noexcept { return atou(buf, v); } - -template _C4_IF_NOT_FIXED_LENGTH_I(T, size_t)::type to_chars(substr buf, T v) noexcept { return itoa(buf, v); } -template _C4_IF_NOT_FIXED_LENGTH_U(T, size_t)::type to_chars(substr buf, T v) noexcept { return write_dec(buf, v); } - -template _C4_IF_NOT_FIXED_LENGTH_I(T, bool )::type from_chars(csubstr buf, T *C4_RESTRICT v) noexcept { return atoi(buf, v); } -template _C4_IF_NOT_FIXED_LENGTH_U(T, bool )::type from_chars(csubstr buf, T *C4_RESTRICT v) noexcept { return atou(buf, v); } - -template _C4_IF_NOT_FIXED_LENGTH_I(T, size_t)::type from_chars_first(csubstr buf, T *C4_RESTRICT v) noexcept { return atoi_first(buf, v); } -template _C4_IF_NOT_FIXED_LENGTH_U(T, size_t)::type from_chars_first(csubstr buf, T *C4_RESTRICT v) noexcept { return atou_first(buf, v); } - -#undef _C4_IF_NOT_FIXED_LENGTH_I -#undef _C4_IF_NOT_FIXED_LENGTH_U - - -//----------------------------------------------------------------------------- -// for pointers - -template C4_ALWAYS_INLINE size_t xtoa(substr s, T *v) noexcept { return itoa(s, (intptr_t)v, (intptr_t)16); } -template C4_ALWAYS_INLINE bool atox(csubstr s, T **v) noexcept { intptr_t tmp; bool ret = atox(s, &tmp); if(ret) { *v = (T*)tmp; } return ret; } -template C4_ALWAYS_INLINE size_t to_chars(substr s, T *v) noexcept { return itoa(s, (intptr_t)v, (intptr_t)16); } -template C4_ALWAYS_INLINE bool from_chars(csubstr buf, T **v) noexcept { intptr_t tmp; bool ret = from_chars(buf, &tmp); if(ret) { *v = (T*)tmp; } return ret; } -template C4_ALWAYS_INLINE size_t from_chars_first(csubstr buf, T **v) noexcept { intptr_t tmp; bool ret = from_chars_first(buf, &tmp); if(ret) { *v = (T*)tmp; } return ret; } - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** call to_chars() and return a substr consisting of the - * written portion of the input buffer. Ie, same as to_chars(), - * but return a substr instead of a size_t. - * - * @see to_chars() */ -template -C4_ALWAYS_INLINE substr to_chars_sub(substr buf, T const& C4_RESTRICT v) noexcept -{ - size_t sz = to_chars(buf, v); - return buf.left_of(sz <= buf.len ? sz : buf.len); -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// bool implementation - -C4_ALWAYS_INLINE size_t to_chars(substr buf, bool v) noexcept -{ - int val = v; - return to_chars(buf, val); -} - -inline bool from_chars(csubstr buf, bool * C4_RESTRICT v) noexcept -{ - if(buf == '0') - { - *v = false; return true; - } - else if(buf == '1') - { - *v = true; return true; - } - else if(buf == "false") - { - *v = false; return true; - } - else if(buf == "true") - { - *v = true; return true; - } - else if(buf == "False") - { - *v = false; return true; - } - else if(buf == "True") - { - *v = true; return true; - } - else if(buf == "FALSE") - { - *v = false; return true; - } - else if(buf == "TRUE") - { - *v = true; return true; - } - // fallback to c-style int bools - int val = 0; - bool ret = from_chars(buf, &val); - if(C4_LIKELY(ret)) - { - *v = (val != 0); - } - return ret; -} - -inline size_t from_chars_first(csubstr buf, bool * C4_RESTRICT v) noexcept -{ - csubstr trimmed = buf.first_non_empty_span(); - if(trimmed.len == 0 || !from_chars(buf, v)) - return csubstr::npos; - return trimmed.len; -} - - -//----------------------------------------------------------------------------- -// single-char implementation - -inline size_t to_chars(substr buf, char v) noexcept -{ - if(buf.len > 0) - buf[0] = v; - return 1; -} - -/** extract a single character from a substring - * @note to extract a string instead and not just a single character, use the csubstr overload */ -inline bool from_chars(csubstr buf, char * C4_RESTRICT v) noexcept -{ - if(buf.len != 1) - return false; - *v = buf[0]; - return true; -} - -inline size_t from_chars_first(csubstr buf, char * C4_RESTRICT v) noexcept -{ - if(buf.len < 1) - return csubstr::npos; - *v = buf[0]; - return 1; -} - - -//----------------------------------------------------------------------------- -// csubstr implementation - -inline size_t to_chars(substr buf, csubstr v) noexcept -{ - C4_ASSERT(!buf.overlaps(v)); - size_t len = buf.len < v.len ? buf.len : v.len; - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(len) - { - C4_ASSERT(buf.str != nullptr); - C4_ASSERT(v.str != nullptr); - memcpy(buf.str, v.str, len); - } - return v.len; -} - -inline bool from_chars(csubstr buf, csubstr *C4_RESTRICT v) noexcept -{ - *v = buf; - return true; -} - -inline size_t from_chars_first(substr buf, csubstr * C4_RESTRICT v) noexcept -{ - csubstr trimmed = buf.first_non_empty_span(); - if(trimmed.len == 0) - return csubstr::npos; - *v = trimmed; - return static_cast(trimmed.end() - buf.begin()); -} - - -//----------------------------------------------------------------------------- -// substr - -inline size_t to_chars(substr buf, substr v) noexcept -{ - C4_ASSERT(!buf.overlaps(v)); - size_t len = buf.len < v.len ? buf.len : v.len; - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(len) - { - C4_ASSERT(buf.str != nullptr); - C4_ASSERT(v.str != nullptr); - memcpy(buf.str, v.str, len); - } - return v.len; -} - -inline bool from_chars(csubstr buf, substr * C4_RESTRICT v) noexcept -{ - C4_ASSERT(!buf.overlaps(*v)); - // is the destination buffer wide enough? - if(v->len >= buf.len) - { - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(buf.len) - { - C4_ASSERT(buf.str != nullptr); - C4_ASSERT(v->str != nullptr); - memcpy(v->str, buf.str, buf.len); - } - v->len = buf.len; - return true; - } - return false; -} - -inline size_t from_chars_first(csubstr buf, substr * C4_RESTRICT v) noexcept -{ - csubstr trimmed = buf.first_non_empty_span(); - C4_ASSERT(!trimmed.overlaps(*v)); - if(C4_UNLIKELY(trimmed.len == 0)) - return csubstr::npos; - size_t len = trimmed.len > v->len ? v->len : trimmed.len; - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(len) - { - C4_ASSERT(buf.str != nullptr); - C4_ASSERT(v->str != nullptr); - memcpy(v->str, trimmed.str, len); - } - if(C4_UNLIKELY(trimmed.len > v->len)) - return csubstr::npos; - return static_cast(trimmed.end() - buf.begin()); -} - - -//----------------------------------------------------------------------------- - -template -inline size_t to_chars(substr buf, const char (& C4_RESTRICT v)[N]) noexcept -{ - csubstr sp(v); - return to_chars(buf, sp); -} - -inline size_t to_chars(substr buf, const char * C4_RESTRICT v) noexcept -{ - return to_chars(buf, to_csubstr(v)); -} - -} // namespace c4 - -#ifdef _MSC_VER -# pragma warning(pop) -#elif defined(__clang__) -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif /* _C4_CHARCONV_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/charconv.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/utf.hpp -// https://github.com/biojppm/c4core/src/c4/utf.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef C4_UTF_HPP_ -#define C4_UTF_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/language.hpp -//#include "c4/language.hpp" -#if !defined(C4_LANGUAGE_HPP_) && !defined(_C4_LANGUAGE_HPP_) -#error "amalgamate: file c4/language.hpp must have been included at this point" -#endif /* C4_LANGUAGE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr_fwd.hpp -//#include "c4/substr_fwd.hpp" -#if !defined(C4_SUBSTR_FWD_HPP_) && !defined(_C4_SUBSTR_FWD_HPP_) -#error "amalgamate: file c4/substr_fwd.hpp must have been included at this point" -#endif /* C4_SUBSTR_FWD_HPP_ */ - -//included above: -//#include -//included above: -//#include - -namespace c4 { - -substr decode_code_point(substr out, csubstr code_point); -size_t decode_code_point(uint8_t *C4_RESTRICT buf, size_t buflen, const uint32_t code); - -} // namespace c4 - -#endif // C4_UTF_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/utf.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/format.hpp -// https://github.com/biojppm/c4core/src/c4/format.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_FORMAT_HPP_ -#define _C4_FORMAT_HPP_ - -/** @file format.hpp provides type-safe facilities for formatting arguments - * to string buffers */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/charconv.hpp -//#include "c4/charconv.hpp" -#if !defined(C4_CHARCONV_HPP_) && !defined(_C4_CHARCONV_HPP_) -#error "amalgamate: file c4/charconv.hpp must have been included at this point" -#endif /* C4_CHARCONV_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/blob.hpp -//#include "c4/blob.hpp" -#if !defined(C4_BLOB_HPP_) && !defined(_C4_BLOB_HPP_) -#error "amalgamate: file c4/blob.hpp must have been included at this point" -#endif /* C4_BLOB_HPP_ */ - - - -#ifdef _MSC_VER -# pragma warning(push) -# if C4_MSVC_VERSION != C4_MSVC_VERSION_2017 -# pragma warning(disable: 4800) // forcing value to bool 'true' or 'false' (performance warning) -# endif -# pragma warning(disable: 4996) // snprintf/scanf: this function or variable may be unsafe -#elif defined(__clang__) -# pragma clang diagnostic push -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wuseless-cast" -#endif - -namespace c4 { - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// formatting truthy types as booleans - -namespace fmt { - -/** write a variable as an alphabetic boolean, ie as either true or false - * @param strict_read */ -template -struct boolalpha_ -{ - boolalpha_(T val_, bool strict_read_=false) : val(val_ ? true : false), strict_read(strict_read_) {} - bool val; - bool strict_read; -}; - -template -boolalpha_ boolalpha(T const& val, bool strict_read=false) -{ - return boolalpha_(val, strict_read); -} - -} // namespace fmt - -/** write a variable as an alphabetic boolean, ie as either true or false */ -template -inline size_t to_chars(substr buf, fmt::boolalpha_ fmt) -{ - return to_chars(buf, fmt.val ? "true" : "false"); -} - - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// formatting integral types - -namespace fmt { - -/** format an integral type with a custom radix */ -template -struct integral_ -{ - T val; - T radix; - C4_ALWAYS_INLINE integral_(T val_, T radix_) : val(val_), radix(radix_) {} -}; - -/** format an integral type with a custom radix, and pad with zeroes on the left */ -template -struct integral_padded_ -{ - T val; - T radix; - size_t num_digits; - C4_ALWAYS_INLINE integral_padded_(T val_, T radix_, size_t nd) : val(val_), radix(radix_), num_digits(nd) {} -}; - -/** format an integral type with a custom radix */ -template -C4_ALWAYS_INLINE integral_ integral(T val, T radix=10) -{ - return integral_(val, radix); -} -/** format an integral type with a custom radix */ -template -C4_ALWAYS_INLINE integral_ integral(T const* val, T radix=10) -{ - return integral_(reinterpret_cast(val), static_cast(radix)); -} -/** format an integral type with a custom radix */ -template -C4_ALWAYS_INLINE integral_ integral(std::nullptr_t, T radix=10) -{ - return integral_(intptr_t(0), static_cast(radix)); -} -/** pad the argument with zeroes on the left, with decimal radix */ -template -C4_ALWAYS_INLINE integral_padded_ zpad(T val, size_t num_digits) -{ - return integral_padded_(val, T(10), num_digits); -} -/** pad the argument with zeroes on the left */ -template -C4_ALWAYS_INLINE integral_padded_ zpad(integral_ val, size_t num_digits) -{ - return integral_padded_(val.val, val.radix, num_digits); -} -/** pad the argument with zeroes on the left */ -C4_ALWAYS_INLINE integral_padded_ zpad(std::nullptr_t, size_t num_digits) -{ - return integral_padded_(0, 16, num_digits); -} -/** pad the argument with zeroes on the left */ -template -C4_ALWAYS_INLINE integral_padded_ zpad(T const* val, size_t num_digits) -{ - return integral_padded_(reinterpret_cast(val), 16, num_digits); -} -template -C4_ALWAYS_INLINE integral_padded_ zpad(T * val, size_t num_digits) -{ - return integral_padded_(reinterpret_cast(val), 16, num_digits); -} - - -/** format the pointer as an hexadecimal value */ -template -inline integral_ hex(T * v) -{ - return integral_(reinterpret_cast(v), intptr_t(16)); -} -/** format the pointer as an hexadecimal value */ -template -inline integral_ hex(T const* v) -{ - return integral_(reinterpret_cast(v), intptr_t(16)); -} -/** format null as an hexadecimal value - * @overload hex */ -inline integral_ hex(std::nullptr_t) -{ - return integral_(0, intptr_t(16)); -} -/** format the integral_ argument as an hexadecimal value - * @overload hex */ -template -inline integral_ hex(T v) -{ - return integral_(v, T(16)); -} - -/** format the pointer as an octal value */ -template -inline integral_ oct(T const* v) -{ - return integral_(reinterpret_cast(v), intptr_t(8)); -} -/** format the pointer as an octal value */ -template -inline integral_ oct(T * v) -{ - return integral_(reinterpret_cast(v), intptr_t(8)); -} -/** format null as an octal value */ -inline integral_ oct(std::nullptr_t) -{ - return integral_(intptr_t(0), intptr_t(8)); -} -/** format the integral_ argument as an octal value */ -template -inline integral_ oct(T v) -{ - return integral_(v, T(8)); -} - -/** format the pointer as a binary 0-1 value - * @see c4::raw() if you want to use a binary memcpy instead of 0-1 formatting */ -template -inline integral_ bin(T const* v) -{ - return integral_(reinterpret_cast(v), intptr_t(2)); -} -/** format the pointer as a binary 0-1 value - * @see c4::raw() if you want to use a binary memcpy instead of 0-1 formatting */ -template -inline integral_ bin(T * v) -{ - return integral_(reinterpret_cast(v), intptr_t(2)); -} -/** format null as a binary 0-1 value - * @see c4::raw() if you want to use a binary memcpy instead of 0-1 formatting */ -inline integral_ bin(std::nullptr_t) -{ - return integral_(intptr_t(0), intptr_t(2)); -} -/** format the integral_ argument as a binary 0-1 value - * @see c4::raw() if you want to use a raw memcpy-based binary dump instead of 0-1 formatting */ -template -inline integral_ bin(T v) -{ - return integral_(v, T(2)); -} - - -template -struct overflow_checked_ -{ - static_assert(std::is_integral::value, "range checking only for integral types"); - C4_ALWAYS_INLINE overflow_checked_(T &val_) : val(&val_) {} - T *val; -}; -template -C4_ALWAYS_INLINE overflow_checked_ overflow_checked(T &val) -{ - return overflow_checked_(val); -} - -} // namespace fmt - -/** format an integral_ signed type */ -template -C4_ALWAYS_INLINE -typename std::enable_if::value, size_t>::type -to_chars(substr buf, fmt::integral_ fmt) -{ - return itoa(buf, fmt.val, fmt.radix); -} -/** format an integral_ signed type, pad with zeroes */ -template -C4_ALWAYS_INLINE -typename std::enable_if::value, size_t>::type -to_chars(substr buf, fmt::integral_padded_ fmt) -{ - return itoa(buf, fmt.val, fmt.radix, fmt.num_digits); -} - -/** format an integral_ unsigned type */ -template -C4_ALWAYS_INLINE -typename std::enable_if::value, size_t>::type -to_chars(substr buf, fmt::integral_ fmt) -{ - return utoa(buf, fmt.val, fmt.radix); -} -/** format an integral_ unsigned type, pad with zeroes */ -template -C4_ALWAYS_INLINE -typename std::enable_if::value, size_t>::type -to_chars(substr buf, fmt::integral_padded_ fmt) -{ - return utoa(buf, fmt.val, fmt.radix, fmt.num_digits); -} - -template -C4_ALWAYS_INLINE bool from_chars(csubstr s, fmt::overflow_checked_ wrapper) -{ - if(C4_LIKELY(!overflows(s))) - return atox(s, wrapper.val); - return false; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// formatting real types - -namespace fmt { - -template -struct real_ -{ - T val; - int precision; - RealFormat_e fmt; - real_(T v, int prec=-1, RealFormat_e f=FTOA_FLOAT) : val(v), precision(prec), fmt(f) {} -}; - -template -real_ real(T val, int precision, RealFormat_e fmt=FTOA_FLOAT) -{ - return real_(val, precision, fmt); -} - -} // namespace fmt - -inline size_t to_chars(substr buf, fmt::real_< float> fmt) { return ftoa(buf, fmt.val, fmt.precision, fmt.fmt); } -inline size_t to_chars(substr buf, fmt::real_ fmt) { return dtoa(buf, fmt.val, fmt.precision, fmt.fmt); } - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// writing raw binary data - -namespace fmt { - -/** @see blob_ */ -template -struct raw_wrapper_ : public blob_ -{ - size_t alignment; - - C4_ALWAYS_INLINE raw_wrapper_(blob_ data, size_t alignment_) noexcept - : - blob_(data), - alignment(alignment_) - { - C4_ASSERT_MSG(alignment > 0 && (alignment & (alignment - 1)) == 0, "alignment must be a power of two"); - } -}; - -using const_raw_wrapper = raw_wrapper_; -using raw_wrapper = raw_wrapper_; - -/** mark a variable to be written in raw binary format, using memcpy - * @see blob_ */ -inline const_raw_wrapper craw(cblob data, size_t alignment=alignof(max_align_t)) -{ - return const_raw_wrapper(data, alignment); -} -/** mark a variable to be written in raw binary format, using memcpy - * @see blob_ */ -inline const_raw_wrapper raw(cblob data, size_t alignment=alignof(max_align_t)) -{ - return const_raw_wrapper(data, alignment); -} -/** mark a variable to be written in raw binary format, using memcpy - * @see blob_ */ -template -inline const_raw_wrapper craw(T const& C4_RESTRICT data, size_t alignment=alignof(T)) -{ - return const_raw_wrapper(cblob(data), alignment); -} -/** mark a variable to be written in raw binary format, using memcpy - * @see blob_ */ -template -inline const_raw_wrapper raw(T const& C4_RESTRICT data, size_t alignment=alignof(T)) -{ - return const_raw_wrapper(cblob(data), alignment); -} - -/** mark a variable to be read in raw binary format, using memcpy */ -inline raw_wrapper raw(blob data, size_t alignment=alignof(max_align_t)) -{ - return raw_wrapper(data, alignment); -} -/** mark a variable to be read in raw binary format, using memcpy */ -template -inline raw_wrapper raw(T & C4_RESTRICT data, size_t alignment=alignof(T)) -{ - return raw_wrapper(blob(data), alignment); -} - -} // namespace fmt - - -/** write a variable in raw binary format, using memcpy */ -C4CORE_EXPORT size_t to_chars(substr buf, fmt::const_raw_wrapper r); - -/** read a variable in raw binary format, using memcpy */ -C4CORE_EXPORT bool from_chars(csubstr buf, fmt::raw_wrapper *r); -/** read a variable in raw binary format, using memcpy */ -inline bool from_chars(csubstr buf, fmt::raw_wrapper r) -{ - return from_chars(buf, &r); -} - -/** read a variable in raw binary format, using memcpy */ -inline size_t from_chars_first(csubstr buf, fmt::raw_wrapper *r) -{ - return from_chars(buf, r); -} -/** read a variable in raw binary format, using memcpy */ -inline size_t from_chars_first(csubstr buf, fmt::raw_wrapper r) -{ - return from_chars(buf, &r); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -// formatting aligned to left/right - -namespace fmt { - -template -struct left_ -{ - T val; - size_t width; - char pad; - left_(T v, size_t w, char p) : val(v), width(w), pad(p) {} -}; - -template -struct right_ -{ - T val; - size_t width; - char pad; - right_(T v, size_t w, char p) : val(v), width(w), pad(p) {} -}; - -/** mark an argument to be aligned left */ -template -left_ left(T val, size_t width, char padchar=' ') -{ - return left_(val, width, padchar); -} - -/** mark an argument to be aligned right */ -template -right_ right(T val, size_t width, char padchar=' ') -{ - return right_(val, width, padchar); -} - -} // namespace fmt - - -template -size_t to_chars(substr buf, fmt::left_ const& C4_RESTRICT align) -{ - size_t ret = to_chars(buf, align.val); - if(ret >= buf.len || ret >= align.width) - return ret > align.width ? ret : align.width; - buf.first(align.width).sub(ret).fill(align.pad); - to_chars(buf, align.val); - return align.width; -} - -template -size_t to_chars(substr buf, fmt::right_ const& C4_RESTRICT align) -{ - size_t ret = to_chars(buf, align.val); - if(ret >= buf.len || ret >= align.width) - return ret > align.width ? ret : align.width; - size_t rem = static_cast(align.width - ret); - buf.first(rem).fill(align.pad); - to_chars(buf.sub(rem), align.val); - return align.width; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/// @cond dev -// terminates the variadic recursion -inline size_t cat(substr /*buf*/) -{ - return 0; -} -/// @endcond - - -/** serialize the arguments, concatenating them to the given fixed-size buffer. - * The buffer size is strictly respected: no writes will occur beyond its end. - * @return the number of characters needed to write all the arguments into the buffer. - * @see c4::catrs() if instead of a fixed-size buffer, a resizeable container is desired - * @see c4::uncat() for the inverse function - * @see c4::catsep() if a separator between each argument is to be used - * @see c4::format() if a format string is desired */ -template -size_t cat(substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t num = to_chars(buf, a); - buf = buf.len >= num ? buf.sub(num) : substr{}; - num += cat(buf, more...); - return num; -} - -/** like c4::cat() but return a substr instead of a size */ -template -substr cat_sub(substr buf, Args && ...args) -{ - size_t sz = cat(buf, std::forward(args)...); - C4_CHECK(sz <= buf.len); - return {buf.str, sz <= buf.len ? sz : buf.len}; -} - - -//----------------------------------------------------------------------------- - -/// @cond dev -// terminates the variadic recursion -inline size_t uncat(csubstr /*buf*/) -{ - return 0; -} -/// @endcond - - -/** deserialize the arguments from the given buffer. - * - * @return the number of characters read from the buffer, or csubstr::npos - * if a conversion was not successful. - * @see c4::cat(). c4::uncat() is the inverse of c4::cat(). */ -template -size_t uncat(csubstr buf, Arg & C4_RESTRICT a, Args & C4_RESTRICT ...more) -{ - size_t out = from_chars_first(buf, &a); - if(C4_UNLIKELY(out == csubstr::npos)) - return csubstr::npos; - buf = buf.len >= out ? buf.sub(out) : substr{}; - size_t num = uncat(buf, more...); - if(C4_UNLIKELY(num == csubstr::npos)) - return csubstr::npos; - return out + num; -} - - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { - -template -inline size_t catsep_more(substr /*buf*/, Sep const& C4_RESTRICT /*sep*/) -{ - return 0; -} - -template -size_t catsep_more(substr buf, Sep const& C4_RESTRICT sep, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t ret = to_chars(buf, sep), num = ret; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = to_chars(buf, a); - num += ret; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = catsep_more(buf, sep, more...); - num += ret; - return num; -} - -template -inline size_t uncatsep_more(csubstr /*buf*/, Sep & /*sep*/) -{ - return 0; -} - -template -size_t uncatsep_more(csubstr buf, Sep & C4_RESTRICT sep, Arg & C4_RESTRICT a, Args & C4_RESTRICT ...more) -{ - size_t ret = from_chars_first(buf, &sep), num = ret; - if(C4_UNLIKELY(ret == csubstr::npos)) - return csubstr::npos; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = from_chars_first(buf, &a); - if(C4_UNLIKELY(ret == csubstr::npos)) - return csubstr::npos; - num += ret; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = uncatsep_more(buf, sep, more...); - if(C4_UNLIKELY(ret == csubstr::npos)) - return csubstr::npos; - num += ret; - return num; -} - -} // namespace detail - - -/** serialize the arguments, concatenating them to the given fixed-size - * buffer, using a separator between each argument. - * The buffer size is strictly respected: no writes will occur beyond its end. - * @return the number of characters needed to write all the arguments into the buffer. - * @see c4::catseprs() if instead of a fixed-size buffer, a resizeable container is desired - * @see c4::uncatsep() for the inverse function (ie, reading instead of writing) - * @see c4::cat() if no separator is needed - * @see c4::format() if a format string is desired */ -template -size_t catsep(substr buf, Sep const& C4_RESTRICT sep, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t num = to_chars(buf, a); - buf = buf.len >= num ? buf.sub(num) : substr{}; - num += detail::catsep_more(buf, sep, more...); - return num; -} - -/** like c4::catsep() but return a substr instead of a size - * @see c4::catsep(). c4::uncatsep() is the inverse of c4::catsep(). */ -template -substr catsep_sub(substr buf, Args && ...args) -{ - size_t sz = catsep(buf, std::forward(args)...); - C4_CHECK(sz <= buf.len); - return {buf.str, sz <= buf.len ? sz : buf.len}; -} - -/** deserialize the arguments from the given buffer, using a separator. - * - * @return the number of characters read from the buffer, or csubstr::npos - * if a conversion was not successful - * @see c4::catsep(). c4::uncatsep() is the inverse of c4::catsep(). */ -template -size_t uncatsep(csubstr buf, Sep & C4_RESTRICT sep, Arg & C4_RESTRICT a, Args & C4_RESTRICT ...more) -{ - size_t ret = from_chars_first(buf, &a), num = ret; - if(C4_UNLIKELY(ret == csubstr::npos)) - return csubstr::npos; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = detail::uncatsep_more(buf, sep, more...); - if(C4_UNLIKELY(ret == csubstr::npos)) - return csubstr::npos; - num += ret; - return num; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/// @cond dev -// terminates the variadic recursion -inline size_t format(substr buf, csubstr fmt) -{ - return to_chars(buf, fmt); -} -/// @endcond - - -/** using a format string, serialize the arguments into the given - * fixed-size buffer. - * The buffer size is strictly respected: no writes will occur beyond its end. - * In the format string, each argument is marked with a compact - * curly-bracket pair: {}. Arguments beyond the last curly bracket pair - * are silently ignored. For example: - * @code{.cpp} - * c4::format(buf, "the {} drank {} {}", "partier", 5, "beers"); // the partier drank 5 beers - * c4::format(buf, "the {} drank {} {}", "programmer", 6, "coffees"); // the programmer drank 6 coffees - * @endcode - * @return the number of characters needed to write into the buffer. - * @see c4::formatrs() if instead of a fixed-size buffer, a resizeable container is desired - * @see c4::unformat() for the inverse function - * @see c4::cat() if no format or separator is needed - * @see c4::catsep() if no format is needed, but a separator must be used */ -template -size_t format(substr buf, csubstr fmt, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t pos = fmt.find("{}"); // @todo use _find_fmt() - if(C4_UNLIKELY(pos == csubstr::npos)) - return to_chars(buf, fmt); - size_t num = to_chars(buf, fmt.sub(0, pos)); - size_t out = num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = to_chars(buf, a); - out += num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = format(buf, fmt.sub(pos + 2), more...); - out += num; - return out; -} - -/** like c4::format() but return a substr instead of a size - * @see c4::format() - * @see c4::catsep(). uncatsep() is the inverse of catsep(). */ -template -substr format_sub(substr buf, csubstr fmt, Args const& C4_RESTRICT ...args) -{ - size_t sz = c4::format(buf, fmt, args...); - C4_CHECK(sz <= buf.len); - return {buf.str, sz <= buf.len ? sz : buf.len}; -} - - -//----------------------------------------------------------------------------- - -/// @cond dev -// terminates the variadic recursion -inline size_t unformat(csubstr /*buf*/, csubstr fmt) -{ - return fmt.len; -} -/// @endcond - - -/** using a format string, deserialize the arguments from the given - * buffer. - * @return the number of characters read from the buffer, or npos if a conversion failed. - * @see c4::format(). c4::unformat() is the inverse function to format(). */ -template -size_t unformat(csubstr buf, csubstr fmt, Arg & C4_RESTRICT a, Args & C4_RESTRICT ...more) -{ - const size_t pos = fmt.find("{}"); - if(C4_UNLIKELY(pos == csubstr::npos)) - return unformat(buf, fmt); - size_t num = pos; - size_t out = num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = from_chars_first(buf, &a); - if(C4_UNLIKELY(num == csubstr::npos)) - return csubstr::npos; - out += num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = unformat(buf, fmt.sub(pos + 2), more...); - if(C4_UNLIKELY(num == csubstr::npos)) - return csubstr::npos; - out += num; - return out; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** a tag type for marking append to container - * @see c4::catrs() */ -struct append_t {}; - -/** a tag variable - * @see c4::catrs() */ -constexpr const append_t append = {}; - - -//----------------------------------------------------------------------------- - -/** like c4::cat(), but receives a container, and resizes it as needed to contain - * the result. The container is overwritten. To append to it, use the append - * overload. - * @see c4::cat() */ -template -inline void catrs(CharOwningContainer * C4_RESTRICT cont, Args const& C4_RESTRICT ...args) -{ -retry: - substr buf = to_substr(*cont); - size_t ret = cat(buf, args...); - cont->resize(ret); - if(ret > buf.len) - goto retry; -} - -/** like c4::cat(), but creates and returns a new container sized as needed to contain - * the result. - * @see c4::cat() */ -template -inline CharOwningContainer catrs(Args const& C4_RESTRICT ...args) -{ - CharOwningContainer cont; - catrs(&cont, args...); - return cont; -} - -/** like c4::cat(), but receives a container, and appends to it instead of - * overwriting it. The container is resized as needed to contain the result. - * @return the region newly appended to the original container - * @see c4::cat() - * @see c4::catrs() */ -template -inline csubstr catrs(append_t, CharOwningContainer * C4_RESTRICT cont, Args const& C4_RESTRICT ...args) -{ - const size_t pos = cont->size(); -retry: - substr buf = to_substr(*cont).sub(pos); - size_t ret = cat(buf, args...); - cont->resize(pos + ret); - if(ret > buf.len) - goto retry; - return to_csubstr(*cont).range(pos, cont->size()); -} - - -//----------------------------------------------------------------------------- - -/// @cond dev -// terminates the recursion -template -inline void catseprs(CharOwningContainer * C4_RESTRICT, Sep const& C4_RESTRICT) -{ - return; -} -/// @end cond - - -/** like c4::catsep(), but receives a container, and resizes it as needed to contain the result. - * The container is overwritten. To append to the container use the append overload. - * @see c4::catsep() */ -template -inline void catseprs(CharOwningContainer * C4_RESTRICT cont, Sep const& C4_RESTRICT sep, Args const& C4_RESTRICT ...args) -{ -retry: - substr buf = to_substr(*cont); - size_t ret = catsep(buf, sep, args...); - cont->resize(ret); - if(ret > buf.len) - goto retry; -} - -/** like c4::catsep(), but create a new container with the result. - * @return the requested container */ -template -inline CharOwningContainer catseprs(Sep const& C4_RESTRICT sep, Args const& C4_RESTRICT ...args) -{ - CharOwningContainer cont; - catseprs(&cont, sep, args...); - return cont; -} - - -/// @cond dev -// terminates the recursion -template -inline csubstr catseprs(append_t, CharOwningContainer * C4_RESTRICT, Sep const& C4_RESTRICT) -{ - csubstr s; - return s; -} -/// @endcond - -/** like catsep(), but receives a container, and appends the arguments, resizing the - * container as needed to contain the result. The buffer is appended to. - * @return a csubstr of the appended part - * @ingroup formatting_functions */ -template -inline csubstr catseprs(append_t, CharOwningContainer * C4_RESTRICT cont, Sep const& C4_RESTRICT sep, Args const& C4_RESTRICT ...args) -{ - const size_t pos = cont->size(); -retry: - substr buf = to_substr(*cont).sub(pos); - size_t ret = catsep(buf, sep, args...); - cont->resize(pos + ret); - if(ret > buf.len) - goto retry; - return to_csubstr(*cont).range(pos, cont->size()); -} - - -//----------------------------------------------------------------------------- - -/** like c4::format(), but receives a container, and resizes it as needed - * to contain the result. The container is overwritten. To append to - * the container use the append overload. - * @see c4::format() */ -template -inline void formatrs(CharOwningContainer * C4_RESTRICT cont, csubstr fmt, Args const& C4_RESTRICT ...args) -{ -retry: - substr buf = to_substr(*cont); - size_t ret = format(buf, fmt, args...); - cont->resize(ret); - if(ret > buf.len) - goto retry; -} - -/** like c4::format(), but create a new container with the result. - * @return the requested container */ -template -inline CharOwningContainer formatrs(csubstr fmt, Args const& C4_RESTRICT ...args) -{ - CharOwningContainer cont; - formatrs(&cont, fmt, args...); - return cont; -} - -/** like format(), but receives a container, and appends the - * arguments, resizing the container as needed to contain the - * result. The buffer is appended to. - * @return the region newly appended to the original container - * @ingroup formatting_functions */ -template -inline csubstr formatrs(append_t, CharOwningContainer * C4_RESTRICT cont, csubstr fmt, Args const& C4_RESTRICT ...args) -{ - const size_t pos = cont->size(); -retry: - substr buf = to_substr(*cont).sub(pos); - size_t ret = format(buf, fmt, args...); - cont->resize(pos + ret); - if(ret > buf.len) - goto retry; - return to_csubstr(*cont).range(pos, cont->size()); -} - -} // namespace c4 - -#ifdef _MSC_VER -# pragma warning(pop) -#elif defined(__clang__) -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif /* _C4_FORMAT_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/format.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/dump.hpp -// https://github.com/biojppm/c4core/src/c4/dump.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef C4_DUMP_HPP_ -#define C4_DUMP_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr.hpp -//#include -#if !defined(C4_SUBSTR_HPP_) && !defined(_C4_SUBSTR_HPP_) -#error "amalgamate: file c4/substr.hpp must have been included at this point" -#endif /* C4_SUBSTR_HPP_ */ - - -namespace c4 { - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** type of the function to dump characters */ -using DumperPfn = void (*)(csubstr buf); - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -template -inline size_t dump(substr buf, Arg const& a) -{ - size_t sz = to_chars(buf, a); // need to serialize to the buffer - if(C4_LIKELY(sz <= buf.len)) - dumpfn(buf.first(sz)); - return sz; -} - -template -inline size_t dump(DumperFn &&dumpfn, substr buf, Arg const& a) -{ - size_t sz = to_chars(buf, a); // need to serialize to the buffer - if(C4_LIKELY(sz <= buf.len)) - dumpfn(buf.first(sz)); - return sz; -} - -template -inline size_t dump(substr buf, csubstr a) -{ - if(buf.len) - dumpfn(a); // dump directly, no need to serialize to the buffer - return 0; // no space was used in the buffer -} - -template -inline size_t dump(DumperFn &&dumpfn, substr buf, csubstr a) -{ - if(buf.len) - dumpfn(a); // dump directly, no need to serialize to the buffer - return 0; // no space was used in the buffer -} - -template -inline size_t dump(substr buf, const char (&a)[N]) -{ - if(buf.len) - dumpfn(csubstr(a)); // dump directly, no need to serialize to the buffer - return 0; // no space was used in the buffer -} - -template -inline size_t dump(DumperFn &&dumpfn, substr buf, const char (&a)[N]) -{ - if(buf.len) - dumpfn(csubstr(a)); // dump directly, no need to serialize to the buffer - return 0; // no space was used in the buffer -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** */ -struct DumpResults -{ - enum : size_t { noarg = (size_t)-1 }; - size_t bufsize = 0; - size_t lastok = noarg; - bool success_until(size_t expected) const { return lastok == noarg ? false : lastok >= expected; } - bool write_arg(size_t arg) const { return lastok == noarg || arg > lastok; } - size_t argfail() const { return lastok + 1; } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/// @cond dev -// terminates the variadic recursion -template -size_t cat_dump(DumperFn &&, substr) -{ - return 0; -} - -// terminates the variadic recursion -template -size_t cat_dump(substr) -{ - return 0; -} -/// @endcond - -/** take the function pointer as a function argument */ -template -size_t cat_dump(DumperFn &&dumpfn, substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t size_for_a = dump(dumpfn, buf, a); - if(C4_UNLIKELY(size_for_a > buf.len)) - buf = buf.first(0); // ensure no more calls - size_t size_for_more = cat_dump(dumpfn, buf, more...); - return size_for_more > size_for_a ? size_for_more : size_for_a; -} - -/** take the function pointer as a template argument */ -template -size_t cat_dump(substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t size_for_a = dump(buf, a); - if(C4_LIKELY(size_for_a > buf.len)) - buf = buf.first(0); // ensure no more calls - size_t size_for_more = cat_dump(buf, more...); - return size_for_more > size_for_a ? size_for_more : size_for_a; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/// @cond dev -namespace detail { - -// terminates the variadic recursion -template -DumpResults cat_dump_resume(size_t currarg, DumpResults results, substr buf, Arg const& C4_RESTRICT a) -{ - if(C4_LIKELY(results.write_arg(currarg))) - { - size_t sz = dump(buf, a); // yield to the specialized function - if(currarg == results.lastok + 1 && sz <= buf.len) - results.lastok = currarg; - results.bufsize = sz > results.bufsize ? sz : results.bufsize; - } - return results; -} - -// terminates the variadic recursion -template -DumpResults cat_dump_resume(size_t currarg, DumperFn &&dumpfn, DumpResults results, substr buf, Arg const& C4_RESTRICT a) -{ - if(C4_LIKELY(results.write_arg(currarg))) - { - size_t sz = dump(dumpfn, buf, a); // yield to the specialized function - if(currarg == results.lastok + 1 && sz <= buf.len) - results.lastok = currarg; - results.bufsize = sz > results.bufsize ? sz : results.bufsize; - } - return results; -} - -template -DumpResults cat_dump_resume(size_t currarg, DumpResults results, substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - results = detail::cat_dump_resume(currarg, results, buf, a); - return detail::cat_dump_resume(currarg + 1u, results, buf, more...); -} - -template -DumpResults cat_dump_resume(size_t currarg, DumperFn &&dumpfn, DumpResults results, substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - results = detail::cat_dump_resume(currarg, dumpfn, results, buf, a); - return detail::cat_dump_resume(currarg + 1u, dumpfn, results, buf, more...); -} -} // namespace detail -/// @endcond - - -template -C4_ALWAYS_INLINE DumpResults cat_dump_resume(DumpResults results, substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - if(results.bufsize > buf.len) - return results; - return detail::cat_dump_resume(0u, results, buf, a, more...); -} - -template -C4_ALWAYS_INLINE DumpResults cat_dump_resume(DumperFn &&dumpfn, DumpResults results, substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - if(results.bufsize > buf.len) - return results; - return detail::cat_dump_resume(0u, dumpfn, results, buf, a, more...); -} - -template -C4_ALWAYS_INLINE DumpResults cat_dump_resume(substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - return detail::cat_dump_resume(0u, DumpResults{}, buf, a, more...); -} - -template -C4_ALWAYS_INLINE DumpResults cat_dump_resume(DumperFn &&dumpfn, substr buf, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - return detail::cat_dump_resume(0u, dumpfn, DumpResults{}, buf, a, more...); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/// @cond dev -// terminate the recursion -template -size_t catsep_dump(DumperFn &&, substr, Sep const& C4_RESTRICT) -{ - return 0; -} - -// terminate the recursion -template -size_t catsep_dump(substr, Sep const& C4_RESTRICT) -{ - return 0; -} -/// @endcond - -/** take the function pointer as a function argument */ -template -size_t catsep_dump(DumperFn &&dumpfn, substr buf, Sep const& C4_RESTRICT sep, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t sz = dump(dumpfn, buf, a); - if(C4_UNLIKELY(sz > buf.len)) - buf = buf.first(0); // ensure no more calls - if C4_IF_CONSTEXPR (sizeof...(more) > 0) - { - size_t szsep = dump(dumpfn, buf, sep); - if(C4_UNLIKELY(szsep > buf.len)) - buf = buf.first(0); // ensure no more calls - sz = sz > szsep ? sz : szsep; - } - size_t size_for_more = catsep_dump(dumpfn, buf, sep, more...); - return size_for_more > sz ? size_for_more : sz; -} - -/** take the function pointer as a template argument */ -template -size_t catsep_dump(substr buf, Sep const& C4_RESTRICT sep, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - size_t sz = dump(buf, a); - if(C4_UNLIKELY(sz > buf.len)) - buf = buf.first(0); // ensure no more calls - if C4_IF_CONSTEXPR (sizeof...(more) > 0) - { - size_t szsep = dump(buf, sep); - if(C4_UNLIKELY(szsep > buf.len)) - buf = buf.first(0); // ensure no more calls - sz = sz > szsep ? sz : szsep; - } - size_t size_for_more = catsep_dump(buf, sep, more...); - return size_for_more > sz ? size_for_more : sz; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/// @cond dev -namespace detail { -template -void catsep_dump_resume_(size_t currarg, DumpResults *C4_RESTRICT results, substr *C4_RESTRICT buf, Arg const& C4_RESTRICT a) -{ - if(C4_LIKELY(results->write_arg(currarg))) - { - size_t sz = dump(*buf, a); - results->bufsize = sz > results->bufsize ? sz : results->bufsize; - if(C4_LIKELY(sz <= buf->len)) - results->lastok = currarg; - else - buf->len = 0; - } -} - -template -void catsep_dump_resume_(size_t currarg, DumperFn &&dumpfn, DumpResults *C4_RESTRICT results, substr *C4_RESTRICT buf, Arg const& C4_RESTRICT a) -{ - if(C4_LIKELY(results->write_arg(currarg))) - { - size_t sz = dump(dumpfn, *buf, a); - results->bufsize = sz > results->bufsize ? sz : results->bufsize; - if(C4_LIKELY(sz <= buf->len)) - results->lastok = currarg; - else - buf->len = 0; - } -} - -template -C4_ALWAYS_INLINE void catsep_dump_resume(size_t currarg, DumpResults *C4_RESTRICT results, substr *C4_RESTRICT buf, Sep const& C4_RESTRICT, Arg const& C4_RESTRICT a) -{ - detail::catsep_dump_resume_(currarg, results, buf, a); -} - -template -C4_ALWAYS_INLINE void catsep_dump_resume(size_t currarg, DumperFn &&dumpfn, DumpResults *C4_RESTRICT results, substr *C4_RESTRICT buf, Sep const& C4_RESTRICT, Arg const& C4_RESTRICT a) -{ - detail::catsep_dump_resume_(currarg, dumpfn, results, buf, a); -} - -template -C4_ALWAYS_INLINE void catsep_dump_resume(size_t currarg, DumpResults *C4_RESTRICT results, substr *C4_RESTRICT buf, Sep const& C4_RESTRICT sep, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - detail::catsep_dump_resume_(currarg , results, buf, a); - detail::catsep_dump_resume_(currarg + 1u, results, buf, sep); - detail::catsep_dump_resume (currarg + 2u, results, buf, sep, more...); -} - -template -C4_ALWAYS_INLINE void catsep_dump_resume(size_t currarg, DumperFn &&dumpfn, DumpResults *C4_RESTRICT results, substr *C4_RESTRICT buf, Sep const& C4_RESTRICT sep, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - detail::catsep_dump_resume_(currarg , dumpfn, results, buf, a); - detail::catsep_dump_resume_(currarg + 1u, dumpfn, results, buf, sep); - detail::catsep_dump_resume (currarg + 2u, dumpfn, results, buf, sep, more...); -} -} // namespace detail -/// @endcond - - -template -C4_ALWAYS_INLINE DumpResults catsep_dump_resume(DumpResults results, substr buf, Sep const& C4_RESTRICT sep, Args const& C4_RESTRICT ...more) -{ - detail::catsep_dump_resume(0u, &results, &buf, sep, more...); - return results; -} - -template -C4_ALWAYS_INLINE DumpResults catsep_dump_resume(DumperFn &&dumpfn, DumpResults results, substr buf, Sep const& C4_RESTRICT sep, Args const& C4_RESTRICT ...more) -{ - detail::catsep_dump_resume(0u, dumpfn, &results, &buf, sep, more...); - return results; -} - -template -C4_ALWAYS_INLINE DumpResults catsep_dump_resume(substr buf, Sep const& C4_RESTRICT sep, Args const& C4_RESTRICT ...more) -{ - DumpResults results; - detail::catsep_dump_resume(0u, &results, &buf, sep, more...); - return results; -} - -template -C4_ALWAYS_INLINE DumpResults catsep_dump_resume(DumperFn &&dumpfn, substr buf, Sep const& C4_RESTRICT sep, Args const& C4_RESTRICT ...more) -{ - DumpResults results; - detail::catsep_dump_resume(0u, dumpfn, &results, &buf, sep, more...); - return results; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** take the function pointer as a function argument */ -template -C4_ALWAYS_INLINE size_t format_dump(DumperFn &&dumpfn, substr buf, csubstr fmt) -{ - // we can dump without using buf - // but we'll only dump if the buffer is ok - if(C4_LIKELY(buf.len > 0 && fmt.len)) - dumpfn(fmt); - return 0u; -} - -/** take the function pointer as a function argument */ -template -C4_ALWAYS_INLINE size_t format_dump(substr buf, csubstr fmt) -{ - // we can dump without using buf - // but we'll only dump if the buffer is ok - if(C4_LIKELY(buf.len > 0 && fmt.len > 0)) - dumpfn(fmt); - return 0u; -} - -/** take the function pointer as a function argument */ -template -size_t format_dump(DumperFn &&dumpfn, substr buf, csubstr fmt, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - // we can dump without using buf - // but we'll only dump if the buffer is ok - size_t pos = fmt.find("{}"); // @todo use _find_fmt() - if(C4_UNLIKELY(pos == csubstr::npos)) - { - if(C4_LIKELY(buf.len > 0 && fmt.len > 0)) - dumpfn(fmt); - return 0u; - } - if(C4_LIKELY(buf.len > 0 && pos > 0)) - dumpfn(fmt.first(pos)); // we can dump without using buf - fmt = fmt.sub(pos + 2); // skip {} do this before assigning to pos again - pos = dump(dumpfn, buf, a); - if(C4_UNLIKELY(pos > buf.len)) - buf.len = 0; // ensure no more calls to dump - size_t size_for_more = format_dump(dumpfn, buf, fmt, more...); - return size_for_more > pos ? size_for_more : pos; -} - -/** take the function pointer as a template argument */ -template -size_t format_dump(substr buf, csubstr fmt, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - // we can dump without using buf - // but we'll only dump if the buffer is ok - size_t pos = fmt.find("{}"); // @todo use _find_fmt() - if(C4_UNLIKELY(pos == csubstr::npos)) - { - if(C4_LIKELY(buf.len > 0 && fmt.len > 0)) - dumpfn(fmt); - return 0u; - } - if(C4_LIKELY(buf.len > 0 && pos > 0)) - dumpfn(fmt.first(pos)); // we can dump without using buf - fmt = fmt.sub(pos + 2); // skip {} do this before assigning to pos again - pos = dump(buf, a); - if(C4_UNLIKELY(pos > buf.len)) - buf.len = 0; // ensure no more calls to dump - size_t size_for_more = format_dump(buf, fmt, more...); - return size_for_more > pos ? size_for_more : pos; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/// @cond dev -namespace detail { - -template -DumpResults format_dump_resume(size_t currarg, DumpResults results, substr buf, csubstr fmt) -{ - // we can dump without using buf - // but we'll only dump if the buffer is ok - if(C4_LIKELY(buf.len > 0)) - { - dumpfn(fmt); - results.lastok = currarg; - } - return results; -} - -template -DumpResults format_dump_resume(size_t currarg, DumperFn &&dumpfn, DumpResults results, substr buf, csubstr fmt) -{ - // we can dump without using buf - // but we'll only dump if the buffer is ok - if(C4_LIKELY(buf.len > 0)) - { - dumpfn(fmt); - results.lastok = currarg; - } - return results; -} - -template -DumpResults format_dump_resume(size_t currarg, DumpResults results, substr buf, csubstr fmt, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - // we need to process the format even if we're not - // going to print the first arguments because we're resuming - size_t pos = fmt.find("{}"); // @todo use _find_fmt() - // we can dump without using buf - // but we'll only dump if the buffer is ok - if(C4_LIKELY(results.write_arg(currarg))) - { - if(C4_UNLIKELY(pos == csubstr::npos)) - { - if(C4_LIKELY(buf.len > 0)) - { - results.lastok = currarg; - dumpfn(fmt); - } - return results; - } - if(C4_LIKELY(buf.len > 0)) - { - results.lastok = currarg; - dumpfn(fmt.first(pos)); - } - } - fmt = fmt.sub(pos + 2); - if(C4_LIKELY(results.write_arg(currarg + 1))) - { - pos = dump(buf, a); - results.bufsize = pos > results.bufsize ? pos : results.bufsize; - if(C4_LIKELY(pos <= buf.len)) - results.lastok = currarg + 1; - else - buf.len = 0; - } - return detail::format_dump_resume(currarg + 2u, results, buf, fmt, more...); -} -/// @endcond - - -template -DumpResults format_dump_resume(size_t currarg, DumperFn &&dumpfn, DumpResults results, substr buf, csubstr fmt, Arg const& C4_RESTRICT a, Args const& C4_RESTRICT ...more) -{ - // we need to process the format even if we're not - // going to print the first arguments because we're resuming - size_t pos = fmt.find("{}"); // @todo use _find_fmt() - // we can dump without using buf - // but we'll only dump if the buffer is ok - if(C4_LIKELY(results.write_arg(currarg))) - { - if(C4_UNLIKELY(pos == csubstr::npos)) - { - if(C4_LIKELY(buf.len > 0)) - { - results.lastok = currarg; - dumpfn(fmt); - } - return results; - } - if(C4_LIKELY(buf.len > 0)) - { - results.lastok = currarg; - dumpfn(fmt.first(pos)); - } - } - fmt = fmt.sub(pos + 2); - if(C4_LIKELY(results.write_arg(currarg + 1))) - { - pos = dump(dumpfn, buf, a); - results.bufsize = pos > results.bufsize ? pos : results.bufsize; - if(C4_LIKELY(pos <= buf.len)) - results.lastok = currarg + 1; - else - buf.len = 0; - } - return detail::format_dump_resume(currarg + 2u, dumpfn, results, buf, fmt, more...); -} -} // namespace detail - - -template -C4_ALWAYS_INLINE DumpResults format_dump_resume(DumpResults results, substr buf, csubstr fmt, Args const& C4_RESTRICT ...more) -{ - return detail::format_dump_resume(0u, results, buf, fmt, more...); -} - -template -C4_ALWAYS_INLINE DumpResults format_dump_resume(DumperFn &&dumpfn, DumpResults results, substr buf, csubstr fmt, Args const& C4_RESTRICT ...more) -{ - return detail::format_dump_resume(0u, dumpfn, results, buf, fmt, more...); -} - - -template -C4_ALWAYS_INLINE DumpResults format_dump_resume(substr buf, csubstr fmt, Args const& C4_RESTRICT ...more) -{ - return detail::format_dump_resume(0u, DumpResults{}, buf, fmt, more...); -} - -template -C4_ALWAYS_INLINE DumpResults format_dump_resume(DumperFn &&dumpfn, substr buf, csubstr fmt, Args const& C4_RESTRICT ...more) -{ - return detail::format_dump_resume(0u, dumpfn, DumpResults{}, buf, fmt, more...); -} - - -} // namespace c4 - - -#endif /* C4_DUMP_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/dump.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/enum.hpp -// https://github.com/biojppm/c4core/src/c4/enum.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_ENUM_HPP_ -#define _C4_ENUM_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - -//included above: -//#include - -/** @file enum.hpp utilities for enums: convert to/from string - */ - - -namespace c4 { - -//! taken from http://stackoverflow.com/questions/15586163/c11-type-trait-to-differentiate-between-enum-class-and-regular-enum -template -using is_scoped_enum = std::integral_constant::value && !std::is_convertible::value>; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -typedef enum { - EOFFS_NONE = 0, ///< no offset - EOFFS_CLS = 1, ///< get the enum offset for the class name. @see eoffs_cls() - EOFFS_PFX = 2, ///< get the enum offset for the enum prefix. @see eoffs_pfx() - _EOFFS_LAST ///< reserved -} EnumOffsetType; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** A simple (proxy) container for the value-name pairs of an enum type. - * Uses linear search for finds; this could be improved for time-critical - * code. */ -template -class EnumSymbols -{ -public: - - struct Sym - { - Enum value; - const char *name; - - bool cmp(const char *s) const; - bool cmp(const char *s, size_t len) const; - - const char *name_offs(EnumOffsetType t) const; - }; - - using const_iterator = Sym const*; - -public: - - template - EnumSymbols(Sym const (&p)[N]) : m_symbols(p), m_num(N) {} - - size_t size() const { return m_num; } - bool empty() const { return m_num == 0; } - - Sym const* get(Enum v) const { auto p = find(v); C4_CHECK_MSG(p != nullptr, "could not find symbol=%zd", (std::ptrdiff_t)v); return p; } - Sym const* get(const char *s) const { auto p = find(s); C4_CHECK_MSG(p != nullptr, "could not find symbol \"%s\"", s); return p; } - Sym const* get(const char *s, size_t len) const { auto p = find(s, len); C4_CHECK_MSG(p != nullptr, "could not find symbol \"%.*s\"", len, s); return p; } - - Sym const* find(Enum v) const; - Sym const* find(const char *s) const; - Sym const* find(const char *s, size_t len) const; - - Sym const& operator[] (size_t i) const { C4_CHECK(i < m_num); return m_symbols[i]; } - - Sym const* begin() const { return m_symbols; } - Sym const* end () const { return m_symbols + m_num; } - -private: - - Sym const* m_symbols; - size_t const m_num; - -}; - -//----------------------------------------------------------------------------- -/** return an EnumSymbols object for the enum type T - * - * @warning SPECIALIZE! This needs to be specialized for each enum - * type. Failure to provide a specialization will cause a linker - * error. */ -template -EnumSymbols const esyms(); - - -/** return the offset for an enum symbol class. For example, - * eoffs_cls() would be 13=strlen("MyEnumClass::"). - * - * With this function you can announce that the full prefix (including - * an eventual enclosing class or C++11 enum class) is of a certain - * length. - * - * @warning Needs to be specialized for each enum class type that - * wants to use this. When no specialization is given, will return - * 0. */ -template -size_t eoffs_cls() -{ - return 0; -} - - -/** return the offset for an enum symbol prefix. This includes - * eoffs_cls(). With this function you can announce that the full - * prefix (including an eventual enclosing class or C++11 enum class - * plus the string prefix) is of a certain length. - * - * @warning Needs to be specialized for each enum class type that - * wants to use this. When no specialization is given, will return - * 0. */ -template -size_t eoffs_pfx() -{ - return 0; -} - - -template -size_t eoffs(EnumOffsetType which) -{ - switch(which) - { - case EOFFS_NONE: - return 0; - case EOFFS_CLS: - return eoffs_cls(); - case EOFFS_PFX: - { - size_t pfx = eoffs_pfx(); - return pfx > 0 ? pfx : eoffs_cls(); - } - default: - C4_ERROR("unknown offset type %d", (int)which); - return 0; - } -} - - -//----------------------------------------------------------------------------- -/** get the enum value corresponding to a c-string */ - -#ifdef __clang__ -# pragma clang diagnostic push -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# if __GNUC__ >= 6 -# pragma GCC diagnostic ignored "-Wnull-dereference" -# endif -#endif - -template -Enum str2e(const char* str) -{ - auto pairs = esyms(); - auto *p = pairs.get(str); - C4_CHECK_MSG(p != nullptr, "no valid enum pair name for '%s'", str); - return p->value; -} - -/** get the c-string corresponding to an enum value */ -template -const char* e2str(Enum e) -{ - auto es = esyms(); - auto *p = es.get(e); - C4_CHECK_MSG(p != nullptr, "no valid enum pair name"); - return p->name; -} - -/** like e2str(), but add an offset. */ -template -const char* e2stroffs(Enum e, EnumOffsetType ot=EOFFS_PFX) -{ - const char *s = e2str(e) + eoffs(ot); - return s; -} - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -//----------------------------------------------------------------------------- -/** Find a symbol by value. Returns nullptr when none is found */ -template -typename EnumSymbols::Sym const* EnumSymbols::find(Enum v) const -{ - for(Sym const* p = this->m_symbols, *e = p+this->m_num; p < e; ++p) - if(p->value == v) - return p; - return nullptr; -} - -/** Find a symbol by name. Returns nullptr when none is found */ -template -typename EnumSymbols::Sym const* EnumSymbols::find(const char *s) const -{ - for(Sym const* p = this->m_symbols, *e = p+this->m_num; p < e; ++p) - if(p->cmp(s)) - return p; - return nullptr; -} - -/** Find a symbol by name. Returns nullptr when none is found */ -template -typename EnumSymbols::Sym const* EnumSymbols::find(const char *s, size_t len) const -{ - for(Sym const* p = this->m_symbols, *e = p+this->m_num; p < e; ++p) - if(p->cmp(s, len)) - return p; - return nullptr; -} - -//----------------------------------------------------------------------------- -template -bool EnumSymbols::Sym::cmp(const char *s) const -{ - if(strcmp(name, s) == 0) - return true; - - for(int i = 1; i < _EOFFS_LAST; ++i) - { - auto o = eoffs((EnumOffsetType)i); - if(o > 0) - if(strcmp(name + o, s) == 0) - return true; - } - - return false; -} - -template -bool EnumSymbols::Sym::cmp(const char *s, size_t len) const -{ - if(strncmp(name, s, len) == 0) - return true; - - size_t nlen = 0; - for(int i = 1; i <_EOFFS_LAST; ++i) - { - auto o = eoffs((EnumOffsetType)i); - if(o > 0) - { - if(!nlen) - { - nlen = strlen(name); - } - C4_ASSERT(o < nlen); - size_t rem = nlen - o; - auto m = len > rem ? len : rem; - if(len >= m && strncmp(name + o, s, m) == 0) - return true; - } - } - - return false; -} - -//----------------------------------------------------------------------------- -template -const char* EnumSymbols::Sym::name_offs(EnumOffsetType t) const -{ - C4_ASSERT(eoffs(t) < strlen(name)); - return name + eoffs(t); -} - -} // namespace c4 - -#endif // _C4_ENUM_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/enum.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/bitmask.hpp -// https://github.com/biojppm/c4core/src/c4/bitmask.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_BITMASK_HPP_ -#define _C4_BITMASK_HPP_ - -/** @file bitmask.hpp bitmask utilities */ - -//included above: -//#include -//included above: -//#include - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/enum.hpp -//#include "c4/enum.hpp" -#if !defined(C4_ENUM_HPP_) && !defined(_C4_ENUM_HPP_) -#error "amalgamate: file c4/enum.hpp must have been included at this point" -#endif /* C4_ENUM_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/format.hpp -//#include "c4/format.hpp" -#if !defined(C4_FORMAT_HPP_) && !defined(_C4_FORMAT_HPP_) -#error "amalgamate: file c4/format.hpp must have been included at this point" -#endif /* C4_FORMAT_HPP_ */ - - -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable : 4996) // 'strncpy', fopen, etc: This function or variable may be unsafe -#elif defined(__clang__) -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# if __GNUC__ >= 8 -# pragma GCC diagnostic ignored "-Wstringop-truncation" -# pragma GCC diagnostic ignored "-Wstringop-overflow" -# endif -#endif - -namespace c4 { - -//----------------------------------------------------------------------------- -/** write a bitmask to a stream, formatted as a string */ - -template -Stream& bm2stream(Stream &s, typename std::underlying_type::type bits, EnumOffsetType offst=EOFFS_PFX) -{ - using I = typename std::underlying_type::type; - bool written = false; - - auto const& pairs = esyms(); - - // write non null value - if(bits) - { - // do reverse iteration to give preference to composite enum symbols, - // which are likely to appear at the end of the enum sequence - for(size_t i = pairs.size() - 1; i != size_t(-1); --i) - { - auto p = pairs[i]; - I b(static_cast(p.value)); - if(b && (bits & b) == b) - { - if(written) s << '|'; // append bit-or character - written = true; - s << p.name_offs(offst); // append bit string - bits &= ~b; - } - } - return s; - } - else - { - // write a null value - for(size_t i = pairs.size() - 1; i != size_t(-1); --i) - { - auto p = pairs[i]; - I b(static_cast(p.value)); - if(b == 0) - { - s << p.name_offs(offst); - written = true; - break; - } - } - } - if(!written) - { - s << '0'; - } - return s; -} - -template -typename std::enable_if::value, Stream&>::type -bm2stream(Stream &s, Enum value, EnumOffsetType offst=EOFFS_PFX) -{ - using I = typename std::underlying_type::type; - return bm2stream(s, static_cast(value), offst); -} - - -//----------------------------------------------------------------------------- - -// some utility macros, undefed below - -/// @cond dev - -/* Execute `code` if the `num` of characters is available in the str - * buffer. This macro simplifies the code for bm2str(). - * @todo improve performance by writing from the end and moving only once. */ -#define _c4prependchars(code, num) \ - if(str && (pos + num <= sz)) \ - { \ - /* move the current string to the right */ \ - memmove(str + num, str, pos); \ - /* now write in the beginning of the string */ \ - code; \ - } \ - else if(str && sz) \ - { \ - C4_ERROR("cannot write to string pos=%d num=%d sz=%d", \ - (int)pos, (int)num, (int)sz); \ - } \ - pos += num - -/* Execute `code` if the `num` of characters is available in the str - * buffer. This macro simplifies the code for bm2str(). */ -#define _c4appendchars(code, num) \ - if(str && (pos + num <= sz)) \ - { \ - code; \ - } \ - else if(str && sz) \ - { \ - C4_ERROR("cannot write to string pos=%d num=%d sz=%d", \ - (int)pos, (int)num, (int)sz); \ - } \ - pos += num - -/// @endcond - - -/** convert a bitmask to string. - * return the number of characters written. To find the needed size, - * call first with str=nullptr and sz=0 */ -template -size_t bm2str -( - typename std::underlying_type::type bits, - char *str=nullptr, - size_t sz=0, - EnumOffsetType offst=EOFFS_PFX -) -{ - using I = typename std::underlying_type::type; - C4_ASSERT((str == nullptr) == (sz == 0)); - - auto syms = esyms(); - size_t pos = 0; - typename EnumSymbols::Sym const* C4_RESTRICT zero = nullptr; - - // do reverse iteration to give preference to composite enum symbols, - // which are likely to appear later in the enum sequence - for(size_t i = syms.size()-1; i != size_t(-1); --i) - { - auto const &C4_RESTRICT p = syms[i]; // do not copy, we are assigning to `zero` - I b = static_cast(p.value); - if(b == 0) - { - zero = &p; // save this symbol for later - } - else if((bits & b) == b) - { - bits &= ~b; - // append bit-or character - if(pos > 0) - { - _c4prependchars(*str = '|', 1); - } - // append bit string - const char *pname = p.name_offs(offst); - size_t len = strlen(pname); - _c4prependchars(strncpy(str, pname, len), len); - } - } - - C4_CHECK_MSG(bits == 0, "could not find all bits"); - if(pos == 0) // make sure at least something is written - { - if(zero) // if we have a zero symbol, use that - { - const char *pname = zero->name_offs(offst); - size_t len = strlen(pname); - _c4prependchars(strncpy(str, pname, len), len); - } - else // otherwise just write an integer zero - { - _c4prependchars(*str = '0', 1); - } - } - _c4appendchars(str[pos] = '\0', 1); - - return pos; -} - - -// cleanup! -#undef _c4appendchars -#undef _c4prependchars - - -/** scoped enums do not convert automatically to their underlying type, - * so this SFINAE overload will accept scoped enum symbols and cast them - * to the underlying type */ -template -typename std::enable_if::value, size_t>::type -bm2str -( - Enum bits, - char *str=nullptr, - size_t sz=0, - EnumOffsetType offst=EOFFS_PFX -) -{ - using I = typename std::underlying_type::type; - return bm2str(static_cast(bits), str, sz, offst); -} - - -//----------------------------------------------------------------------------- - -namespace detail { - -#ifdef __clang__ -# pragma clang diagnostic push -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# if __GNUC__ >= 6 -# pragma GCC diagnostic ignored "-Wnull-dereference" -# endif -#endif - -template -typename std::underlying_type::type str2bm_read_one(const char *str, size_t sz, bool alnum) -{ - using I = typename std::underlying_type::type; - auto pairs = esyms(); - if(alnum) - { - auto *p = pairs.find(str, sz); - C4_CHECK_MSG(p != nullptr, "no valid enum pair name for '%.*s'", (int)sz, str); - return static_cast(p->value); - } - I tmp; - size_t len = uncat(csubstr(str, sz), tmp); - C4_CHECK_MSG(len != csubstr::npos, "could not read string as an integral type: '%.*s'", (int)sz, str); - return tmp; -} - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif -} // namespace detail - -/** convert a string to a bitmask */ -template -typename std::underlying_type::type str2bm(const char *str, size_t sz) -{ - using I = typename std::underlying_type::type; - - I val = 0; - bool started = false; - bool alnum = false, num = false; - const char *f = nullptr, *pc = str; - for( ; pc < str+sz; ++pc) - { - const char c = *pc; - if((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z') || c == '_') - { - C4_CHECK(( ! num) || ((pc - f) == 1 && (c == 'x' || c == 'X'))); // accept hexadecimal numbers - if( ! started) - { - f = pc; - alnum = started = true; - } - } - else if(c >= '0' && c <= '9') - { - C4_CHECK( ! alnum); - if(!started) - { - f = pc; - num = started = true; - } - } - else if(c == ':' || c == ' ') - { - // skip this char - } - else if(c == '|' || c == '\0') - { - C4_ASSERT(num != alnum); - C4_ASSERT(pc >= f); - val |= detail::str2bm_read_one(f, static_cast(pc-f), alnum); - started = num = alnum = false; - if(c == '\0') - { - return val; - } - } - else - { - C4_ERROR("bad character '%c' in bitmask string", c); - } - } - - if(f) - { - C4_ASSERT(num != alnum); - C4_ASSERT(pc >= f); - val |= detail::str2bm_read_one(f, static_cast(pc-f), alnum); - } - - return val; -} - -/** convert a string to a bitmask */ -template -typename std::underlying_type::type str2bm(const char *str) -{ - return str2bm(str, strlen(str)); -} - -} // namespace c4 - -#ifdef _MSC_VER -# pragma warning(pop) -#elif defined(__clang__) -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif // _C4_BITMASK_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/bitmask.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/span.hpp -// https://github.com/biojppm/c4core/src/c4/span.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_SPAN_HPP_ -#define _C4_SPAN_HPP_ - -/** @file span.hpp Provides span classes. */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/config.hpp -//#include "c4/config.hpp" -#if !defined(C4_CONFIG_HPP_) && !defined(_C4_CONFIG_HPP_) -#error "amalgamate: file c4/config.hpp must have been included at this point" -#endif /* C4_CONFIG_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/szconv.hpp -//#include "c4/szconv.hpp" -#if !defined(C4_SZCONV_HPP_) && !defined(_C4_SZCONV_HPP_) -#error "amalgamate: file c4/szconv.hpp must have been included at this point" -#endif /* C4_SZCONV_HPP_ */ - - -//included above: -//#include - -namespace c4 { - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** a crtp base for implementing span classes - * - * A span is a non-owning range of elements contiguously stored in memory. - * Unlike STL's array_view, the span allows write-access to its members. - * - * To obtain subspans from a span, the following const member functions - * are available: - * - subspan(first, num) - * - range(first, last) - * - first(num) - * - last(num) - * - * A span can also be resized via the following non-const member functions: - * - resize(sz) - * - ltrim(num) - * - rtrim(num) - * - * @see span - * @see cspan - * @see spanrs - * @see cspanrs - * @see spanrsl - * @see cspanrsl - */ -template -class span_crtp -{ -// some utility defines, undefined at the end of this class -#define _c4this ((SpanImpl *)this) -#define _c4cthis ((SpanImpl const*)this) -#define _c4ptr ((SpanImpl *)this)->m_ptr -#define _c4cptr ((SpanImpl const*)this)->m_ptr -#define _c4sz ((SpanImpl *)this)->m_size -#define _c4csz ((SpanImpl const*)this)->m_size - -public: - - _c4_DEFINE_ARRAY_TYPES(T, I); - -public: - - C4_ALWAYS_INLINE constexpr I value_size() const noexcept { return sizeof(T); } - C4_ALWAYS_INLINE constexpr I elm_size () const noexcept { return sizeof(T); } - C4_ALWAYS_INLINE constexpr I type_size () const noexcept { return sizeof(T); } - C4_ALWAYS_INLINE I byte_size () const noexcept { return _c4csz*sizeof(T); } - - C4_ALWAYS_INLINE bool empty() const noexcept { return _c4csz == 0; } - C4_ALWAYS_INLINE I size() const noexcept { return _c4csz; } - //C4_ALWAYS_INLINE I capacity() const noexcept { return _c4sz; } // this must be defined by impl classes - - C4_ALWAYS_INLINE void clear() noexcept { _c4sz = 0; } - - C4_ALWAYS_INLINE T * data() noexcept { return _c4ptr; } - C4_ALWAYS_INLINE T const* data() const noexcept { return _c4cptr; } - - C4_ALWAYS_INLINE iterator begin() noexcept { return _c4ptr; } - C4_ALWAYS_INLINE const_iterator begin() const noexcept { return _c4cptr; } - C4_ALWAYS_INLINE const_iterator cbegin() const noexcept { return _c4cptr; } - - C4_ALWAYS_INLINE iterator end() noexcept { return _c4ptr + _c4sz; } - C4_ALWAYS_INLINE const_iterator end() const noexcept { return _c4cptr + _c4csz; } - C4_ALWAYS_INLINE const_iterator cend() const noexcept { return _c4cptr + _c4csz; } - - C4_ALWAYS_INLINE reverse_iterator rbegin() noexcept { return reverse_iterator(_c4ptr + _c4sz); } - C4_ALWAYS_INLINE const_reverse_iterator rbegin() const noexcept { return reverse_iterator(_c4cptr + _c4sz); } - C4_ALWAYS_INLINE const_reverse_iterator crbegin() const noexcept { return reverse_iterator(_c4cptr + _c4sz); } - - C4_ALWAYS_INLINE reverse_iterator rend() noexcept { return const_reverse_iterator(_c4ptr); } - C4_ALWAYS_INLINE const_reverse_iterator rend() const noexcept { return const_reverse_iterator(_c4cptr); } - C4_ALWAYS_INLINE const_reverse_iterator crend() const noexcept { return const_reverse_iterator(_c4cptr); } - - C4_ALWAYS_INLINE T & front() C4_NOEXCEPT_X { C4_XASSERT(!empty()); return _c4ptr [0]; } - C4_ALWAYS_INLINE T const& front() const C4_NOEXCEPT_X { C4_XASSERT(!empty()); return _c4cptr[0]; } - - C4_ALWAYS_INLINE T & back() C4_NOEXCEPT_X { C4_XASSERT(!empty()); return _c4ptr [_c4sz - 1]; } - C4_ALWAYS_INLINE T const& back() const C4_NOEXCEPT_X { C4_XASSERT(!empty()); return _c4cptr[_c4csz - 1]; } - - C4_ALWAYS_INLINE T & operator[] (I i) C4_NOEXCEPT_X { C4_XASSERT(i >= 0 && i < _c4sz ); return _c4ptr [i]; } - C4_ALWAYS_INLINE T const& operator[] (I i) const C4_NOEXCEPT_X { C4_XASSERT(i >= 0 && i < _c4csz); return _c4cptr[i]; } - - C4_ALWAYS_INLINE SpanImpl subspan(I first, I num) const C4_NOEXCEPT_X - { - C4_XASSERT((first >= 0 && first < _c4csz) || (first == _c4csz && num == 0)); - C4_XASSERT((first + num >= 0) && (first + num <= _c4csz)); - return _c4cthis->_select(_c4cptr + first, num); - } - C4_ALWAYS_INLINE SpanImpl subspan(I first) const C4_NOEXCEPT_X ///< goes up until the end of the span - { - C4_XASSERT(first >= 0 && first <= _c4csz); - return _c4cthis->_select(_c4cptr + first, _c4csz - first); - } - - C4_ALWAYS_INLINE SpanImpl range(I first, I last) const C4_NOEXCEPT_X ///< last element is NOT included - { - C4_XASSERT(((first >= 0) && (first < _c4csz)) || (first == _c4csz && first == last)); - C4_XASSERT((last >= 0) && (last <= _c4csz)); - C4_XASSERT(last >= first); - return _c4cthis->_select(_c4cptr + first, last - first); - } - C4_ALWAYS_INLINE SpanImpl range(I first) const C4_NOEXCEPT_X ///< goes up until the end of the span - { - C4_XASSERT(((first >= 0) && (first <= _c4csz))); - return _c4cthis->_select(_c4cptr + first, _c4csz - first); - } - - C4_ALWAYS_INLINE SpanImpl first(I num) const C4_NOEXCEPT_X ///< get the first num elements, starting at 0 - { - C4_XASSERT((num >= 0) && (num <= _c4csz)); - return _c4cthis->_select(_c4cptr, num); - } - C4_ALWAYS_INLINE SpanImpl last(I num) const C4_NOEXCEPT_X ///< get the last num elements, starting at size()-num - { - C4_XASSERT((num >= 0) && (num <= _c4csz)); - return _c4cthis->_select(_c4cptr + _c4csz - num, num); - } - - bool is_subspan(span_crtp const& ss) const noexcept - { - if(_c4cptr == nullptr) return false; - auto *b = begin(), *e = end(); - auto *ssb = ss.begin(), *sse = ss.end(); - if(ssb >= b && sse <= e) - { - return true; - } - else - { - return false; - } - } - - /** COMPLement Left: return the complement to the left of the beginning of the given subspan. - * If ss does not begin inside this, returns an empty substring. */ - SpanImpl compll(span_crtp const& ss) const C4_NOEXCEPT_X - { - auto ssb = ss.begin(); - auto b = begin(); - auto e = end(); - if(ssb >= b && ssb <= e) - { - return subspan(0, static_cast(ssb - b)); - } - else - { - return subspan(0, 0); - } - } - - /** COMPLement Right: return the complement to the right of the end of the given subspan. - * If ss does not end inside this, returns an empty substring. */ - SpanImpl complr(span_crtp const& ss) const C4_NOEXCEPT_X - { - auto sse = ss.end(); - auto b = begin(); - auto e = end(); - if(sse >= b && sse <= e) - { - return subspan(static_cast(sse - b), static_cast(e - sse)); - } - else - { - return subspan(0, 0); - } - } - - C4_ALWAYS_INLINE bool same_span(span_crtp const& that) const noexcept - { - return size() == that.size() && data() == that.data(); - } - template - C4_ALWAYS_INLINE bool same_span(span_crtp const& that) const C4_NOEXCEPT_X - { - I tsz = szconv(that.size()); // x-asserts that the size does not overflow - return size() == tsz && data() == that.data(); - } - -#undef _c4this -#undef _c4cthis -#undef _c4ptr -#undef _c4cptr -#undef _c4sz -#undef _c4csz -}; - -//----------------------------------------------------------------------------- -template -inline constexpr bool operator== -( - span_crtp const& l, - span_crtp const& r -) -{ -#if C4_CPP >= 14 - return std::equal(l.begin(), l.end(), r.begin(), r.end()); -#else - return l.same_span(r) || std::equal(l.begin(), l.end(), r.begin()); -#endif -} - -template -inline constexpr bool operator!= -( - span_crtp const& l, - span_crtp const& r -) -{ - return ! (l == r); -} - -//----------------------------------------------------------------------------- -template -inline constexpr bool operator< -( - span_crtp const& l, - span_crtp const& r -) -{ - return std::lexicographical_compare(l.begin(), l.end(), r.begin(), r.end()); -} - -template -inline constexpr bool operator<= -( - span_crtp const& l, - span_crtp const& r -) -{ - return ! (l > r); -} - -//----------------------------------------------------------------------------- -template -inline constexpr bool operator> -( - span_crtp const& l, - span_crtp const& r -) -{ - return r < l; -} - -//----------------------------------------------------------------------------- -template -inline constexpr bool operator>= -( - span_crtp const& l, - span_crtp const& r -) -{ - return ! (l < r); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** A non-owning span of elements contiguously stored in memory. */ -template -class span : public span_crtp> -{ - friend class span_crtp>; - - T * C4_RESTRICT m_ptr; - I m_size; - - C4_ALWAYS_INLINE span _select(T *p, I sz) const { return span(p, sz); } - -public: - - _c4_DEFINE_ARRAY_TYPES(T, I); - using NCT = typename std::remove_const::type; //!< NCT=non const type - using CT = typename std::add_const::type; //!< CT=const type - using const_type = span; - - /// convert automatically to span of const T - operator span () const { span s(m_ptr, m_size); return s; } - -public: - - C4_ALWAYS_INLINE C4_CONSTEXPR14 span() noexcept : m_ptr{nullptr}, m_size{0} {} - - span(span const&) = default; - span(span &&) = default; - - span& operator= (span const&) = default; - span& operator= (span &&) = default; - -public: - - /** @name Construction and assignment from same type */ - /** @{ */ - - template C4_ALWAYS_INLINE C4_CONSTEXPR14 span (T (&arr)[N]) noexcept : m_ptr{arr}, m_size{N} {} - template C4_ALWAYS_INLINE C4_CONSTEXPR14 void assign(T (&arr)[N]) noexcept { m_ptr = arr; m_size = N; } - - C4_ALWAYS_INLINE C4_CONSTEXPR14 span(T *p, I sz) noexcept : m_ptr{p}, m_size{sz} {} - C4_ALWAYS_INLINE C4_CONSTEXPR14 void assign(T *p, I sz) noexcept { m_ptr = p; m_size = sz; } - - C4_ALWAYS_INLINE C4_CONSTEXPR14 span (c4::aggregate_t, std::initializer_list il) noexcept : m_ptr{&*il.begin()}, m_size{il.size()} {} - C4_ALWAYS_INLINE C4_CONSTEXPR14 void assign(c4::aggregate_t, std::initializer_list il) noexcept { m_ptr = &*il.begin(); m_size = il.size(); } - - /** @} */ - -public: - - C4_ALWAYS_INLINE I capacity() const noexcept { return m_size; } - - C4_ALWAYS_INLINE void resize(I sz) C4_NOEXCEPT_A { C4_ASSERT(sz <= m_size); m_size = sz; } - C4_ALWAYS_INLINE void rtrim (I n ) C4_NOEXCEPT_A { C4_ASSERT(n >= 0 && n < m_size); m_size -= n; } - C4_ALWAYS_INLINE void ltrim (I n ) C4_NOEXCEPT_A { C4_ASSERT(n >= 0 && n < m_size); m_size -= n; m_ptr += n; } - -}; -template using cspan = span; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** A non-owning span resizeable up to a capacity. Subselection or resizing - * will keep the original provided it starts at begin(). If subselection or - * resizing change the pointer, then the original capacity information will - * be lost. - * - * Thus, resizing via resize() and ltrim() and subselecting via first() - * or any of subspan() or range() when starting from the beginning will keep - * the original capacity. OTOH, using last(), or any of subspan() or range() - * with an offset from the start will remove from capacity (shifting the - * pointer) by the corresponding offset. If this is undesired, then consider - * using spanrsl. - * - * @see spanrs for a span resizeable on the right - * @see spanrsl for a span resizeable on the right and left - */ - -template -class spanrs : public span_crtp> -{ - friend class span_crtp>; - - T * C4_RESTRICT m_ptr; - I m_size; - I m_capacity; - - C4_ALWAYS_INLINE spanrs _select(T *p, I sz) const noexcept - { - C4_ASSERT(p >= m_ptr); - size_t delta = static_cast(p - m_ptr); - C4_ASSERT(m_capacity >= delta); - return spanrs(p, sz, static_cast(m_capacity - delta)); - } - -public: - - _c4_DEFINE_ARRAY_TYPES(T, I); - using NCT = typename std::remove_const::type; //!< NCT=non const type - using CT = typename std::add_const::type; //!< CT=const type - using const_type = spanrs; - - /// convert automatically to span of T - C4_ALWAYS_INLINE operator span () const noexcept { return span(m_ptr, m_size); } - /// convert automatically to span of const T - //C4_ALWAYS_INLINE operator span () const noexcept { span s(m_ptr, m_size); return s; } - /// convert automatically to spanrs of const T - C4_ALWAYS_INLINE operator spanrs () const noexcept { spanrs s(m_ptr, m_size, m_capacity); return s; } - -public: - - C4_ALWAYS_INLINE spanrs() noexcept : m_ptr{nullptr}, m_size{0}, m_capacity{0} {} - - spanrs(spanrs const&) = default; - spanrs(spanrs &&) = default; - - spanrs& operator= (spanrs const&) = default; - spanrs& operator= (spanrs &&) = default; - -public: - - /** @name Construction and assignment from same type */ - /** @{ */ - - C4_ALWAYS_INLINE spanrs(T *p, I sz) noexcept : m_ptr{p}, m_size{sz}, m_capacity{sz} {} - /** @warning will reset the capacity to sz */ - C4_ALWAYS_INLINE void assign(T *p, I sz) noexcept { m_ptr = p; m_size = sz; m_capacity = sz; } - - C4_ALWAYS_INLINE spanrs(T *p, I sz, I cap) noexcept : m_ptr{p}, m_size{sz}, m_capacity{cap} {} - C4_ALWAYS_INLINE void assign(T *p, I sz, I cap) noexcept { m_ptr = p; m_size = sz; m_capacity = cap; } - - template C4_ALWAYS_INLINE spanrs(T (&arr)[N]) noexcept : m_ptr{arr}, m_size{N}, m_capacity{N} {} - template C4_ALWAYS_INLINE void assign(T (&arr)[N]) noexcept { m_ptr = arr; m_size = N; m_capacity = N; } - - C4_ALWAYS_INLINE spanrs(c4::aggregate_t, std::initializer_list il) noexcept : m_ptr{il.begin()}, m_size{il.size()}, m_capacity{il.size()} {} - C4_ALWAYS_INLINE void assign(c4::aggregate_t, std::initializer_list il) noexcept { m_ptr = il.begin(); m_size = il.size(); m_capacity = il.size(); } - - /** @} */ - -public: - - C4_ALWAYS_INLINE I capacity() const noexcept { return m_capacity; } - - C4_ALWAYS_INLINE void resize(I sz) C4_NOEXCEPT_A { C4_ASSERT(sz <= m_capacity); m_size = sz; } - C4_ALWAYS_INLINE void rtrim (I n ) C4_NOEXCEPT_A { C4_ASSERT(n >= 0 && n < m_size); m_size -= n; } - C4_ALWAYS_INLINE void ltrim (I n ) C4_NOEXCEPT_A { C4_ASSERT(n >= 0 && n < m_size); m_size -= n; m_ptr += n; m_capacity -= n; } - -}; -template using cspanrs = spanrs; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** A non-owning span which always retains the capacity of the original - * range it was taken from (though it may loose its original size). - * The resizing methods resize(), ltrim(), rtrim() as well - * as the subselection methods subspan(), range(), first() and last() can be - * used at will without loosing the original capacity; the full capacity span - * can always be recovered by calling original(). - */ -template -class spanrsl : public span_crtp> -{ - friend class span_crtp>; - - T *C4_RESTRICT m_ptr; ///< the current ptr. the original ptr is (m_ptr - m_offset). - I m_size; ///< the current size. the original size is unrecoverable. - I m_capacity; ///< the current capacity. the original capacity is (m_capacity + m_offset). - I m_offset; ///< the offset of the current m_ptr to the start of the original memory block. - - C4_ALWAYS_INLINE spanrsl _select(T *p, I sz) const noexcept - { - C4_ASSERT(p >= m_ptr); - I delta = static_cast(p - m_ptr); - C4_ASSERT(m_capacity >= delta); - return spanrsl(p, sz, static_cast(m_capacity - delta), m_offset + delta); - } - -public: - - _c4_DEFINE_ARRAY_TYPES(T, I); - using NCT = typename std::remove_const::type; //!< NCT=non const type - using CT = typename std::add_const::type; //!< CT=const type - using const_type = spanrsl; - - C4_ALWAYS_INLINE operator span () const noexcept { return span(m_ptr, m_size); } - C4_ALWAYS_INLINE operator spanrs () const noexcept { return spanrs(m_ptr, m_size, m_capacity); } - C4_ALWAYS_INLINE operator spanrsl () const noexcept { return spanrsl(m_ptr, m_size, m_capacity, m_offset); } - -public: - - C4_ALWAYS_INLINE spanrsl() noexcept : m_ptr{nullptr}, m_size{0}, m_capacity{0}, m_offset{0} {} - - spanrsl(spanrsl const&) = default; - spanrsl(spanrsl &&) = default; - - spanrsl& operator= (spanrsl const&) = default; - spanrsl& operator= (spanrsl &&) = default; - -public: - - C4_ALWAYS_INLINE spanrsl(T *p, I sz) noexcept : m_ptr{p}, m_size{sz}, m_capacity{sz}, m_offset{0} {} - C4_ALWAYS_INLINE void assign(T *p, I sz) noexcept { m_ptr = p; m_size = sz; m_capacity = sz; m_offset = 0; } - - C4_ALWAYS_INLINE spanrsl(T *p, I sz, I cap) noexcept : m_ptr{p}, m_size{sz}, m_capacity{cap}, m_offset{0} {} - C4_ALWAYS_INLINE void assign(T *p, I sz, I cap) noexcept { m_ptr = p; m_size = sz; m_capacity = cap; m_offset = 0; } - - C4_ALWAYS_INLINE spanrsl(T *p, I sz, I cap, I offs) noexcept : m_ptr{p}, m_size{sz}, m_capacity{cap}, m_offset{offs} {} - C4_ALWAYS_INLINE void assign(T *p, I sz, I cap, I offs) noexcept { m_ptr = p; m_size = sz; m_capacity = cap; m_offset = offs; } - - template C4_ALWAYS_INLINE spanrsl(T (&arr)[N]) noexcept : m_ptr{arr}, m_size{N}, m_capacity{N}, m_offset{0} {} - template C4_ALWAYS_INLINE void assign(T (&arr)[N]) noexcept { m_ptr = arr; m_size = N; m_capacity = N; m_offset = 0; } - - C4_ALWAYS_INLINE spanrsl(c4::aggregate_t, std::initializer_list il) noexcept : m_ptr{il.begin()}, m_size{il.size()}, m_capacity{il.size()}, m_offset{0} {} - C4_ALWAYS_INLINE void assign (c4::aggregate_t, std::initializer_list il) noexcept { m_ptr = il.begin(); m_size = il.size(); m_capacity = il.size(); m_offset = 0; } - -public: - - C4_ALWAYS_INLINE I offset() const noexcept { return m_offset; } - C4_ALWAYS_INLINE I capacity() const noexcept { return m_capacity; } - - C4_ALWAYS_INLINE void resize(I sz) C4_NOEXCEPT_A { C4_ASSERT(sz <= m_capacity); m_size = sz; } - C4_ALWAYS_INLINE void rtrim (I n ) C4_NOEXCEPT_A { C4_ASSERT(n >= 0 && n < m_size); m_size -= n; } - C4_ALWAYS_INLINE void ltrim (I n ) C4_NOEXCEPT_A { C4_ASSERT(n >= 0 && n < m_size); m_size -= n; m_ptr += n; m_offset += n; m_capacity -= n; } - - /** recover the original span as an spanrsl */ - C4_ALWAYS_INLINE spanrsl original() const - { - return spanrsl(m_ptr - m_offset, m_capacity + m_offset, m_capacity + m_offset, 0); - } - /** recover the original span as a different span type. Example: spanrs<...> orig = s.original(); */ - template class OtherSpanType> - C4_ALWAYS_INLINE OtherSpanType original() - { - return OtherSpanType(m_ptr - m_offset, m_capacity + m_offset); - } -}; -template using cspanrsl = spanrsl; - - -} // namespace c4 - - -#endif /* _C4_SPAN_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/span.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/type_name.hpp -// https://github.com/biojppm/c4core/src/c4/type_name.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_TYPENAME_HPP_ -#define _C4_TYPENAME_HPP_ - -/** @file type_name.hpp compile-time type name */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/span.hpp -//#include "c4/span.hpp" -#if !defined(C4_SPAN_HPP_) && !defined(_C4_SPAN_HPP_) -#error "amalgamate: file c4/span.hpp must have been included at this point" -#endif /* C4_SPAN_HPP_ */ - - -/// @cond dev -struct _c4t -{ - const char *str; - size_t sz; - template - constexpr _c4t(const char (&s)[N]) : str(s), sz(N-1) {} // take off the \0 -}; -// this is a more abbreviated way of getting the type name -// (if we used span in the return type, the name would involve -// templates and would create longer type name strings, -// as well as larger differences between compilers) -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE -_c4t _c4tn() -{ - auto p = _c4t(C4_PRETTY_FUNC); - return p; -} -/// @endcond - - -namespace c4 { - -/** compile-time type name - * @see http://stackoverflow.com/a/20170989/5875572 */ -template -C4_CONSTEXPR14 cspan type_name() -{ - const _c4t p = _c4tn(); - -#if (0) // _C4_THIS_IS_A_DEBUG_SCAFFOLD - for(size_t index = 0; index < p.sz; ++index) - { - printf(" %2c", p.str[index]); - } - printf("\n"); - for(size_t index = 0; index < p.sz; ++index) - { - printf(" %2d", (int)index); - } - printf("\n"); -#endif - -#if defined(_MSC_VER) -# if defined(__clang__) // Visual Studio has the clang toolset - // example: - // ..........................xxx. - // _c4t __cdecl _c4tn() [T = int] - enum : size_t { tstart = 26, tend = 1}; - -# elif defined(C4_MSVC_2015) || defined(C4_MSVC_2017) || defined(C4_MSVC_2019) || defined(C4_MSVC_2022) - // Note: subtract 7 at the end because the function terminates with ">(void)" in VS2015+ - cspan::size_type tstart = 26, tend = 7; - - const char *s = p.str + tstart; // look at the start - - // we're not using strcmp() or memcmp() to spare the #include - - // does it start with 'class '? - if(p.sz > 6 && s[0] == 'c' && s[1] == 'l' && s[2] == 'a' && s[3] == 's' && s[4] == 's' && s[5] == ' ') - { - tstart += 6; - } - // does it start with 'struct '? - else if(p.sz > 7 && s[0] == 's' && s[1] == 't' && s[2] == 'r' && s[3] == 'u' && s[4] == 'c' && s[5] == 't' && s[6] == ' ') - { - tstart += 7; - } - -# else - C4_NOT_IMPLEMENTED(); -# endif - -#elif defined(__ICC) - // example: - // ........................xxx. - // "_c4t _c4tn() [with T = int]" - enum : size_t { tstart = 23, tend = 1}; - -#elif defined(__clang__) - // example: - // ...................xxx. - // "_c4t _c4tn() [T = int]" - enum : size_t { tstart = 18, tend = 1}; - -#elif defined(__GNUC__) - #if __GNUC__ >= 7 && C4_CPP >= 14 - // example: - // ..................................xxx. - // "constexpr _c4t _c4tn() [with T = int]" - enum : size_t { tstart = 33, tend = 1 }; - #else - // example: - // ........................xxx. - // "_c4t _c4tn() [with T = int]" - enum : size_t { tstart = 23, tend = 1 }; - #endif -#else - C4_NOT_IMPLEMENTED(); -#endif - - cspan o(p.str + tstart, p.sz - tstart - tend); - - return o; -} - -/** compile-time type name - * @overload */ -template -C4_CONSTEXPR14 C4_ALWAYS_INLINE cspan type_name(T const&) -{ - return type_name(); -} - -} // namespace c4 - -#endif //_C4_TYPENAME_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/type_name.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/base64.hpp -// https://github.com/biojppm/c4core/src/c4/base64.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_BASE64_HPP_ -#define _C4_BASE64_HPP_ - -/** @file base64.hpp encoding/decoding for base64. - * @see https://en.wikipedia.org/wiki/Base64 - * @see https://www.base64encode.org/ - * */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/charconv.hpp -//#include "c4/charconv.hpp" -#if !defined(C4_CHARCONV_HPP_) && !defined(_C4_CHARCONV_HPP_) -#error "amalgamate: file c4/charconv.hpp must have been included at this point" -#endif /* C4_CHARCONV_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/blob.hpp -//#include "c4/blob.hpp" -#if !defined(C4_BLOB_HPP_) && !defined(_C4_BLOB_HPP_) -#error "amalgamate: file c4/blob.hpp must have been included at this point" -#endif /* C4_BLOB_HPP_ */ - - -namespace c4 { - -/** check that the given buffer is a valid base64 encoding - * @see https://en.wikipedia.org/wiki/Base64 */ -bool base64_valid(csubstr encoded); - -/** base64-encode binary data. - * @param encoded [out] output buffer for encoded data - * @param data [in] the input buffer with the binary data - * @return the number of bytes needed to return the output. No writes occur beyond the end of the output buffer. - * @see https://en.wikipedia.org/wiki/Base64 */ -size_t base64_encode(substr encoded, cblob data); - -/** decode the base64 encoding in the given buffer - * @param encoded [in] the encoded base64 - * @param data [out] the output buffer - * @return the number of bytes needed to return the output.. No writes occur beyond the end of the output buffer. - * @see https://en.wikipedia.org/wiki/Base64 */ -size_t base64_decode(csubstr encoded, blob data); - - -namespace fmt { - -template -struct base64_wrapper_ -{ - blob_ data; - base64_wrapper_() : data() {} - base64_wrapper_(blob_ blob) : data(blob) {} -}; -using const_base64_wrapper = base64_wrapper_; -using base64_wrapper = base64_wrapper_; - - -/** mark a variable to be written in base64 format */ -template -C4_ALWAYS_INLINE const_base64_wrapper cbase64(Args const& C4_RESTRICT ...args) -{ - return const_base64_wrapper(cblob(args...)); -} -/** mark a csubstr to be written in base64 format */ -C4_ALWAYS_INLINE const_base64_wrapper cbase64(csubstr s) -{ - return const_base64_wrapper(cblob(s.str, s.len)); -} -/** mark a variable to be written in base64 format */ -template -C4_ALWAYS_INLINE const_base64_wrapper base64(Args const& C4_RESTRICT ...args) -{ - return const_base64_wrapper(cblob(args...)); -} -/** mark a csubstr to be written in base64 format */ -C4_ALWAYS_INLINE const_base64_wrapper base64(csubstr s) -{ - return const_base64_wrapper(cblob(s.str, s.len)); -} - -/** mark a variable to be read in base64 format */ -template -C4_ALWAYS_INLINE base64_wrapper base64(Args &... args) -{ - return base64_wrapper(blob(args...)); -} -/** mark a variable to be read in base64 format */ -C4_ALWAYS_INLINE base64_wrapper base64(substr s) -{ - return base64_wrapper(blob(s.str, s.len)); -} - -} // namespace fmt - - -/** write a variable in base64 format */ -inline size_t to_chars(substr buf, fmt::const_base64_wrapper b) -{ - return base64_encode(buf, b.data); -} - -/** read a variable in base64 format */ -inline size_t from_chars(csubstr buf, fmt::base64_wrapper *b) -{ - return base64_decode(buf, b->data); -} - -} // namespace c4 - -#endif /* _C4_BASE64_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/base64.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/std/string.hpp -// https://github.com/biojppm/c4core/src/c4/std/string.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_STD_STRING_HPP_ -#define _C4_STD_STRING_HPP_ - -/** @file string.hpp */ - -#ifndef C4CORE_SINGLE_HEADER -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr.hpp -//#include "c4/substr.hpp" -#if !defined(C4_SUBSTR_HPP_) && !defined(_C4_SUBSTR_HPP_) -#error "amalgamate: file c4/substr.hpp must have been included at this point" -#endif /* C4_SUBSTR_HPP_ */ - -#endif - -//included above: -//#include - -namespace c4 { - -//----------------------------------------------------------------------------- - -/** get a writeable view to an existing std::string. - * When the string is empty, the returned view will be pointing - * at the character with value '\0', but the size will be zero. - * @see https://en.cppreference.com/w/cpp/string/basic_string/operator_at - */ -C4_ALWAYS_INLINE c4::substr to_substr(std::string &s) noexcept -{ - #if C4_CPP < 11 - #error this function will do undefined behavior - #endif - // since c++11 it is legal to call s[s.size()]. - return c4::substr(&s[0], s.size()); -} - -/** get a readonly view to an existing std::string. - * When the string is empty, the returned view will be pointing - * at the character with value '\0', but the size will be zero. - * @see https://en.cppreference.com/w/cpp/string/basic_string/operator_at - */ -C4_ALWAYS_INLINE c4::csubstr to_csubstr(std::string const& s) noexcept -{ - #if C4_CPP < 11 - #error this function will do undefined behavior - #endif - // since c++11 it is legal to call s[s.size()]. - return c4::csubstr(&s[0], s.size()); -} - -//----------------------------------------------------------------------------- - -C4_ALWAYS_INLINE bool operator== (c4::csubstr ss, std::string const& s) { return ss.compare(to_csubstr(s)) == 0; } -C4_ALWAYS_INLINE bool operator!= (c4::csubstr ss, std::string const& s) { return ss.compare(to_csubstr(s)) != 0; } -C4_ALWAYS_INLINE bool operator>= (c4::csubstr ss, std::string const& s) { return ss.compare(to_csubstr(s)) >= 0; } -C4_ALWAYS_INLINE bool operator> (c4::csubstr ss, std::string const& s) { return ss.compare(to_csubstr(s)) > 0; } -C4_ALWAYS_INLINE bool operator<= (c4::csubstr ss, std::string const& s) { return ss.compare(to_csubstr(s)) <= 0; } -C4_ALWAYS_INLINE bool operator< (c4::csubstr ss, std::string const& s) { return ss.compare(to_csubstr(s)) < 0; } - -C4_ALWAYS_INLINE bool operator== (std::string const& s, c4::csubstr ss) { return ss.compare(to_csubstr(s)) == 0; } -C4_ALWAYS_INLINE bool operator!= (std::string const& s, c4::csubstr ss) { return ss.compare(to_csubstr(s)) != 0; } -C4_ALWAYS_INLINE bool operator>= (std::string const& s, c4::csubstr ss) { return ss.compare(to_csubstr(s)) <= 0; } -C4_ALWAYS_INLINE bool operator> (std::string const& s, c4::csubstr ss) { return ss.compare(to_csubstr(s)) < 0; } -C4_ALWAYS_INLINE bool operator<= (std::string const& s, c4::csubstr ss) { return ss.compare(to_csubstr(s)) >= 0; } -C4_ALWAYS_INLINE bool operator< (std::string const& s, c4::csubstr ss) { return ss.compare(to_csubstr(s)) > 0; } - -//----------------------------------------------------------------------------- - -/** copy an std::string to a writeable string view */ -inline size_t to_chars(c4::substr buf, std::string const& s) -{ - C4_ASSERT(!buf.overlaps(to_csubstr(s))); - size_t len = buf.len < s.size() ? buf.len : s.size(); - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(len) - { - C4_ASSERT(s.data() != nullptr); - C4_ASSERT(buf.str != nullptr); - memcpy(buf.str, s.data(), len); - } - return s.size(); // return the number of needed chars -} - -/** copy a string view to an existing std::string */ -inline bool from_chars(c4::csubstr buf, std::string * s) -{ - s->resize(buf.len); - C4_ASSERT(!buf.overlaps(to_csubstr(*s))); - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(buf.len) - { - C4_ASSERT(buf.str != nullptr); - memcpy(&(*s)[0], buf.str, buf.len); - } - return true; -} - -} // namespace c4 - -#endif // _C4_STD_STRING_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/std/string.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/std/vector.hpp -// https://github.com/biojppm/c4core/src/c4/std/vector.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_STD_VECTOR_HPP_ -#define _C4_STD_VECTOR_HPP_ - -/** @file vector.hpp provides conversion and comparison facilities - * from/between std::vector to c4::substr and c4::csubstr. - * @todo add to_span() and friends - */ - -#ifndef C4CORE_SINGLE_HEADER -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/substr.hpp -//#include "c4/substr.hpp" -#if !defined(C4_SUBSTR_HPP_) && !defined(_C4_SUBSTR_HPP_) -#error "amalgamate: file c4/substr.hpp must have been included at this point" -#endif /* C4_SUBSTR_HPP_ */ - -#endif - -#include - -namespace c4 { - -//----------------------------------------------------------------------------- - -/** get a substr (writeable string view) of an existing std::vector */ -template -c4::substr to_substr(std::vector &vec) -{ - char *data = vec.empty() ? nullptr : vec.data(); // data() may or may not return a null pointer. - return c4::substr(data, vec.size()); -} - -/** get a csubstr (read-only string) view of an existing std::vector */ -template -c4::csubstr to_csubstr(std::vector const& vec) -{ - const char *data = vec.empty() ? nullptr : vec.data(); // data() may or may not return a null pointer. - return c4::csubstr(data, vec.size()); -} - -//----------------------------------------------------------------------------- -// comparisons between substrings and std::vector - -template C4_ALWAYS_INLINE bool operator!= (c4::csubstr ss, std::vector const& s) { return ss != to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator== (c4::csubstr ss, std::vector const& s) { return ss == to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator>= (c4::csubstr ss, std::vector const& s) { return ss >= to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator> (c4::csubstr ss, std::vector const& s) { return ss > to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator<= (c4::csubstr ss, std::vector const& s) { return ss <= to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator< (c4::csubstr ss, std::vector const& s) { return ss < to_csubstr(s); } - -template C4_ALWAYS_INLINE bool operator!= (std::vector const& s, c4::csubstr ss) { return ss != to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator== (std::vector const& s, c4::csubstr ss) { return ss == to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator>= (std::vector const& s, c4::csubstr ss) { return ss <= to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator> (std::vector const& s, c4::csubstr ss) { return ss < to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator<= (std::vector const& s, c4::csubstr ss) { return ss >= to_csubstr(s); } -template C4_ALWAYS_INLINE bool operator< (std::vector const& s, c4::csubstr ss) { return ss > to_csubstr(s); } - -//----------------------------------------------------------------------------- - -/** copy a std::vector to a writeable string view */ -template -inline size_t to_chars(c4::substr buf, std::vector const& s) -{ - C4_ASSERT(!buf.overlaps(to_csubstr(s))); - size_t len = buf.len < s.size() ? buf.len : s.size(); - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(len > 0) - { - memcpy(buf.str, s.data(), len); - } - return s.size(); // return the number of needed chars -} - -/** copy a string view to an existing std::vector */ -template -inline bool from_chars(c4::csubstr buf, std::vector * s) -{ - s->resize(buf.len); - C4_ASSERT(!buf.overlaps(to_csubstr(*s))); - // calling memcpy with null strings is undefined behavior - // and will wreak havoc in calling code's branches. - // see https://github.com/biojppm/rapidyaml/pull/264#issuecomment-1262133637 - if(buf.len > 0) - { - memcpy(&(*s)[0], buf.str, buf.len); - } - return true; -} - -} // namespace c4 - -#endif // _C4_STD_VECTOR_HPP_ - - -// (end https://github.com/biojppm/c4core/src/c4/std/vector.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/std/tuple.hpp -// https://github.com/biojppm/c4core/src/c4/std/tuple.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_STD_TUPLE_HPP_ -#define _C4_STD_TUPLE_HPP_ - -/** @file tuple.hpp */ - -#ifndef C4CORE_SINGLE_HEADER -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/format.hpp -//#include "c4/format.hpp" -#if !defined(C4_FORMAT_HPP_) && !defined(_C4_FORMAT_HPP_) -#error "amalgamate: file c4/format.hpp must have been included at this point" -#endif /* C4_FORMAT_HPP_ */ - -#endif - -#include - -/** this is a work in progress */ -#undef C4_TUPLE_TO_CHARS - -namespace c4 { - -#ifdef C4_TUPLE_TO_CHARS -namespace detail { - -template< size_t Curr, class... Types > -struct tuple_helper -{ - static size_t do_cat(substr buf, std::tuple< Types... > const& tp) - { - size_t num = to_chars(buf, std::get(tp)); - buf = buf.len >= num ? buf.sub(num) : substr{}; - num += tuple_helper< Curr+1, Types... >::do_cat(buf, tp); - return num; - } - - static size_t do_uncat(csubstr buf, std::tuple< Types... > & tp) - { - size_t num = from_str_trim(buf, &std::get(tp)); - if(num == csubstr::npos) return csubstr::npos; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num += tuple_helper< Curr+1, Types... >::do_uncat(buf, tp); - return num; - } - - template< class Sep > - static size_t do_catsep_more(substr buf, Sep const& sep, std::tuple< Types... > const& tp) - { - size_t ret = to_chars(buf, sep), num = ret; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = to_chars(buf, std::get(tp)); - num += ret; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = tuple_helper< Curr+1, Types... >::do_catsep_more(buf, sep, tp); - num += ret; - return num; - } - - template< class Sep > - static size_t do_uncatsep_more(csubstr buf, Sep & sep, std::tuple< Types... > & tp) - { - size_t ret = from_str_trim(buf, &sep), num = ret; - if(ret == csubstr::npos) return csubstr::npos; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = from_str_trim(buf, &std::get(tp)); - if(ret == csubstr::npos) return csubstr::npos; - num += ret; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = tuple_helper< Curr+1, Types... >::do_uncatsep_more(buf, sep, tp); - if(ret == csubstr::npos) return csubstr::npos; - num += ret; - return num; - } - - static size_t do_format(substr buf, csubstr fmt, std::tuple< Types... > const& tp) - { - auto pos = fmt.find("{}"); - if(pos != csubstr::npos) - { - size_t num = to_chars(buf, fmt.sub(0, pos)); - size_t out = num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = to_chars(buf, std::get(tp)); - out += num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = tuple_helper< Curr+1, Types... >::do_format(buf, fmt.sub(pos + 2), tp); - out += num; - return out; - } - else - { - return format(buf, fmt); - } - } - - static size_t do_unformat(csubstr buf, csubstr fmt, std::tuple< Types... > & tp) - { - auto pos = fmt.find("{}"); - if(pos != csubstr::npos) - { - size_t num = pos; - size_t out = num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = from_str_trim(buf, &std::get(tp)); - out += num; - buf = buf.len >= num ? buf.sub(num) : substr{}; - num = tuple_helper< Curr+1, Types... >::do_unformat(buf, fmt.sub(pos + 2), tp); - out += num; - return out; - } - else - { - return tuple_helper< sizeof...(Types), Types... >::do_unformat(buf, fmt, tp); - } - } - -}; - -/** @todo VS compilation fails for this class */ -template< class... Types > -struct tuple_helper< sizeof...(Types), Types... > -{ - static size_t do_cat(substr /*buf*/, std::tuple const& /*tp*/) { return 0; } - static size_t do_uncat(csubstr /*buf*/, std::tuple & /*tp*/) { return 0; } - - template< class Sep > static size_t do_catsep_more(substr /*buf*/, Sep const& /*sep*/, std::tuple const& /*tp*/) { return 0; } - template< class Sep > static size_t do_uncatsep_more(csubstr /*buf*/, Sep & /*sep*/, std::tuple & /*tp*/) { return 0; } - - static size_t do_format(substr buf, csubstr fmt, std::tuple const& /*tp*/) - { - return to_chars(buf, fmt); - } - - static size_t do_unformat(csubstr buf, csubstr fmt, std::tuple const& /*tp*/) - { - return 0; - } -}; - -} // namespace detail - -template< class... Types > -inline size_t cat(substr buf, std::tuple< Types... > const& tp) -{ - return detail::tuple_helper< 0, Types... >::do_cat(buf, tp); -} - -template< class... Types > -inline size_t uncat(csubstr buf, std::tuple< Types... > & tp) -{ - return detail::tuple_helper< 0, Types... >::do_uncat(buf, tp); -} - -template< class Sep, class... Types > -inline size_t catsep(substr buf, Sep const& sep, std::tuple< Types... > const& tp) -{ - size_t num = to_chars(buf, std::cref(std::get<0>(tp))); - buf = buf.len >= num ? buf.sub(num) : substr{}; - num += detail::tuple_helper< 1, Types... >::do_catsep_more(buf, sep, tp); - return num; -} - -template< class Sep, class... Types > -inline size_t uncatsep(csubstr buf, Sep & sep, std::tuple< Types... > & tp) -{ - size_t ret = from_str_trim(buf, &std::get<0>(tp)), num = ret; - if(ret == csubstr::npos) return csubstr::npos; - buf = buf.len >= ret ? buf.sub(ret) : substr{}; - ret = detail::tuple_helper< 1, Types... >::do_uncatsep_more(buf, sep, tp); - if(ret == csubstr::npos) return csubstr::npos; - num += ret; - return num; -} - -template< class... Types > -inline size_t format(substr buf, csubstr fmt, std::tuple< Types... > const& tp) -{ - return detail::tuple_helper< 0, Types... >::do_format(buf, fmt, tp); -} - -template< class... Types > -inline size_t unformat(csubstr buf, csubstr fmt, std::tuple< Types... > & tp) -{ - return detail::tuple_helper< 0, Types... >::do_unformat(buf, fmt, tp); -} -#endif // C4_TUPLE_TO_CHARS - -} // namespace c4 - -#endif /* _C4_STD_TUPLE_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/std/tuple.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/ext/rng/rng.hpp -// https://github.com/biojppm/c4core/src/c4/ext/rng/rng.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -/* Copyright (c) 2018 Arvid Gerstmann. - * - * https://arvid.io/2018/07/02/better-cxx-prng/ - * - * This code is licensed under MIT license. */ -#ifndef AG_RANDOM_H -#define AG_RANDOM_H - -//included above: -//#include -#include - - -namespace c4 { -namespace rng { - - -class splitmix -{ -public: - using result_type = uint32_t; - static constexpr result_type (min)() { return 0; } - static constexpr result_type (max)() { return UINT32_MAX; } - friend bool operator==(splitmix const &, splitmix const &); - friend bool operator!=(splitmix const &, splitmix const &); - - splitmix() : m_seed(1) {} - explicit splitmix(uint64_t s) : m_seed(s) {} - explicit splitmix(std::random_device &rd) - { - seed(rd); - } - - void seed(uint64_t s) { m_seed = s; } - void seed(std::random_device &rd) - { - m_seed = uint64_t(rd()) << 31 | uint64_t(rd()); - } - - result_type operator()() - { - uint64_t z = (m_seed += UINT64_C(0x9E3779B97F4A7C15)); - z = (z ^ (z >> 30)) * UINT64_C(0xBF58476D1CE4E5B9); - z = (z ^ (z >> 27)) * UINT64_C(0x94D049BB133111EB); - return result_type((z ^ (z >> 31)) >> 31); - } - - void discard(unsigned long long n) - { - for (unsigned long long i = 0; i < n; ++i) - operator()(); - } - -private: - uint64_t m_seed; -}; - -inline bool operator==(splitmix const &lhs, splitmix const &rhs) -{ - return lhs.m_seed == rhs.m_seed; -} -inline bool operator!=(splitmix const &lhs, splitmix const &rhs) -{ - return lhs.m_seed != rhs.m_seed; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -class xorshift -{ -public: - using result_type = uint32_t; - static constexpr result_type (min)() { return 0; } - static constexpr result_type (max)() { return UINT32_MAX; } - friend bool operator==(xorshift const &, xorshift const &); - friend bool operator!=(xorshift const &, xorshift const &); - - xorshift() : m_seed(0xc1f651c67c62c6e0ull) {} - explicit xorshift(std::random_device &rd) - { - seed(rd); - } - - void seed(uint64_t s) { m_seed = s; } - void seed(std::random_device &rd) - { - m_seed = uint64_t(rd()) << 31 | uint64_t(rd()); - } - - result_type operator()() - { - uint64_t result = m_seed * 0xd989bcacc137dcd5ull; - m_seed ^= m_seed >> 11; - m_seed ^= m_seed << 31; - m_seed ^= m_seed >> 18; - return uint32_t(result >> 32ull); - } - - void discard(unsigned long long n) - { - for (unsigned long long i = 0; i < n; ++i) - operator()(); - } - -private: - uint64_t m_seed; -}; - -inline bool operator==(xorshift const &lhs, xorshift const &rhs) -{ - return lhs.m_seed == rhs.m_seed; -} -inline bool operator!=(xorshift const &lhs, xorshift const &rhs) -{ - return lhs.m_seed != rhs.m_seed; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -class pcg -{ -public: - using result_type = uint32_t; - static constexpr result_type (min)() { return 0; } - static constexpr result_type (max)() { return UINT32_MAX; } - friend bool operator==(pcg const &, pcg const &); - friend bool operator!=(pcg const &, pcg const &); - - pcg() - : m_state(0x853c49e6748fea9bULL) - , m_inc(0xda3e39cb94b95bdbULL) - {} - explicit pcg(uint64_t s) { m_state = s; m_inc = m_state << 1; } - explicit pcg(std::random_device &rd) - { - seed(rd); - } - - void seed(uint64_t s) { m_state = s; } - void seed(std::random_device &rd) - { - uint64_t s0 = uint64_t(rd()) << 31 | uint64_t(rd()); - uint64_t s1 = uint64_t(rd()) << 31 | uint64_t(rd()); - - m_state = 0; - m_inc = (s1 << 1) | 1; - (void)operator()(); - m_state += s0; - (void)operator()(); - } - - result_type operator()() - { - uint64_t oldstate = m_state; - m_state = oldstate * 6364136223846793005ULL + m_inc; - uint32_t xorshifted = uint32_t(((oldstate >> 18u) ^ oldstate) >> 27u); - //int rot = oldstate >> 59u; // the original. error? - int64_t rot = (int64_t)oldstate >> 59u; // error? - return (xorshifted >> rot) | (xorshifted << ((uint64_t)(-rot) & 31)); - } - - void discard(unsigned long long n) - { - for (unsigned long long i = 0; i < n; ++i) - operator()(); - } - -private: - uint64_t m_state; - uint64_t m_inc; -}; - -inline bool operator==(pcg const &lhs, pcg const &rhs) -{ - return lhs.m_state == rhs.m_state - && lhs.m_inc == rhs.m_inc; -} -inline bool operator!=(pcg const &lhs, pcg const &rhs) -{ - return lhs.m_state != rhs.m_state - || lhs.m_inc != rhs.m_inc; -} - -} // namespace rng -} // namespace c4 - -#endif /* AG_RANDOM_H */ - - -// (end https://github.com/biojppm/c4core/src/c4/ext/rng/rng.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/ext/sg14/inplace_function.h -// https://github.com/biojppm/c4core/src/c4/ext/sg14/inplace_function.h -//-------------------------------------------------------------------------------- -//******************************************************************************** - -/* - * Boost Software License - Version 1.0 - August 17th, 2003 - * - * Permission is hereby granted, free of charge, to any person or organization - * obtaining a copy of the software and accompanying documentation covered by - * this license (the "Software") to use, reproduce, display, distribute, - * execute, and transmit the Software, and to prepare derivative works of the - * Software, and to permit third-parties to whom the Software is furnished to - * do so, all subject to the following: - * - * The copyright notices in the Software and this entire statement, including - * the above license grant, this restriction and the following disclaimer, - * must be included in all copies of the Software, in whole or in part, and - * all derivative works of the Software, unless such copies or derivative - * works are solely in the form of machine-executable object code generated by - * a source language processor. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT - * SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE - * FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, - * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER - * DEALINGS IN THE SOFTWARE. - */ -#ifndef _C4_EXT_SG14_INPLACE_FUNCTION_H_ -#define _C4_EXT_SG14_INPLACE_FUNCTION_H_ - -//included above: -//#include -//included above: -//#include -#include - -namespace stdext { - -namespace inplace_function_detail { - -static constexpr size_t InplaceFunctionDefaultCapacity = 32; - -#if defined(__GLIBCXX__) // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61458 -template -union aligned_storage_helper { - struct double1 { double a; }; - struct double4 { double a[4]; }; - template using maybe = typename std::conditional<(Cap >= sizeof(T)), T, char>::type; - char real_data[Cap]; - maybe a; - maybe b; - maybe c; - maybe d; - maybe e; - maybe f; - maybe g; - maybe h; -}; - -template>::value> -struct aligned_storage { - using type = typename std::aligned_storage::type; -}; -#else -using std::aligned_storage; -#endif - -template struct wrapper -{ - using type = T; -}; - -template struct vtable -{ - using storage_ptr_t = void*; - - using invoke_ptr_t = R(*)(storage_ptr_t, Args&&...); - using process_ptr_t = void(*)(storage_ptr_t, storage_ptr_t); - using destructor_ptr_t = void(*)(storage_ptr_t); - - const invoke_ptr_t invoke_ptr; - const process_ptr_t copy_ptr; - const process_ptr_t move_ptr; - const destructor_ptr_t destructor_ptr; - - explicit constexpr vtable() noexcept : - invoke_ptr{ [](storage_ptr_t, Args&&...) -> R - { throw std::bad_function_call(); } - }, - copy_ptr{ [](storage_ptr_t, storage_ptr_t) noexcept -> void {} }, - move_ptr{ [](storage_ptr_t, storage_ptr_t) noexcept -> void {} }, - destructor_ptr{ [](storage_ptr_t) noexcept -> void {} } - {} - - template explicit constexpr vtable(wrapper) noexcept : - invoke_ptr{ [](storage_ptr_t storage_ptr, Args&&... args) - noexcept(noexcept(std::declval()(args...))) -> R - { return (*static_cast(storage_ptr))( - std::forward(args)... - ); } - }, - copy_ptr{ [](storage_ptr_t dst_ptr, storage_ptr_t src_ptr) - noexcept(std::is_nothrow_copy_constructible::value) -> void - { new (dst_ptr) C{ (*static_cast(src_ptr)) }; } - }, - move_ptr{ [](storage_ptr_t dst_ptr, storage_ptr_t src_ptr) - noexcept(std::is_nothrow_move_constructible::value) -> void - { new (dst_ptr) C{ std::move(*static_cast(src_ptr)) }; } - }, - destructor_ptr{ [](storage_ptr_t storage_ptr) - noexcept -> void - { static_cast(storage_ptr)->~C(); } - } - {} - - vtable(const vtable&) = delete; - vtable(vtable&&) = delete; - - vtable& operator= (const vtable&) = delete; - vtable& operator= (vtable&&) = delete; - - ~vtable() = default; -}; - -template -struct is_valid_inplace_dst : std::true_type -{ - static_assert(DstCap >= SrcCap, - "Can't squeeze larger inplace_function into a smaller one" - ); - - static_assert(DstAlign % SrcAlign == 0, - "Incompatible inplace_function alignments" - ); -}; - -} // namespace inplace_function_detail - -template< - typename Signature, - size_t Capacity = inplace_function_detail::InplaceFunctionDefaultCapacity, - size_t Alignment = std::alignment_of::type>::value -> -class inplace_function; // unspecified - -template< - typename R, - typename... Args, - size_t Capacity, - size_t Alignment -> -class inplace_function -{ - static const constexpr inplace_function_detail::vtable empty_vtable{}; -public: - using capacity = std::integral_constant; - using alignment = std::integral_constant; - - using storage_t = typename inplace_function_detail::aligned_storage::type; - using vtable_t = inplace_function_detail::vtable; - using vtable_ptr_t = const vtable_t*; - - template friend class inplace_function; - - inplace_function() noexcept : - vtable_ptr_{std::addressof(empty_vtable)} - {} - - template< - typename T, - typename C = typename std::decay::type, - typename = typename std::enable_if< - !(std::is_same::value - || std::is_convertible::value) - >::type - > - inplace_function(T&& closure) - { -#if __cplusplus >= 201703L - static_assert(std::is_invocable_r::value, - "inplace_function cannot be constructed from non-callable type" - ); -#endif - static_assert(std::is_copy_constructible::value, - "inplace_function cannot be constructed from non-copyable type" - ); - - static_assert(sizeof(C) <= Capacity, - "inplace_function cannot be constructed from object with this (large) size" - ); - - static_assert(Alignment % std::alignment_of::value == 0, - "inplace_function cannot be constructed from object with this (large) alignment" - ); - - static const vtable_t vt{inplace_function_detail::wrapper{}}; - vtable_ptr_ = std::addressof(vt); - - new (std::addressof(storage_)) C{std::forward(closure)}; - } - - inplace_function(std::nullptr_t) noexcept : - vtable_ptr_{std::addressof(empty_vtable)} - {} - - inplace_function(const inplace_function& other) : - vtable_ptr_{other.vtable_ptr_} - { - vtable_ptr_->copy_ptr( - std::addressof(storage_), - std::addressof(other.storage_) - ); - } - - inplace_function(inplace_function&& other) : - vtable_ptr_{other.vtable_ptr_} - { - vtable_ptr_->move_ptr( - std::addressof(storage_), - std::addressof(other.storage_) - ); - } - - inplace_function& operator= (std::nullptr_t) noexcept - { - vtable_ptr_->destructor_ptr(std::addressof(storage_)); - vtable_ptr_ = std::addressof(empty_vtable); - return *this; - } - - inplace_function& operator= (const inplace_function& other) - { - if(this != std::addressof(other)) - { - vtable_ptr_->destructor_ptr(std::addressof(storage_)); - - vtable_ptr_ = other.vtable_ptr_; - vtable_ptr_->copy_ptr( - std::addressof(storage_), - std::addressof(other.storage_) - ); - } - return *this; - } - - inplace_function& operator= (inplace_function&& other) - { - if(this != std::addressof(other)) - { - vtable_ptr_->destructor_ptr(std::addressof(storage_)); - - vtable_ptr_ = other.vtable_ptr_; - vtable_ptr_->move_ptr( - std::addressof(storage_), - std::addressof(other.storage_) - ); - } - return *this; - } - - ~inplace_function() - { - vtable_ptr_->destructor_ptr(std::addressof(storage_)); - } - - R operator() (Args... args) const - { - return vtable_ptr_->invoke_ptr( - std::addressof(storage_), - std::forward(args)... - ); - } - - constexpr bool operator== (std::nullptr_t) const noexcept - { - return !operator bool(); - } - - constexpr bool operator!= (std::nullptr_t) const noexcept - { - return operator bool(); - } - - explicit constexpr operator bool() const noexcept - { - return vtable_ptr_ != std::addressof(empty_vtable); - } - - template - operator inplace_function() const& - { - static_assert(inplace_function_detail::is_valid_inplace_dst< - Cap, Align, Capacity, Alignment - >::value, "conversion not allowed"); - - return {vtable_ptr_, vtable_ptr_->copy_ptr, std::addressof(storage_)}; - } - - template - operator inplace_function() && - { - static_assert(inplace_function_detail::is_valid_inplace_dst< - Cap, Align, Capacity, Alignment - >::value, "conversion not allowed"); - - return {vtable_ptr_, vtable_ptr_->move_ptr, std::addressof(storage_)}; - } - - void swap(inplace_function& other) - { - if (this == std::addressof(other)) return; - - storage_t tmp; - vtable_ptr_->move_ptr( - std::addressof(tmp), - std::addressof(storage_) - ); - vtable_ptr_->destructor_ptr(std::addressof(storage_)); - - other.vtable_ptr_->move_ptr( - std::addressof(storage_), - std::addressof(other.storage_) - ); - other.vtable_ptr_->destructor_ptr(std::addressof(other.storage_)); - - vtable_ptr_->move_ptr( - std::addressof(other.storage_), - std::addressof(tmp) - ); - vtable_ptr_->destructor_ptr(std::addressof(tmp)); - - std::swap(vtable_ptr_, other.vtable_ptr_); - } - -private: - vtable_ptr_t vtable_ptr_; - mutable storage_t storage_; - - inplace_function( - vtable_ptr_t vtable_ptr, - typename vtable_t::process_ptr_t process_ptr, - typename vtable_t::storage_ptr_t storage_ptr - ) : vtable_ptr_{vtable_ptr} - { - process_ptr(std::addressof(storage_), storage_ptr); - } -}; - -} // namespace stdext - -#endif /* _C4_EXT_SG14_INPLACE_FUNCTION_H_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/ext/sg14/inplace_function.h) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/language.cpp -// https://github.com/biojppm/c4core/src/c4/language.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/language.hpp -//#include "c4/language.hpp" -#if !defined(C4_LANGUAGE_HPP_) && !defined(_C4_LANGUAGE_HPP_) -#error "amalgamate: file c4/language.hpp must have been included at this point" -#endif /* C4_LANGUAGE_HPP_ */ - - -namespace c4 { -namespace detail { - -#ifndef __GNUC__ -void use_char_pointer(char const volatile* v) -{ - C4_UNUSED(v); -} -#else -void foo() {} // to avoid empty file warning from the linker -#endif - -} // namespace detail -} // namespace c4 - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/language.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/format.cpp -// https://github.com/biojppm/c4core/src/c4/format.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/format.hpp -//#include "c4/format.hpp" -#if !defined(C4_FORMAT_HPP_) && !defined(_C4_FORMAT_HPP_) -#error "amalgamate: file c4/format.hpp must have been included at this point" -#endif /* C4_FORMAT_HPP_ */ - - -//included above: -//#include // for std::align - -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wformat-nonliteral" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wformat-nonliteral" -#endif - -namespace c4 { - - -size_t to_chars(substr buf, fmt::const_raw_wrapper r) -{ - void * vptr = buf.str; - size_t space = buf.len; - auto ptr = (decltype(buf.str)) std::align(r.alignment, r.len, vptr, space); - if(ptr == nullptr) - { - // if it was not possible to align, return a conservative estimate - // of the required space - return r.alignment + r.len; - } - C4_CHECK(ptr >= buf.begin() && ptr <= buf.end()); - size_t sz = static_cast(ptr - buf.str) + r.len; - if(sz <= buf.len) - { - memcpy(ptr, r.buf, r.len); - } - return sz; -} - - -bool from_chars(csubstr buf, fmt::raw_wrapper *r) -{ - void * vptr = (void*)buf.str; - size_t space = buf.len; - auto ptr = (decltype(buf.str)) std::align(r->alignment, r->len, vptr, space); - C4_CHECK(ptr != nullptr); - C4_CHECK(ptr >= buf.begin() && ptr <= buf.end()); - //size_t dim = (ptr - buf.str) + r->len; - memcpy(r->buf, ptr, r->len); - return true; -} - - -} // namespace c4 - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/format.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/memory_util.cpp -// https://github.com/biojppm/c4core/src/c4/memory_util.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/memory_util.hpp -//#include "c4/memory_util.hpp" -#if !defined(C4_MEMORY_UTIL_HPP_) && !defined(_C4_MEMORY_UTIL_HPP_) -#error "amalgamate: file c4/memory_util.hpp must have been included at this point" -#endif /* C4_MEMORY_UTIL_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - - -namespace c4 { - -/** Fills 'dest' with the first 'pattern_size' bytes at 'pattern', 'num_times'. */ -void mem_repeat(void* dest, void const* pattern, size_t pattern_size, size_t num_times) -{ - if(C4_UNLIKELY(num_times == 0)) - return; - C4_ASSERT( ! mem_overlaps(dest, pattern, num_times*pattern_size, pattern_size)); - char *begin = (char*)dest; - char *end = begin + num_times * pattern_size; - // copy the pattern once - ::memcpy(begin, pattern, pattern_size); - // now copy from dest to itself, doubling up every time - size_t n = pattern_size; - while(begin + 2*n < end) - { - ::memcpy(begin + n, begin, n); - n <<= 1; // double n - } - // copy the missing part - if(begin + n < end) - { - ::memcpy(begin + n, begin, static_cast(end - (begin + n))); - } -} - -} // namespace c4 - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/memory_util.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/char_traits.cpp -// https://github.com/biojppm/c4core/src/c4/char_traits.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/char_traits.hpp -//#include "c4/char_traits.hpp" -#if !defined(C4_CHAR_TRAITS_HPP_) && !defined(_C4_CHAR_TRAITS_HPP_) -#error "amalgamate: file c4/char_traits.hpp must have been included at this point" -#endif /* C4_CHAR_TRAITS_HPP_ */ - - -namespace c4 { - -constexpr const char char_traits< char >::whitespace_chars[]; -constexpr const size_t char_traits< char >::num_whitespace_chars; -constexpr const wchar_t char_traits< wchar_t >::whitespace_chars[]; -constexpr const size_t char_traits< wchar_t >::num_whitespace_chars; - -} // namespace c4 - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/char_traits.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/memory_resource.cpp -// https://github.com/biojppm/c4core/src/c4/memory_resource.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/memory_resource.hpp -//#include "c4/memory_resource.hpp" -#if !defined(C4_MEMORY_RESOURCE_HPP_) && !defined(_C4_MEMORY_RESOURCE_HPP_) -#error "amalgamate: file c4/memory_resource.hpp must have been included at this point" -#endif /* C4_MEMORY_RESOURCE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/memory_util.hpp -//#include "c4/memory_util.hpp" -#if !defined(C4_MEMORY_UTIL_HPP_) && !defined(_C4_MEMORY_UTIL_HPP_) -#error "amalgamate: file c4/memory_util.hpp must have been included at this point" -#endif /* C4_MEMORY_UTIL_HPP_ */ - - -//included above: -//#include -//included above: -//#include -#if defined(C4_POSIX) || defined(C4_IOS) || defined(C4_MACOS) || defined(C4_ARM) -# include -#endif -#if defined(C4_ARM) -# include -#endif - -//included above: -//#include - -namespace c4 { - -namespace detail { - - -#ifdef C4_NO_ALLOC_DEFAULTS -aalloc_pfn s_aalloc = nullptr; -free_pfn s_afree = nullptr; -arealloc_pfn s_arealloc = nullptr; -#else - - -void afree_impl(void *ptr) -{ -#if defined(C4_WIN) || defined(C4_XBOX) - ::_aligned_free(ptr); -#else - ::free(ptr); -#endif -} - - -void* aalloc_impl(size_t size, size_t alignment) -{ - void *mem; -#if defined(C4_WIN) || defined(C4_XBOX) - mem = ::_aligned_malloc(size, alignment); - C4_CHECK(mem != nullptr || size == 0); -#elif defined(C4_ARM) - // https://stackoverflow.com/questions/53614538/undefined-reference-to-posix-memalign-in-arm-gcc - // https://electronics.stackexchange.com/questions/467382/e2-studio-undefined-reference-to-posix-memalign/467753 - mem = memalign(alignment, size); - C4_CHECK(mem != nullptr || size == 0); -#elif defined(C4_POSIX) || defined(C4_IOS) || defined(C4_MACOS) - // NOTE: alignment needs to be sized in multiples of sizeof(void*) - size_t amult = alignment; - if(C4_UNLIKELY(alignment < sizeof(void*))) - { - amult = sizeof(void*); - } - int ret = ::posix_memalign(&mem, amult, size); - if(C4_UNLIKELY(ret)) - { - if(ret == EINVAL) - { - C4_ERROR("The alignment argument %zu was not a power of two, " - "or was not a multiple of sizeof(void*)", alignment); - } - else if(ret == ENOMEM) - { - C4_ERROR("There was insufficient memory to fulfill the " - "allocation request of %zu bytes (alignment=%lu)", size, size); - } - return nullptr; - } -#else - C4_NOT_IMPLEMENTED_MSG("need to implement an aligned allocation for this platform"); -#endif - C4_ASSERT_MSG((uintptr_t(mem) & (alignment-1)) == 0, "address %p is not aligned to %zu boundary", mem, alignment); - return mem; -} - - -void* arealloc_impl(void* ptr, size_t oldsz, size_t newsz, size_t alignment) -{ - /** @todo make this more efficient - * @see https://stackoverflow.com/questions/9078259/does-realloc-keep-the-memory-alignment-of-posix-memalign - * @see look for qReallocAligned() in http://code.qt.io/cgit/qt/qtbase.git/tree/src/corelib/global/qmalloc.cpp - */ - void *tmp = aalloc(newsz, alignment); - size_t min = newsz < oldsz ? newsz : oldsz; - if(mem_overlaps(ptr, tmp, oldsz, newsz)) - { - ::memmove(tmp, ptr, min); - } - else - { - ::memcpy(tmp, ptr, min); - } - afree(ptr); - return tmp; -} - -aalloc_pfn s_aalloc = aalloc_impl; -afree_pfn s_afree = afree_impl; -arealloc_pfn s_arealloc = arealloc_impl; - -#endif // C4_NO_ALLOC_DEFAULTS - -} // namespace detail - - -aalloc_pfn get_aalloc() -{ - return detail::s_aalloc; -} -void set_aalloc(aalloc_pfn fn) -{ - detail::s_aalloc = fn; -} - -afree_pfn get_afree() -{ - return detail::s_afree; -} -void set_afree(afree_pfn fn) -{ - detail::s_afree = fn; -} - -arealloc_pfn get_arealloc() -{ - return detail::s_arealloc; -} -void set_arealloc(arealloc_pfn fn) -{ - detail::s_arealloc = fn; -} - - -void* aalloc(size_t sz, size_t alignment) -{ - C4_ASSERT_MSG(c4::get_aalloc() != nullptr, "did you forget to call set_aalloc()?"); - auto fn = c4::get_aalloc(); - void* ptr = fn(sz, alignment); - return ptr; -} - -void afree(void* ptr) -{ - C4_ASSERT_MSG(c4::get_afree() != nullptr, "did you forget to call set_afree()?"); - auto fn = c4::get_afree(); - fn(ptr); -} - -void* arealloc(void *ptr, size_t oldsz, size_t newsz, size_t alignment) -{ - C4_ASSERT_MSG(c4::get_arealloc() != nullptr, "did you forget to call set_arealloc()?"); - auto fn = c4::get_arealloc(); - void* nptr = fn(ptr, oldsz, newsz, alignment); - return nptr; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -void detail::_MemoryResourceSingleChunk::release() -{ - if(m_mem && m_owner) - { - impl_type::deallocate(m_mem, m_size); - } - m_mem = nullptr; - m_size = 0; - m_owner = false; - m_pos = 0; -} - -void detail::_MemoryResourceSingleChunk::acquire(size_t sz) -{ - clear(); - m_owner = true; - m_mem = (char*) impl_type::allocate(sz, alignof(max_align_t)); - m_size = sz; - m_pos = 0; -} - -void detail::_MemoryResourceSingleChunk::acquire(void *mem, size_t sz) -{ - clear(); - m_owner = false; - m_mem = (char*) mem; - m_size = sz; - m_pos = 0; -} - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -void* MemoryResourceLinear::do_allocate(size_t sz, size_t alignment, void *hint) -{ - C4_UNUSED(hint); - if(sz == 0) return nullptr; - // make sure there's enough room to allocate - if(m_pos + sz > m_size) - { - C4_ERROR("out of memory"); - return nullptr; - } - void *mem = m_mem + m_pos; - size_t space = m_size - m_pos; - if(std::align(alignment, sz, mem, space)) - { - C4_ASSERT(m_pos <= m_size); - C4_ASSERT(m_size - m_pos >= space); - m_pos += (m_size - m_pos) - space; - m_pos += sz; - C4_ASSERT(m_pos <= m_size); - } - else - { - C4_ERROR("could not align memory"); - mem = nullptr; - } - return mem; -} - -void MemoryResourceLinear::do_deallocate(void* ptr, size_t sz, size_t alignment) -{ - C4_UNUSED(ptr); - C4_UNUSED(sz); - C4_UNUSED(alignment); - // nothing to do!! -} - -void* MemoryResourceLinear::do_reallocate(void* ptr, size_t oldsz, size_t newsz, size_t alignment) -{ - if(newsz == oldsz) return ptr; - // is ptr the most recently allocated (MRA) block? - char *cptr = (char*)ptr; - bool same_pos = (m_mem + m_pos == cptr + oldsz); - // no need to get more memory when shrinking - if(newsz < oldsz) - { - // if this is the MRA, we can safely shrink the position - if(same_pos) - { - m_pos -= oldsz - newsz; - } - return ptr; - } - // we're growing the block, and it fits in size - else if(same_pos && cptr + newsz <= m_mem + m_size) - { - // if this is the MRA, we can safely shrink the position - m_pos += newsz - oldsz; - return ptr; - } - // we're growing the block or it doesn't fit - - // delegate any of these situations to do_deallocate() - return do_allocate(newsz, alignment, ptr); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** @todo add a free list allocator. A good candidate because of its - * small size is TLSF. - * - * @see https://github.com/mattconte/tlsf - * - * Comparisons: - * - * @see https://www.researchgate.net/publication/262375150_A_Comparative_Study_on_Memory_Allocators_in_Multicore_and_Multithreaded_Applications_-_SBESC_2011_-_Presentation_Slides - * @see http://webkit.sed.hu/blog/20100324/war-allocators-tlsf-action - * @see https://github.com/emeryberger/Malloc-Implementations/tree/master/allocators - * - * */ - -} // namespace c4 - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -#ifdef C4_REDEFINE_CPPNEW -#include -void* operator new(size_t size) -{ - auto *mr = ::c4::get_memory_resource(); - return mr->allocate(size); -} -void operator delete(void *p) noexcept -{ - C4_NEVER_REACH(); -} -void operator delete(void *p, size_t size) -{ - auto *mr = ::c4::get_memory_resource(); - mr->deallocate(p, size); -} -void* operator new[](size_t size) -{ - return operator new(size); -} -void operator delete[](void *p) noexcept -{ - operator delete(p); -} -void operator delete[](void *p, size_t size) -{ - operator delete(p, size); -} -void* operator new(size_t size, std::nothrow_t) -{ - return operator new(size); -} -void operator delete(void *p, std::nothrow_t) -{ - operator delete(p); -} -void operator delete(void *p, size_t size, std::nothrow_t) -{ - operator delete(p, size); -} -void* operator new[](size_t size, std::nothrow_t) -{ - return operator new(size); -} -void operator delete[](void *p, std::nothrow_t) -{ - operator delete(p); -} -void operator delete[](void *p, size_t, std::nothrow_t) -{ - operator delete(p, size); -} -#endif // C4_REDEFINE_CPPNEW - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/memory_resource.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/utf.cpp -// https://github.com/biojppm/c4core/src/c4/utf.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/utf.hpp -//#include "c4/utf.hpp" -#if !defined(C4_UTF_HPP_) && !defined(_C4_UTF_HPP_) -#error "amalgamate: file c4/utf.hpp must have been included at this point" -#endif /* C4_UTF_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/charconv.hpp -//#include "c4/charconv.hpp" -#if !defined(C4_CHARCONV_HPP_) && !defined(_C4_CHARCONV_HPP_) -#error "amalgamate: file c4/charconv.hpp must have been included at this point" -#endif /* C4_CHARCONV_HPP_ */ - - -namespace c4 { - -size_t decode_code_point(uint8_t *C4_RESTRICT buf, size_t buflen, const uint32_t code) -{ - C4_UNUSED(buflen); - C4_ASSERT(buflen >= 4); - if (code <= UINT32_C(0x7f)) - { - buf[0] = (uint8_t)code; - return 1u; - } - else if(code <= UINT32_C(0x7ff)) - { - buf[0] = (uint8_t)(UINT32_C(0xc0) | (code >> 6)); /* 110xxxxx */ - buf[1] = (uint8_t)(UINT32_C(0x80) | (code & UINT32_C(0x3f))); /* 10xxxxxx */ - return 2u; - } - else if(code <= UINT32_C(0xffff)) - { - buf[0] = (uint8_t)(UINT32_C(0xe0) | ((code >> 12))); /* 1110xxxx */ - buf[1] = (uint8_t)(UINT32_C(0x80) | ((code >> 6) & UINT32_C(0x3f))); /* 10xxxxxx */ - buf[2] = (uint8_t)(UINT32_C(0x80) | ((code ) & UINT32_C(0x3f))); /* 10xxxxxx */ - return 3u; - } - else if(code <= UINT32_C(0x10ffff)) - { - buf[0] = (uint8_t)(UINT32_C(0xf0) | ((code >> 18))); /* 11110xxx */ - buf[1] = (uint8_t)(UINT32_C(0x80) | ((code >> 12) & UINT32_C(0x3f))); /* 10xxxxxx */ - buf[2] = (uint8_t)(UINT32_C(0x80) | ((code >> 6) & UINT32_C(0x3f))); /* 10xxxxxx */ - buf[3] = (uint8_t)(UINT32_C(0x80) | ((code ) & UINT32_C(0x3f))); /* 10xxxxxx */ - return 4u; - } - return 0; -} - -substr decode_code_point(substr out, csubstr code_point) -{ - C4_ASSERT(out.len >= 4); - C4_ASSERT(!code_point.begins_with("U+")); - C4_ASSERT(!code_point.begins_with("\\x")); - C4_ASSERT(!code_point.begins_with("\\u")); - C4_ASSERT(!code_point.begins_with("\\U")); - C4_ASSERT(!code_point.begins_with('0')); - C4_ASSERT(code_point.len <= 8); - C4_ASSERT(code_point.len > 0); - uint32_t code_point_val; - C4_CHECK(read_hex(code_point, &code_point_val)); - size_t ret = decode_code_point((uint8_t*)out.str, out.len, code_point_val); - C4_ASSERT(ret <= 4); - return out.first(ret); -} - -} // namespace c4 - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/utf.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/base64.cpp -// https://github.com/biojppm/c4core/src/c4/base64.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/base64.hpp -//#include "c4/base64.hpp" -#if !defined(C4_BASE64_HPP_) && !defined(_C4_BASE64_HPP_) -#error "amalgamate: file c4/base64.hpp must have been included at this point" -#endif /* C4_BASE64_HPP_ */ - - -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wchar-subscripts" // array subscript is of type 'char' -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wchar-subscripts" -# pragma GCC diagnostic ignored "-Wtype-limits" -#endif - -namespace c4 { - -namespace detail { - -constexpr static const char base64_sextet_to_char_[64] = { - /* 0/ 65*/ 'A', /* 1/ 66*/ 'B', /* 2/ 67*/ 'C', /* 3/ 68*/ 'D', - /* 4/ 69*/ 'E', /* 5/ 70*/ 'F', /* 6/ 71*/ 'G', /* 7/ 72*/ 'H', - /* 8/ 73*/ 'I', /* 9/ 74*/ 'J', /*10/ 75*/ 'K', /*11/ 74*/ 'L', - /*12/ 77*/ 'M', /*13/ 78*/ 'N', /*14/ 79*/ 'O', /*15/ 78*/ 'P', - /*16/ 81*/ 'Q', /*17/ 82*/ 'R', /*18/ 83*/ 'S', /*19/ 82*/ 'T', - /*20/ 85*/ 'U', /*21/ 86*/ 'V', /*22/ 87*/ 'W', /*23/ 88*/ 'X', - /*24/ 89*/ 'Y', /*25/ 90*/ 'Z', /*26/ 97*/ 'a', /*27/ 98*/ 'b', - /*28/ 99*/ 'c', /*29/100*/ 'd', /*30/101*/ 'e', /*31/102*/ 'f', - /*32/103*/ 'g', /*33/104*/ 'h', /*34/105*/ 'i', /*35/106*/ 'j', - /*36/107*/ 'k', /*37/108*/ 'l', /*38/109*/ 'm', /*39/110*/ 'n', - /*40/111*/ 'o', /*41/112*/ 'p', /*42/113*/ 'q', /*43/114*/ 'r', - /*44/115*/ 's', /*45/116*/ 't', /*46/117*/ 'u', /*47/118*/ 'v', - /*48/119*/ 'w', /*49/120*/ 'x', /*50/121*/ 'y', /*51/122*/ 'z', - /*52/ 48*/ '0', /*53/ 49*/ '1', /*54/ 50*/ '2', /*55/ 51*/ '3', - /*56/ 52*/ '4', /*57/ 53*/ '5', /*58/ 54*/ '6', /*59/ 55*/ '7', - /*60/ 56*/ '8', /*61/ 57*/ '9', /*62/ 43*/ '+', /*63/ 47*/ '/', -}; - -// https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html -constexpr static const char base64_char_to_sextet_[128] = { - #define __ char(-1) // undefined below - /* 0 NUL*/ __, /* 1 SOH*/ __, /* 2 STX*/ __, /* 3 ETX*/ __, - /* 4 EOT*/ __, /* 5 ENQ*/ __, /* 6 ACK*/ __, /* 7 BEL*/ __, - /* 8 BS */ __, /* 9 TAB*/ __, /* 10 LF */ __, /* 11 VT */ __, - /* 12 FF */ __, /* 13 CR */ __, /* 14 SO */ __, /* 15 SI */ __, - /* 16 DLE*/ __, /* 17 DC1*/ __, /* 18 DC2*/ __, /* 19 DC3*/ __, - /* 20 DC4*/ __, /* 21 NAK*/ __, /* 22 SYN*/ __, /* 23 ETB*/ __, - /* 24 CAN*/ __, /* 25 EM */ __, /* 26 SUB*/ __, /* 27 ESC*/ __, - /* 28 FS */ __, /* 29 GS */ __, /* 30 RS */ __, /* 31 US */ __, - /* 32 SPC*/ __, /* 33 ! */ __, /* 34 " */ __, /* 35 # */ __, - /* 36 $ */ __, /* 37 % */ __, /* 38 & */ __, /* 39 ' */ __, - /* 40 ( */ __, /* 41 ) */ __, /* 42 * */ __, /* 43 + */ 62, - /* 44 , */ __, /* 45 - */ __, /* 46 . */ __, /* 47 / */ 63, - /* 48 0 */ 52, /* 49 1 */ 53, /* 50 2 */ 54, /* 51 3 */ 55, - /* 52 4 */ 56, /* 53 5 */ 57, /* 54 6 */ 58, /* 55 7 */ 59, - /* 56 8 */ 60, /* 57 9 */ 61, /* 58 : */ __, /* 59 ; */ __, - /* 60 < */ __, /* 61 = */ __, /* 62 > */ __, /* 63 ? */ __, - /* 64 @ */ __, /* 65 A */ 0, /* 66 B */ 1, /* 67 C */ 2, - /* 68 D */ 3, /* 69 E */ 4, /* 70 F */ 5, /* 71 G */ 6, - /* 72 H */ 7, /* 73 I */ 8, /* 74 J */ 9, /* 75 K */ 10, - /* 76 L */ 11, /* 77 M */ 12, /* 78 N */ 13, /* 79 O */ 14, - /* 80 P */ 15, /* 81 Q */ 16, /* 82 R */ 17, /* 83 S */ 18, - /* 84 T */ 19, /* 85 U */ 20, /* 86 V */ 21, /* 87 W */ 22, - /* 88 X */ 23, /* 89 Y */ 24, /* 90 Z */ 25, /* 91 [ */ __, - /* 92 \ */ __, /* 93 ] */ __, /* 94 ^ */ __, /* 95 _ */ __, - /* 96 ` */ __, /* 97 a */ 26, /* 98 b */ 27, /* 99 c */ 28, - /*100 d */ 29, /*101 e */ 30, /*102 f */ 31, /*103 g */ 32, - /*104 h */ 33, /*105 i */ 34, /*106 j */ 35, /*107 k */ 36, - /*108 l */ 37, /*109 m */ 38, /*110 n */ 39, /*111 o */ 40, - /*112 p */ 41, /*113 q */ 42, /*114 r */ 43, /*115 s */ 44, - /*116 t */ 45, /*117 u */ 46, /*118 v */ 47, /*119 w */ 48, - /*120 x */ 49, /*121 y */ 50, /*122 z */ 51, /*123 { */ __, - /*124 | */ __, /*125 } */ __, /*126 ~ */ __, /*127 DEL*/ __, - #undef __ -}; - -#ifndef NDEBUG -void base64_test_tables() -{ - for(size_t i = 0; i < C4_COUNTOF(detail::base64_sextet_to_char_); ++i) - { - char s2c = base64_sextet_to_char_[i]; - char c2s = base64_char_to_sextet_[(int)s2c]; - C4_CHECK((size_t)c2s == i); - } - for(size_t i = 0; i < C4_COUNTOF(detail::base64_char_to_sextet_); ++i) - { - char c2s = base64_char_to_sextet_[i]; - if(c2s == char(-1)) - continue; - char s2c = base64_sextet_to_char_[(int)c2s]; - C4_CHECK((size_t)s2c == i); - } -} -#endif -} // namespace detail - - -bool base64_valid(csubstr encoded) -{ - if(encoded.len % 4) return false; - for(const char c : encoded) - { - if(c < 0/* || c >= 128*/) - return false; - if(c == '=') - continue; - if(detail::base64_char_to_sextet_[c] == char(-1)) - return false; - } - return true; -} - - -size_t base64_encode(substr buf, cblob data) -{ - #define c4append_(c) { if(pos < buf.len) { buf.str[pos] = (c); } ++pos; } - #define c4append_idx_(char_idx) \ - {\ - C4_XASSERT((char_idx) < sizeof(detail::base64_sextet_to_char_));\ - c4append_(detail::base64_sextet_to_char_[(char_idx)]);\ - } - - size_t rem, pos = 0; - constexpr const uint32_t sextet_mask = uint32_t(1 << 6) - 1; - const unsigned char *C4_RESTRICT d = (unsigned char *) data.buf; // cast to unsigned to avoid wrapping high-bits - for(rem = data.len; rem >= 3; rem -= 3, d += 3) - { - const uint32_t val = ((uint32_t(d[0]) << 16) | (uint32_t(d[1]) << 8) | (uint32_t(d[2]))); - c4append_idx_((val >> 18) & sextet_mask); - c4append_idx_((val >> 12) & sextet_mask); - c4append_idx_((val >> 6) & sextet_mask); - c4append_idx_((val ) & sextet_mask); - } - C4_ASSERT(rem < 3); - if(rem == 2) - { - const uint32_t val = ((uint32_t(d[0]) << 16) | (uint32_t(d[1]) << 8)); - c4append_idx_((val >> 18) & sextet_mask); - c4append_idx_((val >> 12) & sextet_mask); - c4append_idx_((val >> 6) & sextet_mask); - c4append_('='); - } - else if(rem == 1) - { - const uint32_t val = ((uint32_t(d[0]) << 16)); - c4append_idx_((val >> 18) & sextet_mask); - c4append_idx_((val >> 12) & sextet_mask); - c4append_('='); - c4append_('='); - } - return pos; - - #undef c4append_ - #undef c4append_idx_ -} - - -size_t base64_decode(csubstr encoded, blob data) -{ - #define c4append_(c) { if(wpos < data.len) { data.buf[wpos] = static_cast(c); } ++wpos; } - #define c4appendval_(c, shift)\ - {\ - C4_XASSERT(c >= 0);\ - C4_XASSERT(size_t(c) < sizeof(detail::base64_char_to_sextet_));\ - val |= static_cast(detail::base64_char_to_sextet_[(c)]) << ((shift) * 6);\ - } - - C4_ASSERT(base64_valid(encoded)); - C4_CHECK(encoded.len % 4 == 0); - size_t wpos = 0; // the write position - const char *C4_RESTRICT d = encoded.str; - constexpr const uint32_t full_byte = 0xff; - // process every quartet of input 6 bits --> triplet of output bytes - for(size_t rpos = 0; rpos < encoded.len; rpos += 4, d += 4) - { - if(d[2] == '=' || d[3] == '=') // skip the last quartet if it is padded - { - C4_ASSERT(d + 4 == encoded.str + encoded.len); - break; - } - uint32_t val = 0; - c4appendval_(d[3], 0); - c4appendval_(d[2], 1); - c4appendval_(d[1], 2); - c4appendval_(d[0], 3); - c4append_((val >> (2 * 8)) & full_byte); - c4append_((val >> (1 * 8)) & full_byte); - c4append_((val ) & full_byte); - } - // deal with the last quartet when it is padded - if(d == encoded.str + encoded.len) - return wpos; - if(d[2] == '=') // 2 padding chars - { - C4_ASSERT(d + 4 == encoded.str + encoded.len); - C4_ASSERT(d[3] == '='); - uint32_t val = 0; - c4appendval_(d[1], 2); - c4appendval_(d[0], 3); - c4append_((val >> (2 * 8)) & full_byte); - } - else if(d[3] == '=') // 1 padding char - { - C4_ASSERT(d + 4 == encoded.str + encoded.len); - uint32_t val = 0; - c4appendval_(d[2], 1); - c4appendval_(d[1], 2); - c4appendval_(d[0], 3); - c4append_((val >> (2 * 8)) & full_byte); - c4append_((val >> (1 * 8)) & full_byte); - } - return wpos; - #undef c4append_ - #undef c4appendval_ -} - -} // namespace c4 - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/base64.cpp) - -#define C4_WINDOWS_POP_HPP_ - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/windows_push.hpp -// https://github.com/biojppm/c4core/src/c4/windows_push.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_WINDOWS_PUSH_HPP_ -#define _C4_WINDOWS_PUSH_HPP_ - -/** @file windows_push.hpp sets up macros to include windows header files - * without pulling in all of - * - * @see #include windows_pop.hpp to undefine these macros - * - * @see https://aras-p.info/blog/2018/01/12/Minimizing-windows.h/ */ - - -#if defined(_WIN64) || defined(_WIN32) - -#if defined(_M_AMD64) -# ifndef _AMD64_ -# define _c4_AMD64_ -# define _AMD64_ -# endif -#elif defined(_M_IX86) -# ifndef _X86_ -# define _c4_X86_ -# define _X86_ -# endif -#elif defined(_M_ARM64) -# ifndef _ARM64_ -# define _c4_ARM64_ -# define _ARM64_ -# endif -#elif defined(_M_ARM) -# ifndef _ARM_ -# define _c4_ARM_ -# define _ARM_ -# endif -#endif - -#ifndef NOMINMAX -# define _c4_NOMINMAX -# define NOMINMAX -#endif - -#ifndef NOGDI -# define _c4_NOGDI -# define NOGDI -#endif - -#ifndef VC_EXTRALEAN -# define _c4_VC_EXTRALEAN -# define VC_EXTRALEAN -#endif - -#ifndef WIN32_LEAN_AND_MEAN -# define _c4_WIN32_LEAN_AND_MEAN -# define WIN32_LEAN_AND_MEAN -#endif - -/* If defined, the following flags inhibit definition - * of the indicated items. - * - * NOGDICAPMASKS - CC_*, LC_*, PC_*, CP_*, TC_*, RC_ - * NOVIRTUALKEYCODES - VK_* - * NOWINMESSAGES - WM_*, EM_*, LB_*, CB_* - * NOWINSTYLES - WS_*, CS_*, ES_*, LBS_*, SBS_*, CBS_* - * NOSYSMETRICS - SM_* - * NOMENUS - MF_* - * NOICONS - IDI_* - * NOKEYSTATES - MK_* - * NOSYSCOMMANDS - SC_* - * NORASTEROPS - Binary and Tertiary raster ops - * NOSHOWWINDOW - SW_* - * OEMRESOURCE - OEM Resource values - * NOATOM - Atom Manager routines - * NOCLIPBOARD - Clipboard routines - * NOCOLOR - Screen colors - * NOCTLMGR - Control and Dialog routines - * NODRAWTEXT - DrawText() and DT_* - * NOGDI - All GDI defines and routines - * NOKERNEL - All KERNEL defines and routines - * NOUSER - All USER defines and routines - * NONLS - All NLS defines and routines - * NOMB - MB_* and MessageBox() - * NOMEMMGR - GMEM_*, LMEM_*, GHND, LHND, associated routines - * NOMETAFILE - typedef METAFILEPICT - * NOMINMAX - Macros min(a,b) and max(a,b) - * NOMSG - typedef MSG and associated routines - * NOOPENFILE - OpenFile(), OemToAnsi, AnsiToOem, and OF_* - * NOSCROLL - SB_* and scrolling routines - * NOSERVICE - All Service Controller routines, SERVICE_ equates, etc. - * NOSOUND - Sound driver routines - * NOTEXTMETRIC - typedef TEXTMETRIC and associated routines - * NOWH - SetWindowsHook and WH_* - * NOWINOFFSETS - GWL_*, GCL_*, associated routines - * NOCOMM - COMM driver routines - * NOKANJI - Kanji support stuff. - * NOHELP - Help engine interface. - * NOPROFILER - Profiler interface. - * NODEFERWINDOWPOS - DeferWindowPos routines - * NOMCX - Modem Configuration Extensions - */ - -#endif /* defined(_WIN64) || defined(_WIN32) */ - -#endif /* _C4_WINDOWS_PUSH_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/windows_push.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/windows.hpp -// https://github.com/biojppm/c4core/src/c4/windows.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_WINDOWS_HPP_ -#define _C4_WINDOWS_HPP_ - -#if defined(_WIN64) || defined(_WIN32) -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/windows_push.hpp -//#include "c4/windows_push.hpp" -#if !defined(C4_WINDOWS_PUSH_HPP_) && !defined(_C4_WINDOWS_PUSH_HPP_) -#error "amalgamate: file c4/windows_push.hpp must have been included at this point" -#endif /* C4_WINDOWS_PUSH_HPP_ */ - -#include -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/windows_pop.hpp -//#include "c4/windows_pop.hpp" -#if !defined(C4_WINDOWS_POP_HPP_) && !defined(_C4_WINDOWS_POP_HPP_) -#error "amalgamate: file c4/windows_pop.hpp must have been included at this point" -#endif /* C4_WINDOWS_POP_HPP_ */ - -#endif - -#endif /* _C4_WINDOWS_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/windows.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/windows_pop.hpp -// https://github.com/biojppm/c4core/src/c4/windows_pop.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_WINDOWS_POP_HPP_ -#define _C4_WINDOWS_POP_HPP_ - -#if defined(_WIN64) || defined(_WIN32) - -#ifdef _c4_AMD64_ -# undef _c4_AMD64_ -# undef _AMD64_ -#endif -#ifdef _c4_X86_ -# undef _c4_X86_ -# undef _X86_ -#endif -#ifdef _c4_ARM_ -# undef _c4_ARM_ -# undef _ARM_ -#endif - -#ifdef _c4_NOMINMAX -# undef _c4_NOMINMAX -# undef NOMINMAX -#endif - -#ifdef NOGDI -# undef _c4_NOGDI -# undef NOGDI -#endif - -#ifdef VC_EXTRALEAN -# undef _c4_VC_EXTRALEAN -# undef VC_EXTRALEAN -#endif - -#ifdef WIN32_LEAN_AND_MEAN -# undef _c4_WIN32_LEAN_AND_MEAN -# undef WIN32_LEAN_AND_MEAN -#endif - -#endif /* defined(_WIN64) || defined(_WIN32) */ - -#endif /* _C4_WINDOWS_POP_HPP_ */ - - -// (end https://github.com/biojppm/c4core/src/c4/windows_pop.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/error.cpp -// https://github.com/biojppm/c4core/src/c4/error.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef C4CORE_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - - -//included above: -//#include -//included above: -//#include -//included above: -//#include - -#define C4_LOGF_ERR(...) fprintf(stderr, __VA_ARGS__); fflush(stderr) -#define C4_LOGF_WARN(...) fprintf(stderr, __VA_ARGS__); fflush(stderr) -#define C4_LOGP(msg, ...) printf(msg) - -#if defined(C4_XBOX) || (defined(C4_WIN) && defined(C4_MSVC)) -// amalgamate: removed include of -// https://github.com/biojppm/c4core/src/c4/windows.hpp -//# include "c4/windows.hpp" -#if !defined(C4_WINDOWS_HPP_) && !defined(_C4_WINDOWS_HPP_) -#error "amalgamate: file c4/windows.hpp must have been included at this point" -#endif /* C4_WINDOWS_HPP_ */ - -#elif defined(C4_PS4) -# include -#elif defined(C4_UNIX) || defined(C4_LINUX) -# include -//included above: -//# include -# include -#elif defined(C4_MACOS) || defined(C4_IOS) -//included above: -//# include -# include -# include -# include -#endif -// the amalgamation tool is dumb and was omitting this include under MACOS. -// So do it only once: -#if defined(C4_UNIX) || defined(C4_LINUX) || defined(C4_MACOS) || defined(C4_IOS) -# include -#endif - -#if defined(C4_EXCEPTIONS_ENABLED) && defined(C4_ERROR_THROWS_EXCEPTION) -# include -#endif - -#ifdef __clang__ -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wformat-nonliteral" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wformat-nonliteral" -#endif - - -//----------------------------------------------------------------------------- -namespace c4 { - -static error_flags s_error_flags = ON_ERROR_DEFAULTS; -static error_callback_type s_error_callback = nullptr; - -//----------------------------------------------------------------------------- - -error_flags get_error_flags() -{ - return s_error_flags; -} -void set_error_flags(error_flags flags) -{ - s_error_flags = flags; -} - -error_callback_type get_error_callback() -{ - return s_error_callback; -} -/** Set the function which is called when an error occurs. */ -void set_error_callback(error_callback_type cb) -{ - s_error_callback = cb; -} - -//----------------------------------------------------------------------------- - -void handle_error(srcloc where, const char *fmt, ...) -{ - char buf[1024]; - size_t msglen = 0; - if(s_error_flags & (ON_ERROR_LOG|ON_ERROR_CALLBACK)) - { - va_list args; - va_start(args, fmt); - int ilen = vsnprintf(buf, sizeof(buf), fmt, args); // ss.vprintf(fmt, args); - va_end(args); - msglen = ilen >= 0 && ilen < (int)sizeof(buf) ? static_cast(ilen) : sizeof(buf)-1; - } - - if(s_error_flags & ON_ERROR_LOG) - { - C4_LOGF_ERR("\n"); -#if defined(C4_ERROR_SHOWS_FILELINE) && defined(C4_ERROR_SHOWS_FUNC) - C4_LOGF_ERR("%s:%d: ERROR: %s\n", where.file, where.line, buf); - C4_LOGF_ERR("%s:%d: ERROR here: %s\n", where.file, where.line, where.func); -#elif defined(C4_ERROR_SHOWS_FILELINE) - C4_LOGF_ERR("%s:%d: ERROR: %s\n", where.file, where.line, buf); -#elif ! defined(C4_ERROR_SHOWS_FUNC) - C4_LOGF_ERR("ERROR: %s\n", buf); -#endif - } - - if(s_error_flags & ON_ERROR_CALLBACK) - { - if(s_error_callback) - { - s_error_callback(buf, msglen/*ss.c_strp(), ss.tellp()*/); - } - } - - if(s_error_flags & ON_ERROR_ABORT) - { - abort(); - } - - if(s_error_flags & ON_ERROR_THROW) - { -#if defined(C4_EXCEPTIONS_ENABLED) && defined(C4_ERROR_THROWS_EXCEPTION) - throw Exception(buf); -#else - abort(); -#endif - } -} - -//----------------------------------------------------------------------------- - -void handle_warning(srcloc where, const char *fmt, ...) -{ - va_list args; - char buf[1024]; //sstream ss; - va_start(args, fmt); - vsnprintf(buf, sizeof(buf), fmt, args); - va_end(args); - C4_LOGF_WARN("\n"); -#if defined(C4_ERROR_SHOWS_FILELINE) && defined(C4_ERROR_SHOWS_FUNC) - C4_LOGF_WARN("%s:%d: WARNING: %s\n", where.file, where.line, buf/*ss.c_strp()*/); - C4_LOGF_WARN("%s:%d: WARNING: here: %s\n", where.file, where.line, where.func); -#elif defined(C4_ERROR_SHOWS_FILELINE) - C4_LOGF_WARN("%s:%d: WARNING: %s\n", where.file, where.line, buf/*ss.c_strp()*/); -#elif ! defined(C4_ERROR_SHOWS_FUNC) - C4_LOGF_WARN("WARNING: %s\n", buf/*ss.c_strp()*/); -#endif - //c4::log.flush(); -} - -//----------------------------------------------------------------------------- -bool is_debugger_attached() -{ -#if defined(C4_UNIX) || defined(C4_LINUX) - static bool first_call = true; - static bool first_call_result = false; - if(first_call) - { - first_call = false; - //! @see http://stackoverflow.com/questions/3596781/how-to-detect-if-the-current-process-is-being-run-by-gdb - //! (this answer: http://stackoverflow.com/a/24969863/3968589 ) - char buf[1024] = ""; - - int status_fd = open("/proc/self/status", O_RDONLY); - if (status_fd == -1) - { - return 0; - } - - ssize_t num_read = ::read(status_fd, buf, sizeof(buf)); - - if (num_read > 0) - { - static const char TracerPid[] = "TracerPid:"; - char *tracer_pid; - - if(num_read < 1024) - { - buf[num_read] = 0; - } - tracer_pid = strstr(buf, TracerPid); - if (tracer_pid) - { - first_call_result = !!::atoi(tracer_pid + sizeof(TracerPid) - 1); - } - } - } - return first_call_result; -#elif defined(C4_PS4) - return (sceDbgIsDebuggerAttached() != 0); -#elif defined(C4_XBOX) || (defined(C4_WIN) && defined(C4_MSVC)) - return IsDebuggerPresent() != 0; -#elif defined(C4_MACOS) || defined(C4_IOS) - // https://stackoverflow.com/questions/2200277/detecting-debugger-on-mac-os-x - // Returns true if the current process is being debugged (either - // running under the debugger or has a debugger attached post facto). - int junk; - int mib[4]; - struct kinfo_proc info; - size_t size; - - // Initialize the flags so that, if sysctl fails for some bizarre - // reason, we get a predictable result. - - info.kp_proc.p_flag = 0; - - // Initialize mib, which tells sysctl the info we want, in this case - // we're looking for information about a specific process ID. - - mib[0] = CTL_KERN; - mib[1] = KERN_PROC; - mib[2] = KERN_PROC_PID; - mib[3] = getpid(); - - // Call sysctl. - - size = sizeof(info); - junk = sysctl(mib, sizeof(mib) / sizeof(*mib), &info, &size, NULL, 0); - assert(junk == 0); - - // We're being debugged if the P_TRACED flag is set. - return ((info.kp_proc.p_flag & P_TRACED) != 0); -#else - return false; -#endif -} // is_debugger_attached() - -} // namespace c4 - - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif /* C4CORE_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/c4core/src/c4/error.cpp) - -#endif /* _C4CORE_SINGLE_HEADER_AMALGAMATED_HPP_ */ - - - -// (end https://github.com/biojppm/rapidyaml/src/c4/c4core_all.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/export.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/export.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef C4_YML_EXPORT_HPP_ -#define C4_YML_EXPORT_HPP_ - -#ifdef _WIN32 - #ifdef RYML_SHARED - #ifdef RYML_EXPORTS - #define RYML_EXPORT __declspec(dllexport) - #else - #define RYML_EXPORT __declspec(dllimport) - #endif - #else - #define RYML_EXPORT - #endif -#else - #define RYML_EXPORT -#endif - -#endif /* C4_YML_EXPORT_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/export.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/common.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/common.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_COMMON_HPP_ -#define _C4_YML_COMMON_HPP_ - -//included above: -//#include -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/substr.hpp -//#include -#if !defined(C4_SUBSTR_HPP_) && !defined(_C4_SUBSTR_HPP_) -#error "amalgamate: file c4/substr.hpp must have been included at this point" -#endif /* C4_SUBSTR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/export.hpp -//#include -#if !defined(C4_YML_EXPORT_HPP_) && !defined(_C4_YML_EXPORT_HPP_) -#error "amalgamate: file c4/yml/export.hpp must have been included at this point" -#endif /* C4_YML_EXPORT_HPP_ */ - - - -#ifndef RYML_USE_ASSERT -# define RYML_USE_ASSERT C4_USE_ASSERT -#endif - - -#if RYML_USE_ASSERT -# define RYML_ASSERT(cond) RYML_CHECK(cond) -# define RYML_ASSERT_MSG(cond, msg) RYML_CHECK_MSG(cond, msg) -#else -# define RYML_ASSERT(cond) -# define RYML_ASSERT_MSG(cond, msg) -#endif - - -#if defined(NDEBUG) || defined(C4_NO_DEBUG_BREAK) -# define RYML_DEBUG_BREAK() -#else -# define RYML_DEBUG_BREAK() \ - { \ - if(c4::get_error_flags() & c4::ON_ERROR_DEBUGBREAK) \ - { \ - C4_DEBUG_BREAK(); \ - } \ - } -#endif - - -#define RYML_CHECK(cond) \ - do { \ - if(!(cond)) \ - { \ - RYML_DEBUG_BREAK() \ - c4::yml::error("check failed: " #cond, c4::yml::Location(__FILE__, __LINE__, 0)); \ - } \ - } while(0) - -#define RYML_CHECK_MSG(cond, msg) \ - do \ - { \ - if(!(cond)) \ - { \ - RYML_DEBUG_BREAK() \ - c4::yml::error(msg ": check failed: " #cond, c4::yml::Location(__FILE__, __LINE__, 0)); \ - } \ - } while(0) - - -#if C4_CPP >= 14 -# define RYML_DEPRECATED(msg) [[deprecated(msg)]] -#else -# if defined(_MSC_VER) -# define RYML_DEPRECATED(msg) __declspec(deprecated(msg)) -# else // defined(__GNUC__) || defined(__clang__) -# define RYML_DEPRECATED(msg) __attribute__((deprecated(msg))) -# endif -#endif - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace c4 { -namespace yml { - -enum : size_t { - /** a null position */ - npos = size_t(-1), - /** an index to none */ - NONE = size_t(-1) -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -//! holds a position into a source buffer -struct RYML_EXPORT LineCol -{ - //! number of bytes from the beginning of the source buffer - size_t offset; - //! line - size_t line; - //! column - size_t col; - - LineCol() : offset(), line(), col() {} - //! construct from line and column - LineCol(size_t l, size_t c) : offset(0), line(l), col(c) {} - //! construct from offset, line and column - LineCol(size_t o, size_t l, size_t c) : offset(o), line(l), col(c) {} -}; - - -//! a source file position -struct RYML_EXPORT Location : public LineCol -{ - csubstr name; - - operator bool () const { return !name.empty() || line != 0 || offset != 0; } - - Location() : LineCol(), name() {} - Location( size_t l, size_t c) : LineCol{ l, c}, name( ) {} - Location( csubstr n, size_t l, size_t c) : LineCol{ l, c}, name(n) {} - Location( csubstr n, size_t b, size_t l, size_t c) : LineCol{b, l, c}, name(n) {} - Location(const char *n, size_t l, size_t c) : LineCol{ l, c}, name(to_csubstr(n)) {} - Location(const char *n, size_t b, size_t l, size_t c) : LineCol{b, l, c}, name(to_csubstr(n)) {} -}; - - -//----------------------------------------------------------------------------- - -/** the type of the function used to report errors. This function must - * interrupt execution, either by raising an exception or calling - * std::abort(). - * - * @warning the error callback must never return: it must either abort - * or throw an exception. Otherwise, the parser will enter into an - * infinite loop, or the program may crash. */ -using pfn_error = void (*)(const char* msg, size_t msg_len, Location location, void *user_data); -/** the type of the function used to allocate memory */ -using pfn_allocate = void* (*)(size_t len, void* hint, void *user_data); -/** the type of the function used to free memory */ -using pfn_free = void (*)(void* mem, size_t size, void *user_data); - -/** trigger an error: call the current error callback. */ -RYML_EXPORT void error(const char *msg, size_t msg_len, Location loc); -/** @overload error */ -inline void error(const char *msg, size_t msg_len) -{ - error(msg, msg_len, Location{}); -} -/** @overload error */ -template -inline void error(const char (&msg)[N], Location loc) -{ - error(msg, N-1, loc); -} -/** @overload error */ -template -inline void error(const char (&msg)[N]) -{ - error(msg, N-1, Location{}); -} - -//----------------------------------------------------------------------------- - -/** a c-style callbacks class - * - * @warning the error callback must never return: it must either abort - * or throw an exception. Otherwise, the parser will enter into an - * infinite loop, or the program may crash. */ -struct RYML_EXPORT Callbacks -{ - void * m_user_data; - pfn_allocate m_allocate; - pfn_free m_free; - pfn_error m_error; - - Callbacks(); - Callbacks(void *user_data, pfn_allocate alloc, pfn_free free, pfn_error error_); - - bool operator!= (Callbacks const& that) const { return !operator==(that); } - bool operator== (Callbacks const& that) const - { - return (m_user_data == that.m_user_data && - m_allocate == that.m_allocate && - m_free == that.m_free && - m_error == that.m_error); - } -}; - -/** set the global callbacks. - * - * @warning the error callback must never return: it must either abort - * or throw an exception. Otherwise, the parser will enter into an - * infinite loop, or the program may crash. */ -RYML_EXPORT void set_callbacks(Callbacks const& c); -/// get the global callbacks -RYML_EXPORT Callbacks const& get_callbacks(); -/// set the global callbacks back to their defaults -RYML_EXPORT void reset_callbacks(); - -/// @cond dev -#define _RYML_CB_ERR(cb, msg_literal) \ -do \ -{ \ - const char msg[] = msg_literal; \ - RYML_DEBUG_BREAK() \ - (cb).m_error(msg, sizeof(msg), c4::yml::Location(__FILE__, 0, __LINE__, 0), (cb).m_user_data); \ -} while(0) -#define _RYML_CB_CHECK(cb, cond) \ - do \ - { \ - if(!(cond)) \ - { \ - const char msg[] = "check failed: " #cond; \ - RYML_DEBUG_BREAK() \ - (cb).m_error(msg, sizeof(msg), c4::yml::Location(__FILE__, 0, __LINE__, 0), (cb).m_user_data); \ - } \ - } while(0) -#ifdef RYML_USE_ASSERT -#define _RYML_CB_ASSERT(cb, cond) _RYML_CB_CHECK((cb), (cond)) -#else -#define _RYML_CB_ASSERT(cb, cond) do {} while(0) -#endif -#define _RYML_CB_ALLOC_HINT(cb, T, num, hint) (T*) (cb).m_allocate((num) * sizeof(T), (hint), (cb).m_user_data) -#define _RYML_CB_ALLOC(cb, T, num) _RYML_CB_ALLOC_HINT((cb), (T), (num), nullptr) -#define _RYML_CB_FREE(cb, buf, T, num) \ - do { \ - (cb).m_free((buf), (num) * sizeof(T), (cb).m_user_data); \ - (buf) = nullptr; \ - } while(0) - - - -namespace detail { -template -struct _charconstant_t - : public std::conditional::value, - std::integral_constant, - std::integral_constant>::type -{}; -#define _RYML_CHCONST(signedval, unsignedval) ::c4::yml::detail::_charconstant_t::value -} // namespace detail - - -namespace detail { -struct _SubstrWriter -{ - substr buf; - size_t pos; - _SubstrWriter(substr buf_, size_t pos_=0) : buf(buf_), pos(pos_) {} - void append(csubstr s) - { - C4_ASSERT(!s.overlaps(buf)); - if(pos + s.len <= buf.len) - memcpy(buf.str + pos, s.str, s.len); - pos += s.len; - } - void append(char c) - { - if(pos < buf.len) - buf.str[pos] = c; - ++pos; - } - void append_n(char c, size_t numtimes) - { - if(pos + numtimes < buf.len) - memset(buf.str + pos, c, numtimes); - pos += numtimes; - } - size_t slack() const { return pos <= buf.len ? buf.len - pos : 0; } - size_t excess() const { return pos > buf.len ? pos - buf.len : 0; } - //! get the part written so far - csubstr curr() const { return pos <= buf.len ? buf.first(pos) : buf; } - //! get the part that is still free to write to (the remainder) - substr rem() { return pos < buf.len ? buf.sub(pos) : buf.last(0); } - - size_t advance(size_t more) { pos += more; return pos; } -}; -} // namespace detail - -/// @endcond - -} // namespace yml -} // namespace c4 - -#endif /* _C4_YML_COMMON_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/common.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/tree.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_TREE_HPP_ -#define _C4_YML_TREE_HPP_ - - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/types.hpp -//#include "c4/types.hpp" -#if !defined(C4_TYPES_HPP_) && !defined(_C4_TYPES_HPP_) -#error "amalgamate: file c4/types.hpp must have been included at this point" -#endif /* C4_TYPES_HPP_ */ - -#ifndef _C4_YML_COMMON_HPP_ -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/common.hpp -//#include "c4/yml/common.hpp" -#if !defined(C4_YML_COMMON_HPP_) && !defined(_C4_YML_COMMON_HPP_) -#error "amalgamate: file c4/yml/common.hpp must have been included at this point" -#endif /* C4_YML_COMMON_HPP_ */ - -#endif - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/charconv.hpp -//#include -#if !defined(C4_CHARCONV_HPP_) && !defined(_C4_CHARCONV_HPP_) -#error "amalgamate: file c4/charconv.hpp must have been included at this point" -#endif /* C4_CHARCONV_HPP_ */ - -//included above: -//#include -//included above: -//#include - - -C4_SUPPRESS_WARNING_MSVC_PUSH -C4_SUPPRESS_WARNING_MSVC(4251) // needs to have dll-interface to be used by clients of struct -C4_SUPPRESS_WARNING_MSVC(4296) // expression is always 'boolean_value' -C4_SUPPRESS_WARNING_GCC_CLANG_PUSH -C4_SUPPRESS_WARNING_GCC("-Wtype-limits") - - -namespace c4 { -namespace yml { - -struct NodeScalar; -struct NodeInit; -struct NodeData; -class NodeRef; -class ConstNodeRef; -class Tree; - - -/** encode a floating point value to a string. */ -template -size_t to_chars_float(substr buf, T val) -{ - C4_SUPPRESS_WARNING_GCC_CLANG_WITH_PUSH("-Wfloat-equal"); - static_assert(std::is_floating_point::value, "must be floating point"); - if(C4_UNLIKELY(std::isnan(val))) - return to_chars(buf, csubstr(".nan")); - else if(C4_UNLIKELY(val == std::numeric_limits::infinity())) - return to_chars(buf, csubstr(".inf")); - else if(C4_UNLIKELY(val == -std::numeric_limits::infinity())) - return to_chars(buf, csubstr("-.inf")); - return to_chars(buf, val); - C4_SUPPRESS_WARNING_GCC_CLANG_POP -} - - -/** decode a floating point from string. Accepts special values: .nan, - * .inf, -.inf */ -template -bool from_chars_float(csubstr buf, T *C4_RESTRICT val) -{ - static_assert(std::is_floating_point::value, "must be floating point"); - if(C4_LIKELY(from_chars(buf, val))) - { - return true; - } - else if(C4_UNLIKELY(buf == ".nan" || buf == ".NaN" || buf == ".NAN")) - { - *val = std::numeric_limits::quiet_NaN(); - return true; - } - else if(C4_UNLIKELY(buf == ".inf" || buf == ".Inf" || buf == ".INF")) - { - *val = std::numeric_limits::infinity(); - return true; - } - else if(C4_UNLIKELY(buf == "-.inf" || buf == "-.Inf" || buf == "-.INF")) - { - *val = -std::numeric_limits::infinity(); - return true; - } - else - { - return false; - } -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** the integral type necessary to cover all the bits marking node tags */ -using tag_bits = uint16_t; - -/** a bit mask for marking tags for types */ -typedef enum : tag_bits { - // container types - TAG_NONE = 0, - TAG_MAP = 1, /**< !!map Unordered set of key: value pairs without duplicates. @see https://yaml.org/type/map.html */ - TAG_OMAP = 2, /**< !!omap Ordered sequence of key: value pairs without duplicates. @see https://yaml.org/type/omap.html */ - TAG_PAIRS = 3, /**< !!pairs Ordered sequence of key: value pairs allowing duplicates. @see https://yaml.org/type/pairs.html */ - TAG_SET = 4, /**< !!set Unordered set of non-equal values. @see https://yaml.org/type/set.html */ - TAG_SEQ = 5, /**< !!seq Sequence of arbitrary values. @see https://yaml.org/type/seq.html */ - // scalar types - TAG_BINARY = 6, /**< !!binary A sequence of zero or more octets (8 bit values). @see https://yaml.org/type/binary.html */ - TAG_BOOL = 7, /**< !!bool Mathematical Booleans. @see https://yaml.org/type/bool.html */ - TAG_FLOAT = 8, /**< !!float Floating-point approximation to real numbers. https://yaml.org/type/float.html */ - TAG_INT = 9, /**< !!float Mathematical integers. https://yaml.org/type/int.html */ - TAG_MERGE = 10, /**< !!merge Specify one or more mapping to be merged with the current one. https://yaml.org/type/merge.html */ - TAG_NULL = 11, /**< !!null Devoid of value. https://yaml.org/type/null.html */ - TAG_STR = 12, /**< !!str A sequence of zero or more Unicode characters. https://yaml.org/type/str.html */ - TAG_TIMESTAMP = 13, /**< !!timestamp A point in time https://yaml.org/type/timestamp.html */ - TAG_VALUE = 14, /**< !!value Specify the default value of a mapping https://yaml.org/type/value.html */ - TAG_YAML = 15, /**< !!yaml Specify the default value of a mapping https://yaml.org/type/yaml.html */ -} YamlTag_e; - -YamlTag_e to_tag(csubstr tag); -csubstr from_tag(YamlTag_e tag); -csubstr from_tag_long(YamlTag_e tag); -csubstr normalize_tag(csubstr tag); -csubstr normalize_tag_long(csubstr tag); - -struct TagDirective -{ - /** Eg `!e!` in `%TAG !e! tag:example.com,2000:app/` */ - csubstr handle; - /** Eg `tag:example.com,2000:app/` in `%TAG !e! tag:example.com,2000:app/` */ - csubstr prefix; - /** The next node to which this tag directive applies */ - size_t next_node_id; -}; - -#ifndef RYML_MAX_TAG_DIRECTIVES -/** the maximum number of tag directives in a Tree */ -#define RYML_MAX_TAG_DIRECTIVES 4 -#endif - - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - - -/** the integral type necessary to cover all the bits marking node types */ -using type_bits = uint64_t; - - -/** a bit mask for marking node types */ -typedef enum : type_bits { - // a convenience define, undefined below - #define c4bit(v) (type_bits(1) << v) - NOTYPE = 0, ///< no node type is set - VAL = c4bit(0), ///< a leaf node, has a (possibly empty) value - KEY = c4bit(1), ///< is member of a map, must have non-empty key - MAP = c4bit(2), ///< a map: a parent of keyvals - SEQ = c4bit(3), ///< a seq: a parent of vals - DOC = c4bit(4), ///< a document - STREAM = c4bit(5)|SEQ, ///< a stream: a seq of docs - KEYREF = c4bit(6), ///< a *reference: the key references an &anchor - VALREF = c4bit(7), ///< a *reference: the val references an &anchor - KEYANCH = c4bit(8), ///< the key has an &anchor - VALANCH = c4bit(9), ///< the val has an &anchor - KEYTAG = c4bit(10), ///< the key has an explicit tag/type - VALTAG = c4bit(11), ///< the val has an explicit tag/type - _TYMASK = c4bit(12)-1, // all the bits up to here - VALQUO = c4bit(12), ///< the val is quoted by '', "", > or | - KEYQUO = c4bit(13), ///< the key is quoted by '', "", > or | - KEYVAL = KEY|VAL, - KEYSEQ = KEY|SEQ, - KEYMAP = KEY|MAP, - DOCMAP = DOC|MAP, - DOCSEQ = DOC|SEQ, - DOCVAL = DOC|VAL, - _KEYMASK = KEY | KEYQUO | KEYANCH | KEYREF | KEYTAG, - _VALMASK = VAL | VALQUO | VALANCH | VALREF | VALTAG, - // these flags are from a work in progress and should not be used yet - _WIP_STYLE_FLOW_SL = c4bit(14), ///< mark container with single-line flow format (seqs as '[val1,val2], maps as '{key: val, key2: val2}') - _WIP_STYLE_FLOW_ML = c4bit(15), ///< mark container with multi-line flow format (seqs as '[val1,\nval2], maps as '{key: val,\nkey2: val2}') - _WIP_STYLE_BLOCK = c4bit(16), ///< mark container with block format (seqs as '- val\n', maps as 'key: val') - _WIP_KEY_LITERAL = c4bit(17), ///< mark key scalar as multiline, block literal | - _WIP_VAL_LITERAL = c4bit(18), ///< mark val scalar as multiline, block literal | - _WIP_KEY_FOLDED = c4bit(19), ///< mark key scalar as multiline, block folded > - _WIP_VAL_FOLDED = c4bit(20), ///< mark val scalar as multiline, block folded > - _WIP_KEY_SQUO = c4bit(21), ///< mark key scalar as single quoted - _WIP_VAL_SQUO = c4bit(22), ///< mark val scalar as single quoted - _WIP_KEY_DQUO = c4bit(23), ///< mark key scalar as double quoted - _WIP_VAL_DQUO = c4bit(24), ///< mark val scalar as double quoted - _WIP_KEY_PLAIN = c4bit(25), ///< mark key scalar as plain scalar (unquoted, even when multiline) - _WIP_VAL_PLAIN = c4bit(26), ///< mark val scalar as plain scalar (unquoted, even when multiline) - _WIP_KEY_STYLE = _WIP_KEY_LITERAL|_WIP_KEY_FOLDED|_WIP_KEY_SQUO|_WIP_KEY_DQUO|_WIP_KEY_PLAIN, - _WIP_VAL_STYLE = _WIP_VAL_LITERAL|_WIP_VAL_FOLDED|_WIP_VAL_SQUO|_WIP_VAL_DQUO|_WIP_VAL_PLAIN, - _WIP_KEY_FT_NL = c4bit(27), ///< features: mark key scalar as having \n in its contents - _WIP_VAL_FT_NL = c4bit(28), ///< features: mark val scalar as having \n in its contents - _WIP_KEY_FT_SQ = c4bit(29), ///< features: mark key scalar as having single quotes in its contents - _WIP_VAL_FT_SQ = c4bit(30), ///< features: mark val scalar as having single quotes in its contents - _WIP_KEY_FT_DQ = c4bit(31), ///< features: mark key scalar as having double quotes in its contents - _WIP_VAL_FT_DQ = c4bit(32), ///< features: mark val scalar as having double quotes in its contents - #undef c4bit -} NodeType_e; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** wraps a NodeType_e element with some syntactic sugar and predicates */ -struct NodeType -{ -public: - - NodeType_e type; - -public: - - C4_ALWAYS_INLINE NodeType() : type(NOTYPE) {} - C4_ALWAYS_INLINE NodeType(NodeType_e t) : type(t) {} - C4_ALWAYS_INLINE NodeType(type_bits t) : type((NodeType_e)t) {} - - C4_ALWAYS_INLINE const char *type_str() const { return type_str(type); } - static const char* type_str(NodeType_e t); - - C4_ALWAYS_INLINE void set(NodeType_e t) { type = t; } - C4_ALWAYS_INLINE void set(type_bits t) { type = (NodeType_e)t; } - - C4_ALWAYS_INLINE void add(NodeType_e t) { type = (NodeType_e)(type|t); } - C4_ALWAYS_INLINE void add(type_bits t) { type = (NodeType_e)(type|t); } - - C4_ALWAYS_INLINE void rem(NodeType_e t) { type = (NodeType_e)(type & ~t); } - C4_ALWAYS_INLINE void rem(type_bits t) { type = (NodeType_e)(type & ~t); } - - C4_ALWAYS_INLINE void clear() { type = NOTYPE; } - -public: - - C4_ALWAYS_INLINE operator NodeType_e & C4_RESTRICT () { return type; } - C4_ALWAYS_INLINE operator NodeType_e const& C4_RESTRICT () const { return type; } - - C4_ALWAYS_INLINE bool operator== (NodeType_e t) const { return type == t; } - C4_ALWAYS_INLINE bool operator!= (NodeType_e t) const { return type != t; } - -public: - - #if defined(__clang__) - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wnull-dereference" - #elif defined(__GNUC__) - # pragma GCC diagnostic push - # if __GNUC__ >= 6 - # pragma GCC diagnostic ignored "-Wnull-dereference" - # endif - #endif - - C4_ALWAYS_INLINE bool is_notype() const { return type == NOTYPE; } - C4_ALWAYS_INLINE bool is_stream() const { return ((type & STREAM) == STREAM) != 0; } - C4_ALWAYS_INLINE bool is_doc() const { return (type & DOC) != 0; } - C4_ALWAYS_INLINE bool is_container() const { return (type & (MAP|SEQ|STREAM)) != 0; } - C4_ALWAYS_INLINE bool is_map() const { return (type & MAP) != 0; } - C4_ALWAYS_INLINE bool is_seq() const { return (type & SEQ) != 0; } - C4_ALWAYS_INLINE bool has_key() const { return (type & KEY) != 0; } - C4_ALWAYS_INLINE bool has_val() const { return (type & VAL) != 0; } - C4_ALWAYS_INLINE bool is_val() const { return (type & KEYVAL) == VAL; } - C4_ALWAYS_INLINE bool is_keyval() const { return (type & KEYVAL) == KEYVAL; } - C4_ALWAYS_INLINE bool has_key_tag() const { return (type & (KEY|KEYTAG)) == (KEY|KEYTAG); } - C4_ALWAYS_INLINE bool has_val_tag() const { return ((type & VALTAG) && (type & (VAL|MAP|SEQ))); } - C4_ALWAYS_INLINE bool has_key_anchor() const { return (type & (KEY|KEYANCH)) == (KEY|KEYANCH); } - C4_ALWAYS_INLINE bool is_key_anchor() const { return (type & (KEY|KEYANCH)) == (KEY|KEYANCH); } - C4_ALWAYS_INLINE bool has_val_anchor() const { return (type & VALANCH) != 0 && (type & (VAL|SEQ|MAP)) != 0; } - C4_ALWAYS_INLINE bool is_val_anchor() const { return (type & VALANCH) != 0 && (type & (VAL|SEQ|MAP)) != 0; } - C4_ALWAYS_INLINE bool has_anchor() const { return (type & (KEYANCH|VALANCH)) != 0; } - C4_ALWAYS_INLINE bool is_anchor() const { return (type & (KEYANCH|VALANCH)) != 0; } - C4_ALWAYS_INLINE bool is_key_ref() const { return (type & KEYREF) != 0; } - C4_ALWAYS_INLINE bool is_val_ref() const { return (type & VALREF) != 0; } - C4_ALWAYS_INLINE bool is_ref() const { return (type & (KEYREF|VALREF)) != 0; } - C4_ALWAYS_INLINE bool is_anchor_or_ref() const { return (type & (KEYANCH|VALANCH|KEYREF|VALREF)) != 0; } - C4_ALWAYS_INLINE bool is_key_quoted() const { return (type & (KEY|KEYQUO)) == (KEY|KEYQUO); } - C4_ALWAYS_INLINE bool is_val_quoted() const { return (type & (VAL|VALQUO)) == (VAL|VALQUO); } - C4_ALWAYS_INLINE bool is_quoted() const { return (type & (KEY|KEYQUO)) == (KEY|KEYQUO) || (type & (VAL|VALQUO)) == (VAL|VALQUO); } - - // these predicates are a work in progress and subject to change. Don't use yet. - C4_ALWAYS_INLINE bool default_block() const { return (type & (_WIP_STYLE_BLOCK|_WIP_STYLE_FLOW_ML|_WIP_STYLE_FLOW_SL)) == 0; } - C4_ALWAYS_INLINE bool marked_block() const { return (type & (_WIP_STYLE_BLOCK)) != 0; } - C4_ALWAYS_INLINE bool marked_flow_sl() const { return (type & (_WIP_STYLE_FLOW_SL)) != 0; } - C4_ALWAYS_INLINE bool marked_flow_ml() const { return (type & (_WIP_STYLE_FLOW_ML)) != 0; } - C4_ALWAYS_INLINE bool marked_flow() const { return (type & (_WIP_STYLE_FLOW_ML|_WIP_STYLE_FLOW_SL)) != 0; } - C4_ALWAYS_INLINE bool key_marked_literal() const { return (type & (_WIP_KEY_LITERAL)) != 0; } - C4_ALWAYS_INLINE bool val_marked_literal() const { return (type & (_WIP_VAL_LITERAL)) != 0; } - C4_ALWAYS_INLINE bool key_marked_folded() const { return (type & (_WIP_KEY_FOLDED)) != 0; } - C4_ALWAYS_INLINE bool val_marked_folded() const { return (type & (_WIP_VAL_FOLDED)) != 0; } - C4_ALWAYS_INLINE bool key_marked_squo() const { return (type & (_WIP_KEY_SQUO)) != 0; } - C4_ALWAYS_INLINE bool val_marked_squo() const { return (type & (_WIP_VAL_SQUO)) != 0; } - C4_ALWAYS_INLINE bool key_marked_dquo() const { return (type & (_WIP_KEY_DQUO)) != 0; } - C4_ALWAYS_INLINE bool val_marked_dquo() const { return (type & (_WIP_VAL_DQUO)) != 0; } - C4_ALWAYS_INLINE bool key_marked_plain() const { return (type & (_WIP_KEY_PLAIN)) != 0; } - C4_ALWAYS_INLINE bool val_marked_plain() const { return (type & (_WIP_VAL_PLAIN)) != 0; } - - #if defined(__clang__) - # pragma clang diagnostic pop - #elif defined(__GNUC__) - # pragma GCC diagnostic pop - #endif - -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** a node scalar is a csubstr, which may be tagged and anchored. */ -struct NodeScalar -{ - csubstr tag; - csubstr scalar; - csubstr anchor; - -public: - - /// initialize as an empty scalar - inline NodeScalar() noexcept : tag(), scalar(), anchor() {} - - /// initialize as an untagged scalar - template - inline NodeScalar(const char (&s)[N]) noexcept : tag(), scalar(s), anchor() {} - inline NodeScalar(csubstr s ) noexcept : tag(), scalar(s), anchor() {} - - /// initialize as a tagged scalar - template - inline NodeScalar(const char (&t)[N], const char (&s)[N]) noexcept : tag(t), scalar(s), anchor() {} - inline NodeScalar(csubstr t , csubstr s ) noexcept : tag(t), scalar(s), anchor() {} - -public: - - ~NodeScalar() noexcept = default; - NodeScalar(NodeScalar &&) noexcept = default; - NodeScalar(NodeScalar const&) noexcept = default; - NodeScalar& operator= (NodeScalar &&) noexcept = default; - NodeScalar& operator= (NodeScalar const&) noexcept = default; - -public: - - bool empty() const noexcept { return tag.empty() && scalar.empty() && anchor.empty(); } - - void clear() noexcept { tag.clear(); scalar.clear(); anchor.clear(); } - - void set_ref_maybe_replacing_scalar(csubstr ref, bool has_scalar) noexcept - { - csubstr trimmed = ref.begins_with('*') ? ref.sub(1) : ref; - anchor = trimmed; - if((!has_scalar) || !scalar.ends_with(trimmed)) - scalar = ref; - } -}; -C4_MUST_BE_TRIVIAL_COPY(NodeScalar); - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** convenience class to initialize nodes */ -struct NodeInit -{ - - NodeType type; - NodeScalar key; - NodeScalar val; - -public: - - /// initialize as an empty node - NodeInit() : type(NOTYPE), key(), val() {} - /// initialize as a typed node - NodeInit(NodeType_e t) : type(t), key(), val() {} - /// initialize as a sequence member - NodeInit(NodeScalar const& v) : type(VAL), key(), val(v) { _add_flags(); } - /// initialize as a mapping member - NodeInit( NodeScalar const& k, NodeScalar const& v) : type(KEYVAL), key(k.tag, k.scalar), val(v.tag, v.scalar) { _add_flags(); } - /// initialize as a mapping member with explicit type - NodeInit(NodeType_e t, NodeScalar const& k, NodeScalar const& v) : type(t ), key(k.tag, k.scalar), val(v.tag, v.scalar) { _add_flags(); } - /// initialize as a mapping member with explicit type (eg SEQ or MAP) - NodeInit(NodeType_e t, NodeScalar const& k ) : type(t ), key(k.tag, k.scalar), val( ) { _add_flags(KEY); } - -public: - - void clear() - { - type.clear(); - key.clear(); - val.clear(); - } - - void _add_flags(type_bits more_flags=0) - { - type = (type|more_flags); - if( ! key.tag.empty()) - type = (type|KEYTAG); - if( ! val.tag.empty()) - type = (type|VALTAG); - if( ! key.anchor.empty()) - type = (type|KEYANCH); - if( ! val.anchor.empty()) - type = (type|VALANCH); - } - - bool _check() const - { - // key cannot be empty - RYML_ASSERT(key.scalar.empty() == ((type & KEY) == 0)); - // key tag cannot be empty - RYML_ASSERT(key.tag.empty() == ((type & KEYTAG) == 0)); - // val may be empty even though VAL is set. But when VAL is not set, val must be empty - RYML_ASSERT(((type & VAL) != 0) || val.scalar.empty()); - // val tag cannot be empty - RYML_ASSERT(val.tag.empty() == ((type & VALTAG) == 0)); - return true; - } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** contains the data for each YAML node. */ -struct NodeData -{ - NodeType m_type; - - NodeScalar m_key; - NodeScalar m_val; - - size_t m_parent; - size_t m_first_child; - size_t m_last_child; - size_t m_next_sibling; - size_t m_prev_sibling; -}; -C4_MUST_BE_TRIVIAL_COPY(NodeData); - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -class RYML_EXPORT Tree -{ -public: - - /** @name construction and assignment */ - /** @{ */ - - Tree() : Tree(get_callbacks()) {} - Tree(Callbacks const& cb); - Tree(size_t node_capacity, size_t arena_capacity=0) : Tree(node_capacity, arena_capacity, get_callbacks()) {} - Tree(size_t node_capacity, size_t arena_capacity, Callbacks const& cb); - - ~Tree(); - - Tree(Tree const& that) noexcept; - Tree(Tree && that) noexcept; - - Tree& operator= (Tree const& that) noexcept; - Tree& operator= (Tree && that) noexcept; - - /** @} */ - -public: - - /** @name memory and sizing */ - /** @{ */ - - void reserve(size_t node_capacity); - - /** clear the tree and zero every node - * @note does NOT clear the arena - * @see clear_arena() */ - void clear(); - inline void clear_arena() { m_arena_pos = 0; } - - inline bool empty() const { return m_size == 0; } - - inline size_t size() const { return m_size; } - inline size_t capacity() const { return m_cap; } - inline size_t slack() const { RYML_ASSERT(m_cap >= m_size); return m_cap - m_size; } - - Callbacks const& callbacks() const { return m_callbacks; } - void callbacks(Callbacks const& cb) { m_callbacks = cb; } - - /** @} */ - -public: - - /** @name node getters */ - /** @{ */ - - //! get the index of a node belonging to this tree. - //! @p n can be nullptr, in which case a - size_t id(NodeData const* n) const - { - if( ! n) - { - return NONE; - } - RYML_ASSERT(n >= m_buf && n < m_buf + m_cap); - return static_cast(n - m_buf); - } - - //! get a pointer to a node's NodeData. - //! i can be NONE, in which case a nullptr is returned - inline NodeData *get(size_t i) - { - if(i == NONE) - return nullptr; - RYML_ASSERT(i >= 0 && i < m_cap); - return m_buf + i; - } - //! get a pointer to a node's NodeData. - //! i can be NONE, in which case a nullptr is returned. - inline NodeData const *get(size_t i) const - { - if(i == NONE) - return nullptr; - RYML_ASSERT(i >= 0 && i < m_cap); - return m_buf + i; - } - - //! An if-less form of get() that demands a valid node index. - //! This function is implementation only; use at your own risk. - inline NodeData * _p(size_t i) { RYML_ASSERT(i != NONE && i >= 0 && i < m_cap); return m_buf + i; } - //! An if-less form of get() that demands a valid node index. - //! This function is implementation only; use at your own risk. - inline NodeData const * _p(size_t i) const { RYML_ASSERT(i != NONE && i >= 0 && i < m_cap); return m_buf + i; } - - //! Get the id of the root node - size_t root_id() { if(m_cap == 0) { reserve(16); } RYML_ASSERT(m_cap > 0 && m_size > 0); return 0; } - //! Get the id of the root node - size_t root_id() const { RYML_ASSERT(m_cap > 0 && m_size > 0); return 0; } - - //! Get a NodeRef of a node by id - NodeRef ref(size_t id); - //! Get a NodeRef of a node by id - ConstNodeRef ref(size_t id) const; - //! Get a NodeRef of a node by id - ConstNodeRef cref(size_t id); - //! Get a NodeRef of a node by id - ConstNodeRef cref(size_t id) const; - - //! Get the root as a NodeRef - NodeRef rootref(); - //! Get the root as a NodeRef - ConstNodeRef rootref() const; - //! Get the root as a NodeRef - ConstNodeRef crootref(); - //! Get the root as a NodeRef - ConstNodeRef crootref() const; - - //! find a root child by name, return it as a NodeRef - //! @note requires the root to be a map. - NodeRef operator[] (csubstr key); - //! find a root child by name, return it as a NodeRef - //! @note requires the root to be a map. - ConstNodeRef operator[] (csubstr key) const; - - //! find a root child by index: return the root node's @p i-th child as a NodeRef - //! @note @i is NOT the node id, but the child's position - NodeRef operator[] (size_t i); - //! find a root child by index: return the root node's @p i-th child as a NodeRef - //! @note @i is NOT the node id, but the child's position - ConstNodeRef operator[] (size_t i) const; - - //! get the i-th document of the stream - //! @note @i is NOT the node id, but the doc position within the stream - NodeRef docref(size_t i); - //! get the i-th document of the stream - //! @note @i is NOT the node id, but the doc position within the stream - ConstNodeRef docref(size_t i) const; - - /** @} */ - -public: - - /** @name node property getters */ - /** @{ */ - - NodeType type(size_t node) const { return _p(node)->m_type; } - const char* type_str(size_t node) const { return NodeType::type_str(_p(node)->m_type); } - - csubstr const& key (size_t node) const { RYML_ASSERT(has_key(node)); return _p(node)->m_key.scalar; } - csubstr const& key_tag (size_t node) const { RYML_ASSERT(has_key_tag(node)); return _p(node)->m_key.tag; } - csubstr const& key_ref (size_t node) const { RYML_ASSERT(is_key_ref(node) && ! has_key_anchor(node)); return _p(node)->m_key.anchor; } - csubstr const& key_anchor(size_t node) const { RYML_ASSERT( ! is_key_ref(node) && has_key_anchor(node)); return _p(node)->m_key.anchor; } - NodeScalar const& keysc (size_t node) const { RYML_ASSERT(has_key(node)); return _p(node)->m_key; } - - csubstr const& val (size_t node) const { RYML_ASSERT(has_val(node)); return _p(node)->m_val.scalar; } - csubstr const& val_tag (size_t node) const { RYML_ASSERT(has_val_tag(node)); return _p(node)->m_val.tag; } - csubstr const& val_ref (size_t node) const { RYML_ASSERT(is_val_ref(node) && ! has_val_anchor(node)); return _p(node)->m_val.anchor; } - csubstr const& val_anchor(size_t node) const { RYML_ASSERT( ! is_val_ref(node) && has_val_anchor(node)); return _p(node)->m_val.anchor; } - NodeScalar const& valsc (size_t node) const { RYML_ASSERT(has_val(node)); return _p(node)->m_val; } - - /** @} */ - -public: - - /** @name node predicates */ - /** @{ */ - - C4_ALWAYS_INLINE bool is_stream(size_t node) const { return _p(node)->m_type.is_stream(); } - C4_ALWAYS_INLINE bool is_doc(size_t node) const { return _p(node)->m_type.is_doc(); } - C4_ALWAYS_INLINE bool is_container(size_t node) const { return _p(node)->m_type.is_container(); } - C4_ALWAYS_INLINE bool is_map(size_t node) const { return _p(node)->m_type.is_map(); } - C4_ALWAYS_INLINE bool is_seq(size_t node) const { return _p(node)->m_type.is_seq(); } - C4_ALWAYS_INLINE bool has_key(size_t node) const { return _p(node)->m_type.has_key(); } - C4_ALWAYS_INLINE bool has_val(size_t node) const { return _p(node)->m_type.has_val(); } - C4_ALWAYS_INLINE bool is_val(size_t node) const { return _p(node)->m_type.is_val(); } - C4_ALWAYS_INLINE bool is_keyval(size_t node) const { return _p(node)->m_type.is_keyval(); } - C4_ALWAYS_INLINE bool has_key_tag(size_t node) const { return _p(node)->m_type.has_key_tag(); } - C4_ALWAYS_INLINE bool has_val_tag(size_t node) const { return _p(node)->m_type.has_val_tag(); } - C4_ALWAYS_INLINE bool has_key_anchor(size_t node) const { return _p(node)->m_type.has_key_anchor(); } - C4_ALWAYS_INLINE bool is_key_anchor(size_t node) const { return _p(node)->m_type.is_key_anchor(); } - C4_ALWAYS_INLINE bool has_val_anchor(size_t node) const { return _p(node)->m_type.has_val_anchor(); } - C4_ALWAYS_INLINE bool is_val_anchor(size_t node) const { return _p(node)->m_type.is_val_anchor(); } - C4_ALWAYS_INLINE bool has_anchor(size_t node) const { return _p(node)->m_type.has_anchor(); } - C4_ALWAYS_INLINE bool is_anchor(size_t node) const { return _p(node)->m_type.is_anchor(); } - C4_ALWAYS_INLINE bool is_key_ref(size_t node) const { return _p(node)->m_type.is_key_ref(); } - C4_ALWAYS_INLINE bool is_val_ref(size_t node) const { return _p(node)->m_type.is_val_ref(); } - C4_ALWAYS_INLINE bool is_ref(size_t node) const { return _p(node)->m_type.is_ref(); } - C4_ALWAYS_INLINE bool is_anchor_or_ref(size_t node) const { return _p(node)->m_type.is_anchor_or_ref(); } - C4_ALWAYS_INLINE bool is_key_quoted(size_t node) const { return _p(node)->m_type.is_key_quoted(); } - C4_ALWAYS_INLINE bool is_val_quoted(size_t node) const { return _p(node)->m_type.is_val_quoted(); } - C4_ALWAYS_INLINE bool is_quoted(size_t node) const { return _p(node)->m_type.is_quoted(); } - - C4_ALWAYS_INLINE bool parent_is_seq(size_t node) const { RYML_ASSERT(has_parent(node)); return is_seq(_p(node)->m_parent); } - C4_ALWAYS_INLINE bool parent_is_map(size_t node) const { RYML_ASSERT(has_parent(node)); return is_map(_p(node)->m_parent); } - - /** true when key and val are empty, and has no children */ - C4_ALWAYS_INLINE bool empty(size_t node) const { return ! has_children(node) && _p(node)->m_key.empty() && (( ! (_p(node)->m_type & VAL)) || _p(node)->m_val.empty()); } - /** true when the node has an anchor named a */ - C4_ALWAYS_INLINE bool has_anchor(size_t node, csubstr a) const { return _p(node)->m_key.anchor == a || _p(node)->m_val.anchor == a; } - - C4_ALWAYS_INLINE bool key_is_null(size_t node) const { RYML_ASSERT(has_key(node)); NodeData const* C4_RESTRICT n = _p(node); return !n->m_type.is_key_quoted() && _is_null(n->m_key.scalar); } - C4_ALWAYS_INLINE bool val_is_null(size_t node) const { RYML_ASSERT(has_val(node)); NodeData const* C4_RESTRICT n = _p(node); return !n->m_type.is_val_quoted() && _is_null(n->m_val.scalar); } - static bool _is_null(csubstr s) noexcept - { - return s.str == nullptr || - s == "~" || - s == "null" || - s == "Null" || - s == "NULL"; - } - - /** @} */ - -public: - - /** @name hierarchy predicates */ - /** @{ */ - - bool is_root(size_t node) const { RYML_ASSERT(_p(node)->m_parent != NONE || node == 0); return _p(node)->m_parent == NONE; } - - bool has_parent(size_t node) const { return _p(node)->m_parent != NONE; } - - /** true if @p node has a child with id @p ch */ - bool has_child(size_t node, size_t ch) const { return _p(ch)->m_parent == node; } - /** true if @p node has a child with key @p key */ - bool has_child(size_t node, csubstr key) const { return find_child(node, key) != npos; } - /** true if @p node has any children key */ - bool has_children(size_t node) const { return _p(node)->m_first_child != NONE; } - - /** true if @p node has a sibling with id @p sib */ - bool has_sibling(size_t node, size_t sib) const { return _p(node)->m_parent == _p(sib)->m_parent; } - /** true if one of the node's siblings has the given key */ - bool has_sibling(size_t node, csubstr key) const { return find_sibling(node, key) != npos; } - /** true if node is not a single child */ - bool has_other_siblings(size_t node) const - { - NodeData const *n = _p(node); - if(C4_LIKELY(n->m_parent != NONE)) - { - n = _p(n->m_parent); - return n->m_first_child != n->m_last_child; - } - return false; - } - - RYML_DEPRECATED("use has_other_siblings()") bool has_siblings(size_t /*node*/) const { return true; } - - /** @} */ - -public: - - /** @name hierarchy getters */ - /** @{ */ - - size_t parent(size_t node) const { return _p(node)->m_parent; } - - size_t prev_sibling(size_t node) const { return _p(node)->m_prev_sibling; } - size_t next_sibling(size_t node) const { return _p(node)->m_next_sibling; } - - /** O(#num_children) */ - size_t num_children(size_t node) const; - size_t child_pos(size_t node, size_t ch) const; - size_t first_child(size_t node) const { return _p(node)->m_first_child; } - size_t last_child(size_t node) const { return _p(node)->m_last_child; } - size_t child(size_t node, size_t pos) const; - size_t find_child(size_t node, csubstr const& key) const; - - /** O(#num_siblings) */ - /** counts with this */ - size_t num_siblings(size_t node) const { return is_root(node) ? 1 : num_children(_p(node)->m_parent); } - /** does not count with this */ - size_t num_other_siblings(size_t node) const { size_t ns = num_siblings(node); RYML_ASSERT(ns > 0); return ns-1; } - size_t sibling_pos(size_t node, size_t sib) const { RYML_ASSERT( ! is_root(node) || node == root_id()); return child_pos(_p(node)->m_parent, sib); } - size_t first_sibling(size_t node) const { return is_root(node) ? node : _p(_p(node)->m_parent)->m_first_child; } - size_t last_sibling(size_t node) const { return is_root(node) ? node : _p(_p(node)->m_parent)->m_last_child; } - size_t sibling(size_t node, size_t pos) const { return child(_p(node)->m_parent, pos); } - size_t find_sibling(size_t node, csubstr const& key) const { return find_child(_p(node)->m_parent, key); } - - size_t doc(size_t i) const { size_t rid = root_id(); RYML_ASSERT(is_stream(rid)); return child(rid, i); } //!< gets the @p i document node index. requires that the root node is a stream. - - /** @} */ - -public: - - /** @name node modifiers */ - /** @{ */ - - void to_keyval(size_t node, csubstr key, csubstr val, type_bits more_flags=0); - void to_map(size_t node, csubstr key, type_bits more_flags=0); - void to_seq(size_t node, csubstr key, type_bits more_flags=0); - void to_val(size_t node, csubstr val, type_bits more_flags=0); - void to_map(size_t node, type_bits more_flags=0); - void to_seq(size_t node, type_bits more_flags=0); - void to_doc(size_t node, type_bits more_flags=0); - void to_stream(size_t node, type_bits more_flags=0); - - void set_key(size_t node, csubstr key) { RYML_ASSERT(has_key(node)); _p(node)->m_key.scalar = key; } - void set_val(size_t node, csubstr val) { RYML_ASSERT(has_val(node)); _p(node)->m_val.scalar = val; } - - void set_key_tag(size_t node, csubstr tag) { RYML_ASSERT(has_key(node)); _p(node)->m_key.tag = tag; _add_flags(node, KEYTAG); } - void set_val_tag(size_t node, csubstr tag) { RYML_ASSERT(has_val(node) || is_container(node)); _p(node)->m_val.tag = tag; _add_flags(node, VALTAG); } - - void set_key_anchor(size_t node, csubstr anchor) { RYML_ASSERT( ! is_key_ref(node)); _p(node)->m_key.anchor = anchor.triml('&'); _add_flags(node, KEYANCH); } - void set_val_anchor(size_t node, csubstr anchor) { RYML_ASSERT( ! is_val_ref(node)); _p(node)->m_val.anchor = anchor.triml('&'); _add_flags(node, VALANCH); } - void set_key_ref (size_t node, csubstr ref ) { RYML_ASSERT( ! has_key_anchor(node)); NodeData* C4_RESTRICT n = _p(node); n->m_key.set_ref_maybe_replacing_scalar(ref, n->m_type.has_key()); _add_flags(node, KEY|KEYREF); } - void set_val_ref (size_t node, csubstr ref ) { RYML_ASSERT( ! has_val_anchor(node)); NodeData* C4_RESTRICT n = _p(node); n->m_val.set_ref_maybe_replacing_scalar(ref, n->m_type.has_val()); _add_flags(node, VAL|VALREF); } - - void rem_key_anchor(size_t node) { _p(node)->m_key.anchor.clear(); _rem_flags(node, KEYANCH); } - void rem_val_anchor(size_t node) { _p(node)->m_val.anchor.clear(); _rem_flags(node, VALANCH); } - void rem_key_ref (size_t node) { _p(node)->m_key.anchor.clear(); _rem_flags(node, KEYREF); } - void rem_val_ref (size_t node) { _p(node)->m_val.anchor.clear(); _rem_flags(node, VALREF); } - void rem_anchor_ref(size_t node) { _p(node)->m_key.anchor.clear(); _p(node)->m_val.anchor.clear(); _rem_flags(node, KEYANCH|VALANCH|KEYREF|VALREF); } - - /** @} */ - -public: - - /** @name tree modifiers */ - /** @{ */ - - /** reorder the tree in memory so that all the nodes are stored - * in a linear sequence when visited in depth-first order. - * This will invalidate existing ids, since the node id is its - * position in the node array. */ - void reorder(); - - /** Resolve references (aliases <- anchors) in the tree. - * - * Dereferencing is opt-in; after parsing, Tree::resolve() - * has to be called explicitly for obtaining resolved references in the - * tree. This method will resolve all references and substitute the - * anchored values in place of the reference. - * - * This method first does a full traversal of the tree to gather all - * anchors and references in a separate collection, then it goes through - * that collection to locate the names, which it does by obeying the YAML - * standard diktat that "an alias node refers to the most recent node in - * the serialization having the specified anchor" - * - * So, depending on the number of anchor/alias nodes, this is a - * potentially expensive operation, with a best-case linear complexity - * (from the initial traversal). This potential cost is the reason for - * requiring an explicit call. - */ - void resolve(); - - /** @} */ - -public: - - /** @name tag directives */ - /** @{ */ - - void resolve_tags(); - - size_t num_tag_directives() const; - size_t add_tag_directive(TagDirective const& td); - void clear_tag_directives(); - - size_t resolve_tag(substr output, csubstr tag, size_t node_id) const; - csubstr resolve_tag_sub(substr output, csubstr tag, size_t node_id) const - { - size_t needed = resolve_tag(output, tag, node_id); - return needed <= output.len ? output.first(needed) : output; - } - - using tag_directive_const_iterator = TagDirective const*; - tag_directive_const_iterator begin_tag_directives() const { return m_tag_directives; } - tag_directive_const_iterator end_tag_directives() const { return m_tag_directives + num_tag_directives(); } - - struct TagDirectiveProxy - { - tag_directive_const_iterator b, e; - tag_directive_const_iterator begin() const { return b; } - tag_directive_const_iterator end() const { return e; } - }; - - TagDirectiveProxy tag_directives() const { return TagDirectiveProxy{begin_tag_directives(), end_tag_directives()}; } - - /** @} */ - -public: - - /** @name modifying hierarchy */ - /** @{ */ - - /** create and insert a new child of @p parent. insert after the (to-be) - * sibling @p after, which must be a child of @p parent. To insert as the - * first child, set after to NONE */ - C4_ALWAYS_INLINE size_t insert_child(size_t parent, size_t after) - { - RYML_ASSERT(parent != NONE); - RYML_ASSERT(is_container(parent) || is_root(parent)); - RYML_ASSERT(after == NONE || (_p(after)->m_parent == parent)); - size_t child = _claim(); - _set_hierarchy(child, parent, after); - return child; - } - /** create and insert a node as the first child of @p parent */ - C4_ALWAYS_INLINE size_t prepend_child(size_t parent) { return insert_child(parent, NONE); } - /** create and insert a node as the last child of @p parent */ - C4_ALWAYS_INLINE size_t append_child(size_t parent) { return insert_child(parent, _p(parent)->m_last_child); } - -public: - - #if defined(__clang__) - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wnull-dereference" - #elif defined(__GNUC__) - # pragma GCC diagnostic push - # if __GNUC__ >= 6 - # pragma GCC diagnostic ignored "-Wnull-dereference" - # endif - #endif - - //! create and insert a new sibling of n. insert after "after" - C4_ALWAYS_INLINE size_t insert_sibling(size_t node, size_t after) - { - return insert_child(_p(node)->m_parent, after); - } - /** create and insert a node as the first node of @p parent */ - C4_ALWAYS_INLINE size_t prepend_sibling(size_t node) { return prepend_child(_p(node)->m_parent); } - C4_ALWAYS_INLINE size_t append_sibling(size_t node) { return append_child(_p(node)->m_parent); } - -public: - - /** remove an entire branch at once: ie remove the children and the node itself */ - inline void remove(size_t node) - { - remove_children(node); - _release(node); - } - - /** remove all the node's children, but keep the node itself */ - void remove_children(size_t node); - - /** change the @p type of the node to one of MAP, SEQ or VAL. @p - * type must have one and only one of MAP,SEQ,VAL; @p type may - * possibly have KEY, but if it does, then the @p node must also - * have KEY. Changing to the same type is a no-op. Otherwise, - * changing to a different type will initialize the node with an - * empty value of the desired type: changing to VAL will - * initialize with a null scalar (~), changing to MAP will - * initialize with an empty map ({}), and changing to SEQ will - * initialize with an empty seq ([]). */ - bool change_type(size_t node, NodeType type); - - bool change_type(size_t node, type_bits type) - { - return change_type(node, (NodeType)type); - } - - #if defined(__clang__) - # pragma clang diagnostic pop - #elif defined(__GNUC__) - # pragma GCC diagnostic pop - #endif - -public: - - /** change the node's position in the parent */ - void move(size_t node, size_t after); - - /** change the node's parent and position */ - void move(size_t node, size_t new_parent, size_t after); - - /** change the node's parent and position to a different tree - * @return the index of the new node in the destination tree */ - size_t move(Tree * src, size_t node, size_t new_parent, size_t after); - - /** ensure the first node is a stream. Eg, change this tree - * - * DOCMAP - * MAP - * KEYVAL - * KEYVAL - * SEQ - * VAL - * - * to - * - * STREAM - * DOCMAP - * MAP - * KEYVAL - * KEYVAL - * SEQ - * VAL - * - * If the root is already a stream, this is a no-op. - */ - void set_root_as_stream(); - -public: - - /** recursively duplicate a node from this tree into a new parent, - * placing it after one of its children - * @return the index of the copy */ - size_t duplicate(size_t node, size_t new_parent, size_t after); - /** recursively duplicate a node from a different tree into a new parent, - * placing it after one of its children - * @return the index of the copy */ - size_t duplicate(Tree const* src, size_t node, size_t new_parent, size_t after); - - /** recursively duplicate the node's children (but not the node) - * @return the index of the last duplicated child */ - size_t duplicate_children(size_t node, size_t parent, size_t after); - /** recursively duplicate the node's children (but not the node), where - * the node is from a different tree - * @return the index of the last duplicated child */ - size_t duplicate_children(Tree const* src, size_t node, size_t parent, size_t after); - - void duplicate_contents(size_t node, size_t where); - void duplicate_contents(Tree const* src, size_t node, size_t where); - - /** duplicate the node's children (but not the node) in a new parent, but - * omit repetitions where a duplicated node has the same key (in maps) or - * value (in seqs). If one of the duplicated children has the same key - * (in maps) or value (in seqs) as one of the parent's children, the one - * that is placed closest to the end will prevail. */ - size_t duplicate_children_no_rep(size_t node, size_t parent, size_t after); - size_t duplicate_children_no_rep(Tree const* src, size_t node, size_t parent, size_t after); - -public: - - void merge_with(Tree const* src, size_t src_node=NONE, size_t dst_root=NONE); - - /** @} */ - -public: - - /** @name internal string arena */ - /** @{ */ - - /** get the current size of the tree's internal arena */ - RYML_DEPRECATED("use arena_size() instead") size_t arena_pos() const { return m_arena_pos; } - /** get the current size of the tree's internal arena */ - inline size_t arena_size() const { return m_arena_pos; } - /** get the current capacity of the tree's internal arena */ - inline size_t arena_capacity() const { return m_arena.len; } - /** get the current slack of the tree's internal arena */ - inline size_t arena_slack() const { RYML_ASSERT(m_arena.len >= m_arena_pos); return m_arena.len - m_arena_pos; } - - /** get the current arena */ - substr arena() const { return m_arena.first(m_arena_pos); } - - /** return true if the given substring is part of the tree's string arena */ - bool in_arena(csubstr s) const - { - return m_arena.is_super(s); - } - - /** serialize the given floating-point variable to the tree's - * arena, growing it as needed to accomodate the serialization. - * - * @note Growing the arena may cause relocation of the entire - * existing arena, and thus change the contents of individual - * nodes, and thus cost O(numnodes)+O(arenasize). To avoid this - * cost, ensure that the arena is reserved to an appropriate size - * using .reserve_arena() - * - * @see alloc_arena() */ - template - typename std::enable_if::value, csubstr>::type - to_arena(T const& C4_RESTRICT a) - { - substr rem(m_arena.sub(m_arena_pos)); - size_t num = to_chars_float(rem, a); - if(num > rem.len) - { - rem = _grow_arena(num); - num = to_chars_float(rem, a); - RYML_ASSERT(num <= rem.len); - } - rem = _request_span(num); - return rem; - } - - /** serialize the given non-floating-point variable to the tree's - * arena, growing it as needed to accomodate the serialization. - * - * @note Growing the arena may cause relocation of the entire - * existing arena, and thus change the contents of individual - * nodes, and thus cost O(numnodes)+O(arenasize). To avoid this - * cost, ensure that the arena is reserved to an appropriate size - * using .reserve_arena() - * - * @see alloc_arena() */ - template - typename std::enable_if::value, csubstr>::type - to_arena(T const& C4_RESTRICT a) - { - substr rem(m_arena.sub(m_arena_pos)); - size_t num = to_chars(rem, a); - if(num > rem.len) - { - rem = _grow_arena(num); - num = to_chars(rem, a); - RYML_ASSERT(num <= rem.len); - } - rem = _request_span(num); - return rem; - } - - /** serialize the given csubstr to the tree's arena, growing the - * arena as needed to accomodate the serialization. - * - * @note Growing the arena may cause relocation of the entire - * existing arena, and thus change the contents of individual - * nodes, and thus cost O(numnodes)+O(arenasize). To avoid this - * cost, ensure that the arena is reserved to an appropriate size - * using .reserve_arena() - * - * @see alloc_arena() */ - csubstr to_arena(csubstr a) - { - if(a.len > 0) - { - substr rem(m_arena.sub(m_arena_pos)); - size_t num = to_chars(rem, a); - if(num > rem.len) - { - rem = _grow_arena(num); - num = to_chars(rem, a); - RYML_ASSERT(num <= rem.len); - } - return _request_span(num); - } - else - { - if(a.str == nullptr) - { - return csubstr{}; - } - else if(m_arena.str == nullptr) - { - // Arena is empty and we want to store a non-null - // zero-length string. - // Even though the string has zero length, we need - // some "memory" to store a non-nullptr string - _grow_arena(1); - } - return _request_span(0); - } - } - C4_ALWAYS_INLINE csubstr to_arena(const char *s) - { - return to_arena(to_csubstr(s)); - } - C4_ALWAYS_INLINE csubstr to_arena(std::nullptr_t) - { - return csubstr{}; - } - - /** copy the given substr to the tree's arena, growing it by the - * required size - * - * @note Growing the arena may cause relocation of the entire - * existing arena, and thus change the contents of individual - * nodes, and thus cost O(numnodes)+O(arenasize). To avoid this - * cost, ensure that the arena is reserved to an appropriate size - * using .reserve_arena() - * - * @see alloc_arena() */ - substr copy_to_arena(csubstr s) - { - substr cp = alloc_arena(s.len); - RYML_ASSERT(cp.len == s.len); - RYML_ASSERT(!s.overlaps(cp)); - #if (!defined(__clang__)) && (defined(__GNUC__) && __GNUC__ >= 10) - C4_SUPPRESS_WARNING_GCC_PUSH - C4_SUPPRESS_WARNING_GCC("-Wstringop-overflow=") // no need for terminating \0 - C4_SUPPRESS_WARNING_GCC( "-Wrestrict") // there's an assert to ensure no violation of restrict behavior - #endif - if(s.len) - memcpy(cp.str, s.str, s.len); - #if (!defined(__clang__)) && (defined(__GNUC__) && __GNUC__ >= 10) - C4_SUPPRESS_WARNING_GCC_POP - #endif - return cp; - } - - /** grow the tree's string arena by the given size and return a substr - * of the added portion - * - * @note Growing the arena may cause relocation of the entire - * existing arena, and thus change the contents of individual - * nodes, and thus cost O(numnodes)+O(arenasize). To avoid this - * cost, ensure that the arena is reserved to an appropriate size - * using .reserve_arena(). - * - * @see reserve_arena() */ - substr alloc_arena(size_t sz) - { - if(sz > arena_slack()) - _grow_arena(sz - arena_slack()); - substr s = _request_span(sz); - return s; - } - - /** ensure the tree's internal string arena is at least the given capacity - * @note This operation has a potential complexity of O(numNodes)+O(arenasize). - * Growing the arena may cause relocation of the entire - * existing arena, and thus change the contents of individual nodes. */ - void reserve_arena(size_t arena_cap) - { - if(arena_cap > m_arena.len) - { - substr buf; - buf.str = (char*) m_callbacks.m_allocate(arena_cap, m_arena.str, m_callbacks.m_user_data); - buf.len = arena_cap; - if(m_arena.str) - { - RYML_ASSERT(m_arena.len >= 0); - _relocate(buf); // does a memcpy and changes nodes using the arena - m_callbacks.m_free(m_arena.str, m_arena.len, m_callbacks.m_user_data); - } - m_arena = buf; - } - } - - /** @} */ - -private: - - substr _grow_arena(size_t more) - { - size_t cap = m_arena.len + more; - cap = cap < 2 * m_arena.len ? 2 * m_arena.len : cap; - cap = cap < 64 ? 64 : cap; - reserve_arena(cap); - return m_arena.sub(m_arena_pos); - } - - substr _request_span(size_t sz) - { - substr s; - s = m_arena.sub(m_arena_pos, sz); - m_arena_pos += sz; - return s; - } - - substr _relocated(csubstr s, substr next_arena) const - { - RYML_ASSERT(m_arena.is_super(s)); - RYML_ASSERT(m_arena.sub(0, m_arena_pos).is_super(s)); - auto pos = (s.str - m_arena.str); - substr r(next_arena.str + pos, s.len); - RYML_ASSERT(r.str - next_arena.str == pos); - RYML_ASSERT(next_arena.sub(0, m_arena_pos).is_super(r)); - return r; - } - -public: - - /** @name lookup */ - /** @{ */ - - struct lookup_result - { - size_t target; - size_t closest; - size_t path_pos; - csubstr path; - - inline operator bool() const { return target != NONE; } - - lookup_result() : target(NONE), closest(NONE), path_pos(0), path() {} - lookup_result(csubstr path_, size_t start) : target(NONE), closest(start), path_pos(0), path(path_) {} - - /** get the part ot the input path that was resolved */ - csubstr resolved() const; - /** get the part ot the input path that was unresolved */ - csubstr unresolved() const; - }; - - /** for example foo.bar[0].baz */ - lookup_result lookup_path(csubstr path, size_t start=NONE) const; - - /** defaulted lookup: lookup @p path; if the lookup fails, recursively modify - * the tree so that the corresponding lookup_path() would return the - * default value. - * @see lookup_path() */ - size_t lookup_path_or_modify(csubstr default_value, csubstr path, size_t start=NONE); - - /** defaulted lookup: lookup @p path; if the lookup fails, recursively modify - * the tree so that the corresponding lookup_path() would return the - * branch @p src_node (from the tree @p src). - * @see lookup_path() */ - size_t lookup_path_or_modify(Tree const *src, size_t src_node, csubstr path, size_t start=NONE); - - /** @} */ - -private: - - struct _lookup_path_token - { - csubstr value; - NodeType type; - _lookup_path_token() : value(), type() {} - _lookup_path_token(csubstr v, NodeType t) : value(v), type(t) {} - inline operator bool() const { return type != NOTYPE; } - bool is_index() const { return value.begins_with('[') && value.ends_with(']'); } - }; - - size_t _lookup_path_or_create(csubstr path, size_t start); - - void _lookup_path (lookup_result *r) const; - void _lookup_path_modify(lookup_result *r); - - size_t _next_node (lookup_result *r, _lookup_path_token *parent) const; - size_t _next_node_modify(lookup_result *r, _lookup_path_token *parent); - - void _advance(lookup_result *r, size_t more) const; - - _lookup_path_token _next_token(lookup_result *r, _lookup_path_token const& parent) const; - -private: - - void _clear(); - void _free(); - void _copy(Tree const& that); - void _move(Tree & that); - - void _relocate(substr next_arena); - -public: - - #if ! RYML_USE_ASSERT - C4_ALWAYS_INLINE void _check_next_flags(size_t, type_bits) {} - #else - void _check_next_flags(size_t node, type_bits f) - { - auto n = _p(node); - type_bits o = n->m_type; // old - C4_UNUSED(o); - if(f & MAP) - { - RYML_ASSERT_MSG((f & SEQ) == 0, "cannot mark simultaneously as map and seq"); - RYML_ASSERT_MSG((f & VAL) == 0, "cannot mark simultaneously as map and val"); - RYML_ASSERT_MSG((o & SEQ) == 0, "cannot turn a seq into a map; clear first"); - RYML_ASSERT_MSG((o & VAL) == 0, "cannot turn a val into a map; clear first"); - } - else if(f & SEQ) - { - RYML_ASSERT_MSG((f & MAP) == 0, "cannot mark simultaneously as seq and map"); - RYML_ASSERT_MSG((f & VAL) == 0, "cannot mark simultaneously as seq and val"); - RYML_ASSERT_MSG((o & MAP) == 0, "cannot turn a map into a seq; clear first"); - RYML_ASSERT_MSG((o & VAL) == 0, "cannot turn a val into a seq; clear first"); - } - if(f & KEY) - { - RYML_ASSERT(!is_root(node)); - auto pid = parent(node); C4_UNUSED(pid); - RYML_ASSERT(is_map(pid)); - } - if((f & VAL) && !is_root(node)) - { - auto pid = parent(node); C4_UNUSED(pid); - RYML_ASSERT(is_map(pid) || is_seq(pid)); - } - } - #endif - - inline void _set_flags(size_t node, NodeType_e f) { _check_next_flags(node, f); _p(node)->m_type = f; } - inline void _set_flags(size_t node, type_bits f) { _check_next_flags(node, f); _p(node)->m_type = f; } - - inline void _add_flags(size_t node, NodeType_e f) { NodeData *d = _p(node); type_bits fb = f | d->m_type; _check_next_flags(node, fb); d->m_type = (NodeType_e) fb; } - inline void _add_flags(size_t node, type_bits f) { NodeData *d = _p(node); f |= d->m_type; _check_next_flags(node, f); d->m_type = f; } - - inline void _rem_flags(size_t node, NodeType_e f) { NodeData *d = _p(node); type_bits fb = d->m_type & ~f; _check_next_flags(node, fb); d->m_type = (NodeType_e) fb; } - inline void _rem_flags(size_t node, type_bits f) { NodeData *d = _p(node); f = d->m_type & ~f; _check_next_flags(node, f); d->m_type = f; } - - void _set_key(size_t node, csubstr key, type_bits more_flags=0) - { - _p(node)->m_key.scalar = key; - _add_flags(node, KEY|more_flags); - } - void _set_key(size_t node, NodeScalar const& key, type_bits more_flags=0) - { - _p(node)->m_key = key; - _add_flags(node, KEY|more_flags); - } - - void _set_val(size_t node, csubstr val, type_bits more_flags=0) - { - RYML_ASSERT(num_children(node) == 0); - RYML_ASSERT(!is_seq(node) && !is_map(node)); - _p(node)->m_val.scalar = val; - _add_flags(node, VAL|more_flags); - } - void _set_val(size_t node, NodeScalar const& val, type_bits more_flags=0) - { - RYML_ASSERT(num_children(node) == 0); - RYML_ASSERT( ! is_container(node)); - _p(node)->m_val = val; - _add_flags(node, VAL|more_flags); - } - - void _set(size_t node, NodeInit const& i) - { - RYML_ASSERT(i._check()); - NodeData *n = _p(node); - RYML_ASSERT(n->m_key.scalar.empty() || i.key.scalar.empty() || i.key.scalar == n->m_key.scalar); - _add_flags(node, i.type); - if(n->m_key.scalar.empty()) - { - if( ! i.key.scalar.empty()) - { - _set_key(node, i.key.scalar); - } - } - n->m_key.tag = i.key.tag; - n->m_val = i.val; - } - - void _set_parent_as_container_if_needed(size_t in) - { - NodeData const* n = _p(in); - size_t ip = parent(in); - if(ip != NONE) - { - if( ! (is_seq(ip) || is_map(ip))) - { - if((in == first_child(ip)) && (in == last_child(ip))) - { - if( ! n->m_key.empty() || has_key(in)) - { - _add_flags(ip, MAP); - } - else - { - _add_flags(ip, SEQ); - } - } - } - } - } - - void _seq2map(size_t node) - { - RYML_ASSERT(is_seq(node)); - for(size_t i = first_child(node); i != NONE; i = next_sibling(i)) - { - NodeData *C4_RESTRICT ch = _p(i); - if(ch->m_type.is_keyval()) - continue; - ch->m_type.add(KEY); - ch->m_key = ch->m_val; - } - auto *C4_RESTRICT n = _p(node); - n->m_type.rem(SEQ); - n->m_type.add(MAP); - } - - size_t _do_reorder(size_t *node, size_t count); - - void _swap(size_t n_, size_t m_); - void _swap_props(size_t n_, size_t m_); - void _swap_hierarchy(size_t n_, size_t m_); - void _copy_hierarchy(size_t dst_, size_t src_); - - inline void _copy_props(size_t dst_, size_t src_) - { - _copy_props(dst_, this, src_); - } - - inline void _copy_props_wo_key(size_t dst_, size_t src_) - { - _copy_props_wo_key(dst_, this, src_); - } - - void _copy_props(size_t dst_, Tree const* that_tree, size_t src_) - { - auto & C4_RESTRICT dst = *_p(dst_); - auto const& C4_RESTRICT src = *that_tree->_p(src_); - dst.m_type = src.m_type; - dst.m_key = src.m_key; - dst.m_val = src.m_val; - } - - void _copy_props_wo_key(size_t dst_, Tree const* that_tree, size_t src_) - { - auto & C4_RESTRICT dst = *_p(dst_); - auto const& C4_RESTRICT src = *that_tree->_p(src_); - dst.m_type = (src.m_type & ~_KEYMASK) | (dst.m_type & _KEYMASK); - dst.m_val = src.m_val; - } - - inline void _clear_type(size_t node) - { - _p(node)->m_type = NOTYPE; - } - - inline void _clear(size_t node) - { - auto *C4_RESTRICT n = _p(node); - n->m_type = NOTYPE; - n->m_key.clear(); - n->m_val.clear(); - n->m_parent = NONE; - n->m_first_child = NONE; - n->m_last_child = NONE; - } - - inline void _clear_key(size_t node) - { - _p(node)->m_key.clear(); - _rem_flags(node, KEY); - } - - inline void _clear_val(size_t node) - { - _p(node)->m_val.clear(); - _rem_flags(node, VAL); - } - -private: - - void _clear_range(size_t first, size_t num); - - size_t _claim(); - void _claim_root(); - void _release(size_t node); - void _free_list_add(size_t node); - void _free_list_rem(size_t node); - - void _set_hierarchy(size_t node, size_t parent, size_t after_sibling); - void _rem_hierarchy(size_t node); - -public: - - // members are exposed, but you should NOT access them directly - - NodeData * m_buf; - size_t m_cap; - - size_t m_size; - - size_t m_free_head; - size_t m_free_tail; - - substr m_arena; - size_t m_arena_pos; - - Callbacks m_callbacks; - - TagDirective m_tag_directives[RYML_MAX_TAG_DIRECTIVES]; - -}; - -} // namespace yml -} // namespace c4 - - -C4_SUPPRESS_WARNING_MSVC_POP -C4_SUPPRESS_WARNING_GCC_CLANG_POP - - -#endif /* _C4_YML_TREE_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/node.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_NODE_HPP_ -#define _C4_YML_NODE_HPP_ - -/** @file node.hpp - * @see NodeRef */ - -//included above: -//#include - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp -//#include "c4/yml/tree.hpp" -#if !defined(C4_YML_TREE_HPP_) && !defined(_C4_YML_TREE_HPP_) -#error "amalgamate: file c4/yml/tree.hpp must have been included at this point" -#endif /* C4_YML_TREE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/base64.hpp -//#include "c4/base64.hpp" -#if !defined(C4_BASE64_HPP_) && !defined(_C4_BASE64_HPP_) -#error "amalgamate: file c4/base64.hpp must have been included at this point" -#endif /* C4_BASE64_HPP_ */ - - -#ifdef __GNUC__ -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wtype-limits" -#endif - -#if defined(_MSC_VER) -# pragma warning(push) -# pragma warning(disable: 4251/*needs to have dll-interface to be used by clients of struct*/) -# pragma warning(disable: 4296/*expression is always 'boolean_value'*/) -#endif - -namespace c4 { -namespace yml { - -template struct Key { K & k; }; -template<> struct Key { fmt::const_base64_wrapper wrapper; }; -template<> struct Key { fmt::base64_wrapper wrapper; }; - -template C4_ALWAYS_INLINE Key key(K & k) { return Key{k}; } -C4_ALWAYS_INLINE Key key(fmt::const_base64_wrapper w) { return {w}; } -C4_ALWAYS_INLINE Key key(fmt::base64_wrapper w) { return {w}; } - -template void write(NodeRef *n, T const& v); - -template -typename std::enable_if< ! std::is_floating_point::value, bool>::type -read(NodeRef const& n, T *v); - -template -typename std::enable_if< std::is_floating_point::value, bool>::type -read(NodeRef const& n, T *v); - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -// forward decls -class NodeRef; -class ConstNodeRef; - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace detail { - -template -struct child_iterator -{ - using value_type = NodeRefType; - using tree_type = typename NodeRefType::tree_type; - - tree_type * C4_RESTRICT m_tree; - size_t m_child_id; - - child_iterator(tree_type * t, size_t id) : m_tree(t), m_child_id(id) {} - - child_iterator& operator++ () { RYML_ASSERT(m_child_id != NONE); m_child_id = m_tree->next_sibling(m_child_id); return *this; } - child_iterator& operator-- () { RYML_ASSERT(m_child_id != NONE); m_child_id = m_tree->prev_sibling(m_child_id); return *this; } - - NodeRefType operator* () const { return NodeRefType(m_tree, m_child_id); } - NodeRefType operator-> () const { return NodeRefType(m_tree, m_child_id); } - - bool operator!= (child_iterator that) const { RYML_ASSERT(m_tree == that.m_tree); return m_child_id != that.m_child_id; } - bool operator== (child_iterator that) const { RYML_ASSERT(m_tree == that.m_tree); return m_child_id == that.m_child_id; } -}; - -template -struct children_view_ -{ - using n_iterator = child_iterator; - - n_iterator b, e; - - inline children_view_(n_iterator const& C4_RESTRICT b_, - n_iterator const& C4_RESTRICT e_) : b(b_), e(e_) {} - - inline n_iterator begin() const { return b; } - inline n_iterator end () const { return e; } -}; - -template -bool _visit(NodeRefType &node, Visitor fn, size_t indentation_level, bool skip_root=false) -{ - size_t increment = 0; - if( ! (node.is_root() && skip_root)) - { - if(fn(node, indentation_level)) - return true; - ++increment; - } - if(node.has_children()) - { - for(auto ch : node.children()) - { - if(_visit(ch, fn, indentation_level + increment, false)) // no need to forward skip_root as it won't be root - { - return true; - } - } - } - return false; -} - -template -bool _visit_stacked(NodeRefType &node, Visitor fn, size_t indentation_level, bool skip_root=false) -{ - size_t increment = 0; - if( ! (node.is_root() && skip_root)) - { - if(fn(node, indentation_level)) - { - return true; - } - ++increment; - } - if(node.has_children()) - { - fn.push(node, indentation_level); - for(auto ch : node.children()) - { - if(_visit_stacked(ch, fn, indentation_level + increment, false)) // no need to forward skip_root as it won't be root - { - fn.pop(node, indentation_level); - return true; - } - } - fn.pop(node, indentation_level); - } - return false; -} - - -//----------------------------------------------------------------------------- - -/** a CRTP base for read-only node methods */ -template -struct RoNodeMethods -{ - C4_SUPPRESS_WARNING_GCC_CLANG_WITH_PUSH("-Wcast-align") - // helper CRTP macros, undefined at the end - #define tree_ ((ConstImpl const* C4_RESTRICT)this)->m_tree - #define id_ ((ConstImpl const* C4_RESTRICT)this)->m_id - #define tree__ ((Impl const* C4_RESTRICT)this)->m_tree - #define id__ ((Impl const* C4_RESTRICT)this)->m_id - // require valid - #define _C4RV() \ - RYML_ASSERT(tree_ != nullptr); \ - _RYML_CB_ASSERT(tree_->m_callbacks, id_ != NONE) - #define _C4_IF_MUTABLE(ty) typename std::enable_if::value, ty>::type - -public: - - /** @name node property getters */ - /** @{ */ - - /** returns the data or null when the id is NONE */ - C4_ALWAYS_INLINE C4_PURE NodeData const* get() const noexcept { RYML_ASSERT(tree_ != nullptr); return tree_->get(id_); } - /** returns the data or null when the id is NONE */ - template - C4_ALWAYS_INLINE C4_PURE auto get() noexcept -> _C4_IF_MUTABLE(NodeData*) { RYML_ASSERT(tree_ != nullptr); return tree__->get(id__); } - - C4_ALWAYS_INLINE C4_PURE NodeType type() const noexcept { _C4RV(); return tree_->type(id_); } - C4_ALWAYS_INLINE C4_PURE const char* type_str() const noexcept { return tree_->type_str(id_); } - - C4_ALWAYS_INLINE C4_PURE csubstr key() const noexcept { _C4RV(); return tree_->key(id_); } - C4_ALWAYS_INLINE C4_PURE csubstr key_tag() const noexcept { _C4RV(); return tree_->key_tag(id_); } - C4_ALWAYS_INLINE C4_PURE csubstr key_ref() const noexcept { _C4RV(); return tree_->key_ref(id_); } - C4_ALWAYS_INLINE C4_PURE csubstr key_anchor() const noexcept { _C4RV(); return tree_->key_anchor(id_); } - - C4_ALWAYS_INLINE C4_PURE csubstr val() const noexcept { _C4RV(); return tree_->val(id_); } - C4_ALWAYS_INLINE C4_PURE csubstr val_tag() const noexcept { _C4RV(); return tree_->val_tag(id_); } - C4_ALWAYS_INLINE C4_PURE csubstr val_ref() const noexcept { _C4RV(); return tree_->val_ref(id_); } - C4_ALWAYS_INLINE C4_PURE csubstr val_anchor() const noexcept { _C4RV(); return tree_->val_anchor(id_); } - - C4_ALWAYS_INLINE C4_PURE NodeScalar const& keysc() const noexcept { _C4RV(); return tree_->keysc(id_); } - C4_ALWAYS_INLINE C4_PURE NodeScalar const& valsc() const noexcept { _C4RV(); return tree_->valsc(id_); } - - C4_ALWAYS_INLINE C4_PURE bool key_is_null() const noexcept { _C4RV(); return tree_->key_is_null(id_); } - C4_ALWAYS_INLINE C4_PURE bool val_is_null() const noexcept { _C4RV(); return tree_->val_is_null(id_); } - - /** @} */ - -public: - - /** @name node property predicates */ - /** @{ */ - - C4_ALWAYS_INLINE C4_PURE bool empty() const noexcept { _C4RV(); return tree_->empty(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_stream() const noexcept { _C4RV(); return tree_->is_stream(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_doc() const noexcept { _C4RV(); return tree_->is_doc(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_container() const noexcept { _C4RV(); return tree_->is_container(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_map() const noexcept { _C4RV(); return tree_->is_map(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_seq() const noexcept { _C4RV(); return tree_->is_seq(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_val() const noexcept { _C4RV(); return tree_->has_val(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_key() const noexcept { _C4RV(); return tree_->has_key(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_val() const noexcept { _C4RV(); return tree_->is_val(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_keyval() const noexcept { _C4RV(); return tree_->is_keyval(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_key_tag() const noexcept { _C4RV(); return tree_->has_key_tag(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_val_tag() const noexcept { _C4RV(); return tree_->has_val_tag(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_key_anchor() const noexcept { _C4RV(); return tree_->has_key_anchor(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_key_anchor() const noexcept { _C4RV(); return tree_->is_key_anchor(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_val_anchor() const noexcept { _C4RV(); return tree_->has_val_anchor(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_val_anchor() const noexcept { _C4RV(); return tree_->is_val_anchor(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_anchor() const noexcept { _C4RV(); return tree_->has_anchor(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_anchor() const noexcept { _C4RV(); return tree_->is_anchor(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_key_ref() const noexcept { _C4RV(); return tree_->is_key_ref(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_val_ref() const noexcept { _C4RV(); return tree_->is_val_ref(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_ref() const noexcept { _C4RV(); return tree_->is_ref(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_anchor_or_ref() const noexcept { _C4RV(); return tree_->is_anchor_or_ref(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_key_quoted() const noexcept { _C4RV(); return tree_->is_key_quoted(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_val_quoted() const noexcept { _C4RV(); return tree_->is_val_quoted(id_); } - C4_ALWAYS_INLINE C4_PURE bool is_quoted() const noexcept { _C4RV(); return tree_->is_quoted(id_); } - C4_ALWAYS_INLINE C4_PURE bool parent_is_seq() const noexcept { _C4RV(); return tree_->parent_is_seq(id_); } - C4_ALWAYS_INLINE C4_PURE bool parent_is_map() const noexcept { _C4RV(); return tree_->parent_is_map(id_); } - - /** @} */ - -public: - - /** @name hierarchy predicates */ - /** @{ */ - - C4_ALWAYS_INLINE C4_PURE bool is_root() const noexcept { _C4RV(); return tree_->is_root(id_); } - C4_ALWAYS_INLINE C4_PURE bool has_parent() const noexcept { _C4RV(); return tree_->has_parent(id_); } - - C4_ALWAYS_INLINE C4_PURE bool has_child(ConstImpl const& ch) const noexcept { _C4RV(); return tree_->has_child(id_, ch.m_id); } - C4_ALWAYS_INLINE C4_PURE bool has_child(csubstr name) const noexcept { _C4RV(); return tree_->has_child(id_, name); } - C4_ALWAYS_INLINE C4_PURE bool has_children() const noexcept { _C4RV(); return tree_->has_children(id_); } - - C4_ALWAYS_INLINE C4_PURE bool has_sibling(ConstImpl const& n) const noexcept { _C4RV(); return tree_->has_sibling(id_, n.m_id); } - C4_ALWAYS_INLINE C4_PURE bool has_sibling(csubstr name) const noexcept { _C4RV(); return tree_->has_sibling(id_, name); } - /** counts with this */ - C4_ALWAYS_INLINE C4_PURE bool has_siblings() const noexcept { _C4RV(); return tree_->has_siblings(id_); } - /** does not count with this */ - C4_ALWAYS_INLINE C4_PURE bool has_other_siblings() const noexcept { _C4RV(); return tree_->has_other_siblings(id_); } - - /** @} */ - -public: - - /** @name hierarchy getters */ - /** @{ */ - - - template - C4_ALWAYS_INLINE C4_PURE auto doc(size_t num) noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->doc(num)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl doc(size_t num) const noexcept { _C4RV(); return {tree_, tree_->doc(num)}; } - - - template - C4_ALWAYS_INLINE C4_PURE auto parent() noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->parent(id__)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl parent() const noexcept { _C4RV(); return {tree_, tree_->parent(id_)}; } - - - /** O(#num_children) */ - C4_ALWAYS_INLINE C4_PURE size_t child_pos(ConstImpl const& n) const noexcept { _C4RV(); return tree_->child_pos(id_, n.m_id); } - C4_ALWAYS_INLINE C4_PURE size_t num_children() const noexcept { _C4RV(); return tree_->num_children(id_); } - - template - C4_ALWAYS_INLINE C4_PURE auto first_child() noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->first_child(id__)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl first_child() const noexcept { _C4RV(); return {tree_, tree_->first_child(id_)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto last_child() noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->last_child(id__)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl last_child () const noexcept { _C4RV(); return {tree_, tree_->last_child (id_)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto child(size_t pos) noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->child(id__, pos)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl child(size_t pos) const noexcept { _C4RV(); return {tree_, tree_->child(id_, pos)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto find_child(csubstr name) noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->find_child(id__, name)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl find_child(csubstr name) const noexcept { _C4RV(); return {tree_, tree_->find_child(id_, name)}; } - - - /** O(#num_siblings) */ - C4_ALWAYS_INLINE C4_PURE size_t num_siblings() const noexcept { _C4RV(); return tree_->num_siblings(id_); } - C4_ALWAYS_INLINE C4_PURE size_t num_other_siblings() const noexcept { _C4RV(); return tree_->num_other_siblings(id_); } - C4_ALWAYS_INLINE C4_PURE size_t sibling_pos(ConstImpl const& n) const noexcept { _C4RV(); return tree_->child_pos(tree_->parent(id_), n.m_id); } - - template - C4_ALWAYS_INLINE C4_PURE auto prev_sibling() noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->prev_sibling(id__)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl prev_sibling() const noexcept { _C4RV(); return {tree_, tree_->prev_sibling(id_)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto next_sibling() noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->next_sibling(id__)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl next_sibling() const noexcept { _C4RV(); return {tree_, tree_->next_sibling(id_)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto first_sibling() noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->first_sibling(id__)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl first_sibling() const noexcept { _C4RV(); return {tree_, tree_->first_sibling(id_)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto last_sibling() noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->last_sibling(id__)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl last_sibling () const noexcept { _C4RV(); return {tree_, tree_->last_sibling(id_)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto sibling(size_t pos) noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->sibling(id__, pos)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl sibling(size_t pos) const noexcept { _C4RV(); return {tree_, tree_->sibling(id_, pos)}; } - - template - C4_ALWAYS_INLINE C4_PURE auto find_sibling(csubstr name) noexcept -> _C4_IF_MUTABLE(Impl) { _C4RV(); return {tree__, tree__->find_sibling(id__, name)}; } - C4_ALWAYS_INLINE C4_PURE ConstImpl find_sibling(csubstr name) const noexcept { _C4RV(); return {tree_, tree_->find_sibling(id_, name)}; } - - - /** O(num_children) */ - C4_ALWAYS_INLINE C4_PURE ConstImpl operator[] (csubstr k) const noexcept - { - _C4RV(); - size_t ch = tree_->find_child(id_, k); - _RYML_CB_ASSERT(tree_->m_callbacks, ch != NONE); - return {tree_, ch}; - } - /** Find child by key. O(num_children). returns a seed node if no such child is found. */ - template - C4_ALWAYS_INLINE C4_PURE auto operator[] (csubstr k) noexcept -> _C4_IF_MUTABLE(Impl) - { - _C4RV(); - size_t ch = tree__->find_child(id__, k); - return ch != NONE ? Impl(tree__, ch) : NodeRef(tree__, id__, k); - } - - /** O(num_children) */ - C4_ALWAYS_INLINE C4_PURE ConstImpl operator[] (size_t pos) const noexcept - { - _C4RV(); - size_t ch = tree_->child(id_, pos); - _RYML_CB_ASSERT(tree_->m_callbacks, ch != NONE); - return {tree_, ch}; - } - - /** Find child by position. O(pos). returns a seed node if no such child is found. */ - template - C4_ALWAYS_INLINE C4_PURE auto operator[] (size_t pos) noexcept -> _C4_IF_MUTABLE(Impl) - { - _C4RV(); - size_t ch = tree__->child(id__, pos); - return ch != NONE ? Impl(tree__, ch) : NodeRef(tree__, id__, pos); - } - - /** @} */ - -public: - - /** deserialization */ - /** @{ */ - - template - ConstImpl const& operator>> (T &v) const - { - _C4RV(); - if( ! read((ConstImpl const&)*this, &v)) - _RYML_CB_ERR(tree_->m_callbacks, "could not deserialize value"); - return *((ConstImpl const*)this); - } - - /** deserialize the node's key to the given variable */ - template - ConstImpl const& operator>> (Key v) const - { - _C4RV(); - if( ! from_chars(key(), &v.k)) - _RYML_CB_ERR(tree_->m_callbacks, "could not deserialize key"); - return *((ConstImpl const*)this); - } - - /** deserialize the node's key as base64 */ - ConstImpl const& operator>> (Key w) const - { - deserialize_key(w.wrapper); - return *((ConstImpl const*)this); - } - - /** deserialize the node's val as base64 */ - ConstImpl const& operator>> (fmt::base64_wrapper w) const - { - deserialize_val(w); - return *((ConstImpl const*)this); - } - - /** decode the base64-encoded key and assign the - * decoded blob to the given buffer/ - * @return the size of base64-decoded blob */ - size_t deserialize_key(fmt::base64_wrapper v) const - { - _C4RV(); - return from_chars(key(), &v); - } - /** decode the base64-encoded key and assign the - * decoded blob to the given buffer/ - * @return the size of base64-decoded blob */ - size_t deserialize_val(fmt::base64_wrapper v) const - { - _C4RV(); - return from_chars(val(), &v); - }; - - template - bool get_if(csubstr name, T *var) const - { - auto ch = find_child(name); - if(!ch.valid()) - return false; - ch >> *var; - return true; - } - - template - bool get_if(csubstr name, T *var, T const& fallback) const - { - auto ch = find_child(name); - if(ch.valid()) - { - ch >> *var; - return true; - } - else - { - *var = fallback; - return false; - } - } - - /** @} */ - -public: - - #if defined(__clang__) - # pragma clang diagnostic push - # pragma clang diagnostic ignored "-Wnull-dereference" - #elif defined(__GNUC__) - # pragma GCC diagnostic push - # if __GNUC__ >= 6 - # pragma GCC diagnostic ignored "-Wnull-dereference" - # endif - #endif - - /** @name iteration */ - /** @{ */ - - using iterator = detail::child_iterator; - using const_iterator = detail::child_iterator; - using children_view = detail::children_view_; - using const_children_view = detail::children_view_; - - template - C4_ALWAYS_INLINE C4_PURE auto begin() noexcept -> _C4_IF_MUTABLE(iterator) { _C4RV(); return iterator(tree__, tree__->first_child(id__)); } - C4_ALWAYS_INLINE C4_PURE const_iterator begin() const noexcept { _C4RV(); return const_iterator(tree_, tree_->first_child(id_)); } - C4_ALWAYS_INLINE C4_PURE const_iterator cbegin() const noexcept { _C4RV(); return const_iterator(tree_, tree_->first_child(id_)); } - - template - C4_ALWAYS_INLINE C4_PURE auto end() noexcept -> _C4_IF_MUTABLE(iterator) { _C4RV(); return iterator(tree__, NONE); } - C4_ALWAYS_INLINE C4_PURE const_iterator end() const noexcept { _C4RV(); return const_iterator(tree_, NONE); } - C4_ALWAYS_INLINE C4_PURE const_iterator cend() const noexcept { _C4RV(); return const_iterator(tree_, tree_->first_child(id_)); } - - /** get an iterable view over children */ - template - C4_ALWAYS_INLINE C4_PURE auto children() noexcept -> _C4_IF_MUTABLE(children_view) { _C4RV(); return children_view(begin(), end()); } - /** get an iterable view over children */ - C4_ALWAYS_INLINE C4_PURE const_children_view children() const noexcept { _C4RV(); return const_children_view(begin(), end()); } - /** get an iterable view over children */ - C4_ALWAYS_INLINE C4_PURE const_children_view cchildren() const noexcept { _C4RV(); return const_children_view(begin(), end()); } - - /** get an iterable view over all siblings (including the calling node) */ - template - C4_ALWAYS_INLINE C4_PURE auto siblings() noexcept -> _C4_IF_MUTABLE(children_view) - { - _C4RV(); - NodeData const *nd = tree__->get(id__); - return (nd->m_parent != NONE) ? // does it have a parent? - children_view(iterator(tree__, tree_->get(nd->m_parent)->m_first_child), iterator(tree__, NONE)) - : - children_view(end(), end()); - } - /** get an iterable view over all siblings (including the calling node) */ - C4_ALWAYS_INLINE C4_PURE const_children_view siblings() const noexcept - { - _C4RV(); - NodeData const *nd = tree_->get(id_); - return (nd->m_parent != NONE) ? // does it have a parent? - const_children_view(const_iterator(tree_, tree_->get(nd->m_parent)->m_first_child), const_iterator(tree_, NONE)) - : - const_children_view(end(), end()); - } - /** get an iterable view over all siblings (including the calling node) */ - C4_ALWAYS_INLINE C4_PURE const_children_view csiblings() const noexcept { return siblings(); } - - /** visit every child node calling fn(node) */ - template - C4_ALWAYS_INLINE C4_PURE bool visit(Visitor fn, size_t indentation_level=0, bool skip_root=true) const noexcept - { - return detail::_visit(*(ConstImpl*)this, fn, indentation_level, skip_root); - } - /** visit every child node calling fn(node) */ - template - auto visit(Visitor fn, size_t indentation_level=0, bool skip_root=true) noexcept - -> _C4_IF_MUTABLE(bool) - { - return detail::_visit(*(Impl*)this, fn, indentation_level, skip_root); - } - - /** visit every child node calling fn(node, level) */ - template - C4_ALWAYS_INLINE C4_PURE bool visit_stacked(Visitor fn, size_t indentation_level=0, bool skip_root=true) const noexcept - { - return detail::_visit_stacked(*(ConstImpl*)this, fn, indentation_level, skip_root); - } - /** visit every child node calling fn(node, level) */ - template - auto visit_stacked(Visitor fn, size_t indentation_level=0, bool skip_root=true) noexcept - -> _C4_IF_MUTABLE(bool) - { - return detail::_visit_stacked(*(Impl*)this, fn, indentation_level, skip_root); - } - - /** @} */ - - #if defined(__clang__) - # pragma clang diagnostic pop - #elif defined(__GNUC__) - # pragma GCC diagnostic pop - #endif - - #undef _C4_IF_MUTABLE - #undef _C4RV - #undef tree_ - #undef tree__ - #undef id_ - #undef id__ - - C4_SUPPRESS_WARNING_GCC_CLANG_POP -}; - -} // namespace detail - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -class RYML_EXPORT ConstNodeRef : public detail::RoNodeMethods -{ -public: - - using tree_type = Tree const; - -public: - - Tree const* C4_RESTRICT m_tree; - size_t m_id; - - friend NodeRef; - friend struct detail::RoNodeMethods; - -public: - - /** @name construction */ - /** @{ */ - - ConstNodeRef() : m_tree(nullptr), m_id(NONE) {} - ConstNodeRef(Tree const &t) : m_tree(&t), m_id(t .root_id()) {} - ConstNodeRef(Tree const *t) : m_tree(t ), m_id(t->root_id()) {} - ConstNodeRef(Tree const *t, size_t id) : m_tree(t), m_id(id) {} - ConstNodeRef(std::nullptr_t) : m_tree(nullptr), m_id(NONE) {} - - ConstNodeRef(ConstNodeRef const&) = default; - ConstNodeRef(ConstNodeRef &&) = default; - - ConstNodeRef(NodeRef const&); - ConstNodeRef(NodeRef &&); - - /** @} */ - -public: - - /** @name assignment */ - /** @{ */ - - ConstNodeRef& operator= (std::nullptr_t) { m_tree = nullptr; m_id = NONE; return *this; } - - ConstNodeRef& operator= (ConstNodeRef const&) = default; - ConstNodeRef& operator= (ConstNodeRef &&) = default; - - ConstNodeRef& operator= (NodeRef const&); - ConstNodeRef& operator= (NodeRef &&); - - - /** @} */ - -public: - - /** @name state queries */ - /** @{ */ - - C4_ALWAYS_INLINE C4_PURE bool valid() const noexcept { return m_tree != nullptr && m_id != NONE; } - - /** @} */ - -public: - - /** @name member getters */ - /** @{ */ - - C4_ALWAYS_INLINE C4_PURE Tree const* tree() const noexcept { return m_tree; } - C4_ALWAYS_INLINE C4_PURE size_t id() const noexcept { return m_id; } - - /** @} */ - -public: - - /** @name comparisons */ - /** @{ */ - - C4_ALWAYS_INLINE C4_PURE bool operator== (ConstNodeRef const& that) const noexcept { RYML_ASSERT(that.m_tree == m_tree); return m_id == that.m_id; } - C4_ALWAYS_INLINE C4_PURE bool operator!= (ConstNodeRef const& that) const noexcept { RYML_ASSERT(that.m_tree == m_tree); return ! this->operator==(that); } - - C4_ALWAYS_INLINE C4_PURE bool operator== (std::nullptr_t) const noexcept { return m_tree == nullptr || m_id == NONE; } - C4_ALWAYS_INLINE C4_PURE bool operator!= (std::nullptr_t) const noexcept { return ! this->operator== (nullptr); } - - C4_ALWAYS_INLINE C4_PURE bool operator== (csubstr val) const noexcept { RYML_ASSERT(has_val()); return m_tree->val(m_id) == val; } - C4_ALWAYS_INLINE C4_PURE bool operator!= (csubstr val) const noexcept { RYML_ASSERT(has_val()); return m_tree->val(m_id) != val; } - - /** @} */ - -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** a reference to a node in an existing yaml tree, offering a more - * convenient API than the index-based API used in the tree. */ -class RYML_EXPORT NodeRef : public detail::RoNodeMethods -{ -public: - - using tree_type = Tree; - using base_type = detail::RoNodeMethods; - -private: - - Tree *C4_RESTRICT m_tree; - size_t m_id; - - /** This member is used to enable lazy operator[] writing. When a child - * with a key or index is not found, m_id is set to the id of the parent - * and the asked-for key or index are stored in this member until a write - * does happen. Then it is given as key or index for creating the child. - * When a key is used, the csubstr stores it (so the csubstr's string is - * non-null and the csubstr's size is different from NONE). When an index is - * used instead, the csubstr's string is set to null, and only the csubstr's - * size is set to a value different from NONE. Otherwise, when operator[] - * does find the child then this member is empty: the string is null and - * the size is NONE. */ - csubstr m_seed; - - friend ConstNodeRef; - friend struct detail::RoNodeMethods; - - // require valid: a helper macro, undefined at the end - #define _C4RV() \ - RYML_ASSERT(m_tree != nullptr); \ - _RYML_CB_ASSERT(m_tree->m_callbacks, m_id != NONE && !is_seed()) - -public: - - /** @name construction */ - /** @{ */ - - NodeRef() : m_tree(nullptr), m_id(NONE), m_seed() { _clear_seed(); } - NodeRef(Tree &t) : m_tree(&t), m_id(t .root_id()), m_seed() { _clear_seed(); } - NodeRef(Tree *t) : m_tree(t ), m_id(t->root_id()), m_seed() { _clear_seed(); } - NodeRef(Tree *t, size_t id) : m_tree(t), m_id(id), m_seed() { _clear_seed(); } - NodeRef(Tree *t, size_t id, size_t seed_pos) : m_tree(t), m_id(id), m_seed() { m_seed.str = nullptr; m_seed.len = seed_pos; } - NodeRef(Tree *t, size_t id, csubstr seed_key) : m_tree(t), m_id(id), m_seed(seed_key) {} - NodeRef(std::nullptr_t) : m_tree(nullptr), m_id(NONE), m_seed() {} - - /** @} */ - -public: - - /** @name assignment */ - /** @{ */ - - NodeRef(NodeRef const&) = default; - NodeRef(NodeRef &&) = default; - - NodeRef& operator= (NodeRef const&) = default; - NodeRef& operator= (NodeRef &&) = default; - - /** @} */ - -public: - - /** @name state queries */ - /** @{ */ - - inline bool valid() const { return m_tree != nullptr && m_id != NONE; } - inline bool is_seed() const { return m_seed.str != nullptr || m_seed.len != NONE; } - - inline void _clear_seed() { /*do this manually or an assert is triggered*/ m_seed.str = nullptr; m_seed.len = NONE; } - - /** @} */ - -public: - - /** @name comparisons */ - /** @{ */ - - inline bool operator== (NodeRef const& that) const { _C4RV(); RYML_ASSERT(that.valid() && !that.is_seed()); RYML_ASSERT(that.m_tree == m_tree); return m_id == that.m_id; } - inline bool operator!= (NodeRef const& that) const { return ! this->operator==(that); } - - inline bool operator== (ConstNodeRef const& that) const { _C4RV(); RYML_ASSERT(that.valid()); RYML_ASSERT(that.m_tree == m_tree); return m_id == that.m_id; } - inline bool operator!= (ConstNodeRef const& that) const { return ! this->operator==(that); } - - inline bool operator== (std::nullptr_t) const { return m_tree == nullptr || m_id == NONE || is_seed(); } - inline bool operator!= (std::nullptr_t) const { return m_tree != nullptr && m_id != NONE && !is_seed(); } - - inline bool operator== (csubstr val) const { _C4RV(); RYML_ASSERT(has_val()); return m_tree->val(m_id) == val; } - inline bool operator!= (csubstr val) const { _C4RV(); RYML_ASSERT(has_val()); return m_tree->val(m_id) != val; } - - //inline operator bool () const { return m_tree == nullptr || m_id == NONE || is_seed(); } - - /** @} */ - -public: - - /** @name node property getters */ - /** @{ */ - - C4_ALWAYS_INLINE C4_PURE Tree * tree() noexcept { return m_tree; } - C4_ALWAYS_INLINE C4_PURE Tree const* tree() const noexcept { return m_tree; } - - C4_ALWAYS_INLINE C4_PURE size_t id() const noexcept { return m_id; } - - /** @} */ - -public: - - /** @name node modifiers */ - /** @{ */ - - void change_type(NodeType t) { _C4RV(); m_tree->change_type(m_id, t); } - - void set_type(NodeType t) { _C4RV(); m_tree->_set_flags(m_id, t); } - void set_key(csubstr key) { _C4RV(); m_tree->_set_key(m_id, key); } - void set_val(csubstr val) { _C4RV(); m_tree->_set_val(m_id, val); } - void set_key_tag(csubstr key_tag) { _C4RV(); m_tree->set_key_tag(m_id, key_tag); } - void set_val_tag(csubstr val_tag) { _C4RV(); m_tree->set_val_tag(m_id, val_tag); } - void set_key_anchor(csubstr key_anchor) { _C4RV(); m_tree->set_key_anchor(m_id, key_anchor); } - void set_val_anchor(csubstr val_anchor) { _C4RV(); m_tree->set_val_anchor(m_id, val_anchor); } - void set_key_ref(csubstr key_ref) { _C4RV(); m_tree->set_key_ref(m_id, key_ref); } - void set_val_ref(csubstr val_ref) { _C4RV(); m_tree->set_val_ref(m_id, val_ref); } - - template - size_t set_key_serialized(T const& C4_RESTRICT k) - { - _C4RV(); - csubstr s = m_tree->to_arena(k); - m_tree->_set_key(m_id, s); - return s.len; - } - template - size_t set_val_serialized(T const& C4_RESTRICT v) - { - _C4RV(); - csubstr s = m_tree->to_arena(v); - m_tree->_set_val(m_id, s); - return s.len; - } - size_t set_val_serialized(std::nullptr_t) - { - _C4RV(); - m_tree->_set_val(m_id, csubstr{}); - return 0; - } - - /** encode a blob as base64, then assign the result to the node's key - * @return the size of base64-encoded blob */ - size_t set_key_serialized(fmt::const_base64_wrapper w); - /** encode a blob as base64, then assign the result to the node's val - * @return the size of base64-encoded blob */ - size_t set_val_serialized(fmt::const_base64_wrapper w); - -public: - - inline void clear() - { - if(is_seed()) - return; - m_tree->remove_children(m_id); - m_tree->_clear(m_id); - } - - inline void clear_key() - { - if(is_seed()) - return; - m_tree->_clear_key(m_id); - } - - inline void clear_val() - { - if(is_seed()) - return; - m_tree->_clear_val(m_id); - } - - inline void clear_children() - { - if(is_seed()) - return; - m_tree->remove_children(m_id); - } - - void create() { _apply_seed(); } - - inline void operator= (NodeType_e t) - { - _apply_seed(); - m_tree->_add_flags(m_id, t); - } - - inline void operator|= (NodeType_e t) - { - _apply_seed(); - m_tree->_add_flags(m_id, t); - } - - inline void operator= (NodeInit const& v) - { - _apply_seed(); - _apply(v); - } - - inline void operator= (NodeScalar const& v) - { - _apply_seed(); - _apply(v); - } - - inline void operator= (std::nullptr_t) - { - _apply_seed(); - _apply(csubstr{}); - } - - inline void operator= (csubstr v) - { - _apply_seed(); - _apply(v); - } - - template - inline void operator= (const char (&v)[N]) - { - _apply_seed(); - csubstr sv; - sv.assign(v); - _apply(sv); - } - - /** @} */ - -public: - - /** @name serialization */ - /** @{ */ - - /** serialize a variable to the arena */ - template - inline csubstr to_arena(T const& C4_RESTRICT s) - { - _C4RV(); - return m_tree->to_arena(s); - } - - /** serialize a variable, then assign the result to the node's val */ - inline NodeRef& operator<< (csubstr s) - { - // this overload is needed to prevent ambiguity (there's also - // operator<< for writing a substr to a stream) - _apply_seed(); - write(this, s); - RYML_ASSERT(val() == s); - return *this; - } - - template - inline NodeRef& operator<< (T const& C4_RESTRICT v) - { - _apply_seed(); - write(this, v); - return *this; - } - - /** serialize a variable, then assign the result to the node's key */ - template - inline NodeRef& operator<< (Key const& C4_RESTRICT v) - { - _apply_seed(); - set_key_serialized(v.k); - return *this; - } - - /** serialize a variable, then assign the result to the node's key */ - template - inline NodeRef& operator<< (Key const& C4_RESTRICT v) - { - _apply_seed(); - set_key_serialized(v.k); - return *this; - } - - NodeRef& operator<< (Key w) - { - set_key_serialized(w.wrapper); - return *this; - } - - NodeRef& operator<< (fmt::const_base64_wrapper w) - { - set_val_serialized(w); - return *this; - } - - /** @} */ - -private: - - void _apply_seed() - { - if(m_seed.str) // we have a seed key: use it to create the new child - { - //RYML_ASSERT(i.key.scalar.empty() || m_key == i.key.scalar || m_key.empty()); - m_id = m_tree->append_child(m_id); - m_tree->_set_key(m_id, m_seed); - m_seed.str = nullptr; - m_seed.len = NONE; - } - else if(m_seed.len != NONE) // we have a seed index: create a child at that position - { - RYML_ASSERT(m_tree->num_children(m_id) == m_seed.len); - m_id = m_tree->append_child(m_id); - m_seed.str = nullptr; - m_seed.len = NONE; - } - else - { - RYML_ASSERT(valid()); - } - } - - inline void _apply(csubstr v) - { - m_tree->_set_val(m_id, v); - } - - inline void _apply(NodeScalar const& v) - { - m_tree->_set_val(m_id, v); - } - - inline void _apply(NodeInit const& i) - { - m_tree->_set(m_id, i); - } - -public: - - /** @name modification of hierarchy */ - /** @{ */ - - inline NodeRef insert_child(NodeRef after) - { - _C4RV(); - RYML_ASSERT(after.m_tree == m_tree); - NodeRef r(m_tree, m_tree->insert_child(m_id, after.m_id)); - return r; - } - - inline NodeRef insert_child(NodeInit const& i, NodeRef after) - { - _C4RV(); - RYML_ASSERT(after.m_tree == m_tree); - NodeRef r(m_tree, m_tree->insert_child(m_id, after.m_id)); - r._apply(i); - return r; - } - - inline NodeRef prepend_child() - { - _C4RV(); - NodeRef r(m_tree, m_tree->insert_child(m_id, NONE)); - return r; - } - - inline NodeRef prepend_child(NodeInit const& i) - { - _C4RV(); - NodeRef r(m_tree, m_tree->insert_child(m_id, NONE)); - r._apply(i); - return r; - } - - inline NodeRef append_child() - { - _C4RV(); - NodeRef r(m_tree, m_tree->append_child(m_id)); - return r; - } - - inline NodeRef append_child(NodeInit const& i) - { - _C4RV(); - NodeRef r(m_tree, m_tree->append_child(m_id)); - r._apply(i); - return r; - } - -public: - - inline NodeRef insert_sibling(ConstNodeRef const& after) - { - _C4RV(); - RYML_ASSERT(after.m_tree == m_tree); - NodeRef r(m_tree, m_tree->insert_sibling(m_id, after.m_id)); - return r; - } - - inline NodeRef insert_sibling(NodeInit const& i, ConstNodeRef const& after) - { - _C4RV(); - RYML_ASSERT(after.m_tree == m_tree); - NodeRef r(m_tree, m_tree->insert_sibling(m_id, after.m_id)); - r._apply(i); - return r; - } - - inline NodeRef prepend_sibling() - { - _C4RV(); - NodeRef r(m_tree, m_tree->prepend_sibling(m_id)); - return r; - } - - inline NodeRef prepend_sibling(NodeInit const& i) - { - _C4RV(); - NodeRef r(m_tree, m_tree->prepend_sibling(m_id)); - r._apply(i); - return r; - } - - inline NodeRef append_sibling() - { - _C4RV(); - NodeRef r(m_tree, m_tree->append_sibling(m_id)); - return r; - } - - inline NodeRef append_sibling(NodeInit const& i) - { - _C4RV(); - NodeRef r(m_tree, m_tree->append_sibling(m_id)); - r._apply(i); - return r; - } - -public: - - inline void remove_child(NodeRef & child) - { - _C4RV(); - RYML_ASSERT(has_child(child)); - RYML_ASSERT(child.parent().id() == id()); - m_tree->remove(child.id()); - child.clear(); - } - - //! remove the nth child of this node - inline void remove_child(size_t pos) - { - _C4RV(); - RYML_ASSERT(pos >= 0 && pos < num_children()); - size_t child = m_tree->child(m_id, pos); - RYML_ASSERT(child != NONE); - m_tree->remove(child); - } - - //! remove a child by name - inline void remove_child(csubstr key) - { - _C4RV(); - size_t child = m_tree->find_child(m_id, key); - RYML_ASSERT(child != NONE); - m_tree->remove(child); - } - -public: - - /** change the node's position within its parent, placing it after - * @p after. To move to the first position in the parent, simply - * pass an empty or default-constructed reference like this: - * `n.move({})`. */ - inline void move(ConstNodeRef const& after) - { - _C4RV(); - m_tree->move(m_id, after.m_id); - } - - /** move the node to a different @p parent (which may belong to a - * different tree), placing it after @p after. When the - * destination parent is in a new tree, then this node's tree - * pointer is reset to the tree of the parent node. */ - inline void move(NodeRef const& parent, ConstNodeRef const& after) - { - _C4RV(); - if(parent.m_tree == m_tree) - { - m_tree->move(m_id, parent.m_id, after.m_id); - } - else - { - parent.m_tree->move(m_tree, m_id, parent.m_id, after.m_id); - m_tree = parent.m_tree; - } - } - - /** duplicate the current node somewhere within its parent, and - * place it after the node @p after. To place into the first - * position of the parent, simply pass an empty or - * default-constructed reference like this: `n.move({})`. */ - inline NodeRef duplicate(ConstNodeRef const& after) const - { - _C4RV(); - RYML_ASSERT(m_tree == after.m_tree || after.m_id == NONE); - size_t dup = m_tree->duplicate(m_id, m_tree->parent(m_id), after.m_id); - NodeRef r(m_tree, dup); - return r; - } - - /** duplicate the current node somewhere into a different @p parent - * (possibly from a different tree), and place it after the node - * @p after. To place into the first position of the parent, - * simply pass an empty or default-constructed reference like - * this: `n.move({})`. */ - inline NodeRef duplicate(NodeRef const& parent, ConstNodeRef const& after) const - { - _C4RV(); - RYML_ASSERT(parent.m_tree == after.m_tree || after.m_id == NONE); - if(parent.m_tree == m_tree) - { - size_t dup = m_tree->duplicate(m_id, parent.m_id, after.m_id); - NodeRef r(m_tree, dup); - return r; - } - else - { - size_t dup = parent.m_tree->duplicate(m_tree, m_id, parent.m_id, after.m_id); - NodeRef r(parent.m_tree, dup); - return r; - } - } - - inline void duplicate_children(NodeRef const& parent, ConstNodeRef const& after) const - { - _C4RV(); - RYML_ASSERT(parent.m_tree == after.m_tree); - if(parent.m_tree == m_tree) - { - m_tree->duplicate_children(m_id, parent.m_id, after.m_id); - } - else - { - parent.m_tree->duplicate_children(m_tree, m_id, parent.m_id, after.m_id); - } - } - - /** @} */ - -#undef _C4RV -}; - - -//----------------------------------------------------------------------------- - -inline ConstNodeRef::ConstNodeRef(NodeRef const& that) - : m_tree(that.m_tree) - , m_id(!that.is_seed() ? that.id() : NONE) -{ -} - -inline ConstNodeRef::ConstNodeRef(NodeRef && that) - : m_tree(that.m_tree) - , m_id(!that.is_seed() ? that.id() : NONE) -{ -} - - -inline ConstNodeRef& ConstNodeRef::operator= (NodeRef const& that) -{ - m_tree = (that.m_tree); - m_id = (!that.is_seed() ? that.id() : NONE); - return *this; -} - -inline ConstNodeRef& ConstNodeRef::operator= (NodeRef && that) -{ - m_tree = (that.m_tree); - m_id = (!that.is_seed() ? that.id() : NONE); - return *this; -} - - -//----------------------------------------------------------------------------- - -template -inline void write(NodeRef *n, T const& v) -{ - n->set_val_serialized(v); -} - -template -typename std::enable_if< ! std::is_floating_point::value, bool>::type -inline read(NodeRef const& n, T *v) -{ - return from_chars(n.val(), v); -} -template -typename std::enable_if< ! std::is_floating_point::value, bool>::type -inline read(ConstNodeRef const& n, T *v) -{ - return from_chars(n.val(), v); -} - -template -typename std::enable_if::value, bool>::type -inline read(NodeRef const& n, T *v) -{ - return from_chars_float(n.val(), v); -} -template -typename std::enable_if::value, bool>::type -inline read(ConstNodeRef const& n, T *v) -{ - return from_chars_float(n.val(), v); -} - - -} // namespace yml -} // namespace c4 - - -#if defined(_MSC_VER) -# pragma warning(pop) -#endif - -#ifdef __GNUC__ -# pragma GCC diagnostic pop -#endif - -#endif /* _C4_YML_NODE_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/writer.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/writer.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_WRITER_HPP_ -#define _C4_YML_WRITER_HPP_ - -#ifndef _C4_YML_COMMON_HPP_ -#include "./common.hpp" -#endif - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/substr.hpp -//#include -#if !defined(C4_SUBSTR_HPP_) && !defined(_C4_SUBSTR_HPP_) -#error "amalgamate: file c4/substr.hpp must have been included at this point" -#endif /* C4_SUBSTR_HPP_ */ - -//included above: -//#include // fwrite(), fputc() -//included above: -//#include // memcpy() - - -namespace c4 { -namespace yml { - - -/** Repeat-Character: a character to be written a number of times. */ -struct RepC -{ - char c; - size_t num_times; -}; -inline RepC indent_to(size_t num_levels) -{ - return {' ', size_t(2) * num_levels}; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** A writer that outputs to a file. Defaults to stdout. */ -struct WriterFile -{ - FILE * m_file; - size_t m_pos; - - WriterFile(FILE *f = nullptr) : m_file(f ? f : stdout), m_pos(0) {} - - inline substr _get(bool /*error_on_excess*/) - { - substr sp; - sp.str = nullptr; - sp.len = m_pos; - return sp; - } - - template - inline void _do_write(const char (&a)[N]) - { - fwrite(a, sizeof(char), N - 1, m_file); - m_pos += N - 1; - } - - inline void _do_write(csubstr sp) - { - #if defined(__clang__) - # pragma clang diagnostic push - # pragma GCC diagnostic ignored "-Wsign-conversion" - #elif defined(__GNUC__) - # pragma GCC diagnostic push - # pragma GCC diagnostic ignored "-Wsign-conversion" - #endif - if(sp.empty()) return; - fwrite(sp.str, sizeof(csubstr::char_type), sp.len, m_file); - m_pos += sp.len; - #if defined(__clang__) - # pragma clang diagnostic pop - #elif defined(__GNUC__) - # pragma GCC diagnostic pop - #endif - } - - inline void _do_write(const char c) - { - fputc(c, m_file); - ++m_pos; - } - - inline void _do_write(RepC const rc) - { - for(size_t i = 0; i < rc.num_times; ++i) - { - fputc(rc.c, m_file); - } - m_pos += rc.num_times; - } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** A writer that outputs to an STL-like ostream. */ -template -struct WriterOStream -{ - OStream& m_stream; - size_t m_pos; - - WriterOStream(OStream &s) : m_stream(s), m_pos(0) {} - - inline substr _get(bool /*error_on_excess*/) - { - substr sp; - sp.str = nullptr; - sp.len = m_pos; - return sp; - } - - template - inline void _do_write(const char (&a)[N]) - { - m_stream.write(a, N - 1); - m_pos += N - 1; - } - - inline void _do_write(csubstr sp) - { - #if defined(__clang__) - # pragma clang diagnostic push - # pragma GCC diagnostic ignored "-Wsign-conversion" - #elif defined(__GNUC__) - # pragma GCC diagnostic push - # pragma GCC diagnostic ignored "-Wsign-conversion" - #endif - if(sp.empty()) return; - m_stream.write(sp.str, sp.len); - m_pos += sp.len; - #if defined(__clang__) - # pragma clang diagnostic pop - #elif defined(__GNUC__) - # pragma GCC diagnostic pop - #endif - } - - inline void _do_write(const char c) - { - m_stream.put(c); - ++m_pos; - } - - inline void _do_write(RepC const rc) - { - for(size_t i = 0; i < rc.num_times; ++i) - { - m_stream.put(rc.c); - } - m_pos += rc.num_times; - } -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -/** a writer to a substr */ -struct WriterBuf -{ - substr m_buf; - size_t m_pos; - - WriterBuf(substr sp) : m_buf(sp), m_pos(0) {} - - inline substr _get(bool error_on_excess) - { - if(m_pos <= m_buf.len) - { - return m_buf.first(m_pos); - } - if(error_on_excess) - { - c4::yml::error("not enough space in the given buffer"); - } - substr sp; - sp.str = nullptr; - sp.len = m_pos; - return sp; - } - - template - inline void _do_write(const char (&a)[N]) - { - RYML_ASSERT( ! m_buf.overlaps(a)); - if(m_pos + N-1 <= m_buf.len) - { - memcpy(&(m_buf[m_pos]), a, N-1); - } - m_pos += N-1; - } - - inline void _do_write(csubstr sp) - { - if(sp.empty()) return; - RYML_ASSERT( ! sp.overlaps(m_buf)); - if(m_pos + sp.len <= m_buf.len) - { - memcpy(&(m_buf[m_pos]), sp.str, sp.len); - } - m_pos += sp.len; - } - - inline void _do_write(const char c) - { - if(m_pos + 1 <= m_buf.len) - { - m_buf[m_pos] = c; - } - ++m_pos; - } - - inline void _do_write(RepC const rc) - { - if(m_pos + rc.num_times <= m_buf.len) - { - for(size_t i = 0; i < rc.num_times; ++i) - { - m_buf[m_pos + i] = rc.c; - } - } - m_pos += rc.num_times; - } -}; - - -} // namespace yml -} // namespace c4 - -#endif /* _C4_YML_WRITER_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/writer.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/detail/parser_dbg.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/parser_dbg.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_DETAIL_PARSER_DBG_HPP_ -#define _C4_YML_DETAIL_PARSER_DBG_HPP_ - -#ifndef _C4_YML_COMMON_HPP_ -#include "../common.hpp" -#endif -//included above: -//#include - -//----------------------------------------------------------------------------- -// some debugging scaffolds - -#if defined(_MSC_VER) -# pragma warning(push) -# pragma warning(disable: 4068/*unknown pragma*/) -#endif - -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wunknown-pragmas" -//#pragma GCC diagnostic ignored "-Wpragma-system-header-outside-header" -#pragma GCC system_header - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Werror" -#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" - -// some debugging scaffolds -#ifdef RYML_DBG -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/dump.hpp -//#include -#if !defined(C4_DUMP_HPP_) && !defined(_C4_DUMP_HPP_) -#error "amalgamate: file c4/dump.hpp must have been included at this point" -#endif /* C4_DUMP_HPP_ */ - -namespace c4 { -inline void _dbg_dumper(csubstr s) { fwrite(s.str, 1, s.len, stdout); }; -template -void _dbg_printf(c4::csubstr fmt, Args&& ...args) -{ - static char writebuf[256]; - auto results = c4::format_dump_resume<&_dbg_dumper>(writebuf, fmt, std::forward(args)...); - // resume writing if the results failed to fit the buffer - if(C4_UNLIKELY(results.bufsize > sizeof(writebuf))) // bufsize will be that of the largest element serialized. Eg int(1), will require 1 byte. - { - results = format_dump_resume<&_dbg_dumper>(results, writebuf, fmt, std::forward(args)...); - if(C4_UNLIKELY(results.bufsize > sizeof(writebuf))) - { - results = format_dump_resume<&_dbg_dumper>(results, writebuf, fmt, std::forward(args)...); - } - } -} -} // namespace c4 - -# define _c4dbgt(fmt, ...) this->_dbg ("{}:{}: " fmt , __FILE__, __LINE__, ## __VA_ARGS__) -# define _c4dbgpf(fmt, ...) _dbg_printf("{}:{}: " fmt "\n", __FILE__, __LINE__, ## __VA_ARGS__) -# define _c4dbgp(msg) _dbg_printf("{}:{}: " msg "\n", __FILE__, __LINE__ ) -# define _c4dbgq(msg) _dbg_printf(msg "\n") -# define _c4err(fmt, ...) \ - do { if(c4::is_debugger_attached()) { C4_DEBUG_BREAK(); } \ - this->_err("ERROR:\n" "{}:{}: " fmt, __FILE__, __LINE__, ## __VA_ARGS__); } while(0) -#else -# define _c4dbgt(fmt, ...) -# define _c4dbgpf(fmt, ...) -# define _c4dbgp(msg) -# define _c4dbgq(msg) -# define _c4err(fmt, ...) \ - do { if(c4::is_debugger_attached()) { C4_DEBUG_BREAK(); } \ - this->_err("ERROR: " fmt, ## __VA_ARGS__); } while(0) -#endif - -#define _c4prsp(sp) sp -#define _c4presc(s) __c4presc(s.str, s.len) -inline c4::csubstr _c4prc(const char &C4_RESTRICT c) -{ - switch(c) - { - case '\n': return c4::csubstr("\\n"); - case '\t': return c4::csubstr("\\t"); - case '\0': return c4::csubstr("\\0"); - case '\r': return c4::csubstr("\\r"); - case '\f': return c4::csubstr("\\f"); - case '\b': return c4::csubstr("\\b"); - case '\v': return c4::csubstr("\\v"); - case '\a': return c4::csubstr("\\a"); - default: return c4::csubstr(&c, 1); - } -} -inline void __c4presc(const char *s, size_t len) -{ - size_t prev = 0; - for(size_t i = 0; i < len; ++i) - { - switch(s[i]) - { - case '\n' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('n'); putchar('\n'); prev = i+1; break; - case '\t' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('t'); prev = i+1; break; - case '\0' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('0'); prev = i+1; break; - case '\r' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('r'); prev = i+1; break; - case '\f' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('f'); prev = i+1; break; - case '\b' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('b'); prev = i+1; break; - case '\v' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('v'); prev = i+1; break; - case '\a' : fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('a'); prev = i+1; break; - case '\x1b': fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('e'); prev = i+1; break; - case -0x3e/*0xc2u*/: - if(i+1 < len) - { - if(s[i+1] == -0x60/*0xa0u*/) - { - fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('_'); prev = i+2; ++i; - } - else if(s[i+1] == -0x7b/*0x85u*/) - { - fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('N'); prev = i+2; ++i; - } - break; - } - case -0x1e/*0xe2u*/: - if(i+2 < len && s[i+1] == -0x80/*0x80u*/) - { - if(s[i+2] == -0x58/*0xa8u*/) - { - fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('L'); prev = i+3; i += 2; - } - else if(s[i+2] == -0x57/*0xa9u*/) - { - fwrite(s+prev, 1, i-prev, stdout); putchar('\\'); putchar('P'); prev = i+3; i += 2; - } - break; - } - } - } - fwrite(s + prev, 1, len - prev, stdout); -} - -#pragma clang diagnostic pop -#pragma GCC diagnostic pop - -#if defined(_MSC_VER) -# pragma warning(pop) -#endif - - -#endif /* _C4_YML_DETAIL_PARSER_DBG_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/detail/parser_dbg.hpp) - -#define C4_YML_EMIT_DEF_HPP_ - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/emit.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/emit.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_EMIT_HPP_ -#define _C4_YML_EMIT_HPP_ - -#ifndef _C4_YML_WRITER_HPP_ -#include "./writer.hpp" -#endif - -#ifndef _C4_YML_TREE_HPP_ -#include "./tree.hpp" -#endif - -#ifndef _C4_YML_NODE_HPP_ -#include "./node.hpp" -#endif - - -#define RYML_DEPRECATE_EMIT \ - RYML_DEPRECATED("use emit_yaml() instead. See https://github.com/biojppm/rapidyaml/issues/120") -#ifdef emit -#error "emit is defined, likely from a Qt include. This will cause a compilation error. See https://github.com/biojppm/rapidyaml/issues/120" -#endif -#define RYML_DEPRECATE_EMITRS \ - RYML_DEPRECATED("use emitrs_yaml() instead. See https://github.com/biojppm/rapidyaml/issues/120") - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace c4 { -namespace yml { - -template class Emitter; - -template -using EmitterOStream = Emitter>; -using EmitterFile = Emitter; -using EmitterBuf = Emitter; - -typedef enum { - EMIT_YAML = 0, - EMIT_JSON = 1 -} EmitType_e; - - -/** mark a tree or node to be emitted as json */ -struct as_json -{ - Tree const* tree; - size_t node; - as_json(Tree const& t) : tree(&t), node(t.empty() ? NONE : t.root_id()) {} - as_json(Tree const& t, size_t id) : tree(&t), node(id) {} - as_json(ConstNodeRef const& n) : tree(n.tree()), node(n.id()) {} -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -template -class Emitter : public Writer -{ -public: - - using Writer::Writer; - - /** emit! - * - * When writing to a buffer, returns a substr of the emitted YAML. - * If the given buffer has insufficient space, the returned span will - * be null and its size will be the needed space. No writes are done - * after the end of the buffer. - * - * When writing to a file, the returned substr will be null, but its - * length will be set to the number of bytes written. */ - substr emit_as(EmitType_e type, Tree const& t, size_t id, bool error_on_excess); - /** emit starting at the root node */ - substr emit_as(EmitType_e type, Tree const& t, bool error_on_excess=true); - /** emit the given node */ - substr emit_as(EmitType_e type, ConstNodeRef const& n, bool error_on_excess=true); - -private: - - Tree const* C4_RESTRICT m_tree; - - void _emit_yaml(size_t id); - void _do_visit_flow_sl(size_t id, size_t ilevel=0); - void _do_visit_flow_ml(size_t id, size_t ilevel=0, size_t do_indent=1); - void _do_visit_block(size_t id, size_t ilevel=0, size_t do_indent=1); - void _do_visit_block_container(size_t id, size_t next_level, size_t do_indent); - void _do_visit_json(size_t id); - -private: - - void _write(NodeScalar const& C4_RESTRICT sc, NodeType flags, size_t level); - void _write_json(NodeScalar const& C4_RESTRICT sc, NodeType flags); - - void _write_doc(size_t id); - void _write_scalar(csubstr s, bool was_quoted); - void _write_scalar_json(csubstr s, bool as_key, bool was_quoted); - void _write_scalar_literal(csubstr s, size_t level, bool as_key, bool explicit_indentation=false); - void _write_scalar_folded(csubstr s, size_t level, bool as_key); - void _write_scalar_squo(csubstr s, size_t level); - void _write_scalar_dquo(csubstr s, size_t level); - void _write_scalar_plain(csubstr s, size_t level); - - void _write_tag(csubstr tag) - { - if(!tag.begins_with('!')) - this->Writer::_do_write('!'); - this->Writer::_do_write(tag); - } - - enum : type_bits { - _keysc = (KEY|KEYREF|KEYANCH|KEYQUO|_WIP_KEY_STYLE) | ~(VAL|VALREF|VALANCH|VALQUO|_WIP_VAL_STYLE), - _valsc = ~(KEY|KEYREF|KEYANCH|KEYQUO|_WIP_KEY_STYLE) | (VAL|VALREF|VALANCH|VALQUO|_WIP_VAL_STYLE), - _keysc_json = (KEY) | ~(VAL), - _valsc_json = ~(KEY) | (VAL), - }; - - C4_ALWAYS_INLINE void _writek(size_t id, size_t level) { _write(m_tree->keysc(id), m_tree->_p(id)->m_type.type & ~_valsc, level); } - C4_ALWAYS_INLINE void _writev(size_t id, size_t level) { _write(m_tree->valsc(id), m_tree->_p(id)->m_type.type & ~_keysc, level); } - - C4_ALWAYS_INLINE void _writek_json(size_t id) { _write_json(m_tree->keysc(id), m_tree->_p(id)->m_type.type & ~(VAL)); } - C4_ALWAYS_INLINE void _writev_json(size_t id) { _write_json(m_tree->valsc(id), m_tree->_p(id)->m_type.type & ~(KEY)); } - -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** emit YAML to the given file. A null file defaults to stdout. - * Return the number of bytes written. */ -inline size_t emit_yaml(Tree const& t, size_t id, FILE *f) -{ - EmitterFile em(f); - return em.emit_as(EMIT_YAML, t, id, /*error_on_excess*/true).len; -} -RYML_DEPRECATE_EMIT inline size_t emit(Tree const& t, size_t id, FILE *f) -{ - return emit_yaml(t, id, f); -} - -/** emit JSON to the given file. A null file defaults to stdout. - * Return the number of bytes written. */ -inline size_t emit_json(Tree const& t, size_t id, FILE *f) -{ - EmitterFile em(f); - return em.emit_as(EMIT_JSON, t, id, /*error_on_excess*/true).len; -} - - -/** emit YAML to the given file. A null file defaults to stdout. - * Return the number of bytes written. - * @overload */ -inline size_t emit_yaml(Tree const& t, FILE *f=nullptr) -{ - EmitterFile em(f); - return em.emit_as(EMIT_YAML, t, /*error_on_excess*/true).len; -} -RYML_DEPRECATE_EMIT inline size_t emit(Tree const& t, FILE *f=nullptr) -{ - return emit_yaml(t, f); -} - -/** emit JSON to the given file. A null file defaults to stdout. - * Return the number of bytes written. - * @overload */ -inline size_t emit_json(Tree const& t, FILE *f=nullptr) -{ - EmitterFile em(f); - return em.emit_as(EMIT_JSON, t, /*error_on_excess*/true).len; -} - - -/** emit YAML to the given file. A null file defaults to stdout. - * Return the number of bytes written. - * @overload */ -inline size_t emit_yaml(ConstNodeRef const& r, FILE *f=nullptr) -{ - EmitterFile em(f); - return em.emit_as(EMIT_YAML, r, /*error_on_excess*/true).len; -} -RYML_DEPRECATE_EMIT inline size_t emit(ConstNodeRef const& r, FILE *f=nullptr) -{ - return emit_yaml(r, f); -} - -/** emit JSON to the given file. A null file defaults to stdout. - * Return the number of bytes written. - * @overload */ -inline size_t emit_json(ConstNodeRef const& r, FILE *f=nullptr) -{ - EmitterFile em(f); - return em.emit_as(EMIT_JSON, r, /*error_on_excess*/true).len; -} - - -//----------------------------------------------------------------------------- - -/** emit YAML to an STL-like ostream */ -template -inline OStream& operator<< (OStream& s, Tree const& t) -{ - EmitterOStream em(s); - em.emit_as(EMIT_YAML, t); - return s; -} - -/** emit YAML to an STL-like ostream - * @overload */ -template -inline OStream& operator<< (OStream& s, ConstNodeRef const& n) -{ - EmitterOStream em(s); - em.emit_as(EMIT_YAML, n); - return s; -} - -/** emit json to an STL-like stream */ -template -inline OStream& operator<< (OStream& s, as_json const& j) -{ - EmitterOStream em(s); - em.emit_as(EMIT_JSON, *j.tree, j.node, true); - return s; -} - - -//----------------------------------------------------------------------------- - - -/** emit YAML to the given buffer. Return a substr trimmed to the emitted YAML. - * @param error_on_excess Raise an error if the space in the buffer is insufficient. - * @overload */ -inline substr emit_yaml(Tree const& t, size_t id, substr buf, bool error_on_excess=true) -{ - EmitterBuf em(buf); - return em.emit_as(EMIT_YAML, t, id, error_on_excess); -} -RYML_DEPRECATE_EMIT inline substr emit(Tree const& t, size_t id, substr buf, bool error_on_excess=true) -{ - return emit_yaml(t, id, buf, error_on_excess); -} - -/** emit JSON to the given buffer. Return a substr trimmed to the emitted JSON. - * @param error_on_excess Raise an error if the space in the buffer is insufficient. - * @overload */ -inline substr emit_json(Tree const& t, size_t id, substr buf, bool error_on_excess=true) -{ - EmitterBuf em(buf); - return em.emit_as(EMIT_JSON, t, id, error_on_excess); -} - - -/** emit YAML to the given buffer. Return a substr trimmed to the emitted YAML. - * @param error_on_excess Raise an error if the space in the buffer is insufficient. - * @overload */ -inline substr emit_yaml(Tree const& t, substr buf, bool error_on_excess=true) -{ - EmitterBuf em(buf); - return em.emit_as(EMIT_YAML, t, error_on_excess); -} -RYML_DEPRECATE_EMIT inline substr emit(Tree const& t, substr buf, bool error_on_excess=true) -{ - return emit_yaml(t, buf, error_on_excess); -} - -/** emit JSON to the given buffer. Return a substr trimmed to the emitted JSON. - * @param error_on_excess Raise an error if the space in the buffer is insufficient. - * @overload */ -inline substr emit_json(Tree const& t, substr buf, bool error_on_excess=true) -{ - EmitterBuf em(buf); - return em.emit_as(EMIT_JSON, t, error_on_excess); -} - - -/** emit YAML to the given buffer. Return a substr trimmed to the emitted YAML. - * @param error_on_excess Raise an error if the space in the buffer is insufficient. - * @overload - */ -inline substr emit_yaml(ConstNodeRef const& r, substr buf, bool error_on_excess=true) -{ - EmitterBuf em(buf); - return em.emit_as(EMIT_YAML, r, error_on_excess); -} -RYML_DEPRECATE_EMIT inline substr emit(ConstNodeRef const& r, substr buf, bool error_on_excess=true) -{ - return emit_yaml(r, buf, error_on_excess); -} - -/** emit JSON to the given buffer. Return a substr trimmed to the emitted JSON. - * @param error_on_excess Raise an error if the space in the buffer is insufficient. - * @overload - */ -inline substr emit_json(ConstNodeRef const& r, substr buf, bool error_on_excess=true) -{ - EmitterBuf em(buf); - return em.emit_as(EMIT_JSON, r, error_on_excess); -} - - -//----------------------------------------------------------------------------- - -/** emit+resize: emit YAML to the given std::string/std::vector-like - * container, resizing it as needed to fit the emitted YAML. */ -template -substr emitrs_yaml(Tree const& t, size_t id, CharOwningContainer * cont) -{ - substr buf = to_substr(*cont); - substr ret = emit_yaml(t, id, buf, /*error_on_excess*/false); - if(ret.str == nullptr && ret.len > 0) - { - cont->resize(ret.len); - buf = to_substr(*cont); - ret = emit_yaml(t, id, buf, /*error_on_excess*/true); - } - return ret; -} -template -RYML_DEPRECATE_EMITRS substr emitrs(Tree const& t, size_t id, CharOwningContainer * cont) -{ - return emitrs_yaml(t, id, cont); -} - -/** emit+resize: emit JSON to the given std::string/std::vector-like - * container, resizing it as needed to fit the emitted JSON. */ -template -substr emitrs_json(Tree const& t, size_t id, CharOwningContainer * cont) -{ - substr buf = to_substr(*cont); - substr ret = emit_json(t, id, buf, /*error_on_excess*/false); - if(ret.str == nullptr && ret.len > 0) - { - cont->resize(ret.len); - buf = to_substr(*cont); - ret = emit_json(t, id, buf, /*error_on_excess*/true); - } - return ret; -} - - -/** emit+resize: emit YAML to the given std::string/std::vector-like - * container, resizing it as needed to fit the emitted YAML. */ -template -CharOwningContainer emitrs_yaml(Tree const& t, size_t id) -{ - CharOwningContainer c; - emitrs_yaml(t, id, &c); - return c; -} -template -RYML_DEPRECATE_EMITRS CharOwningContainer emitrs(Tree const& t, size_t id) -{ - CharOwningContainer c; - emitrs_yaml(t, id, &c); - return c; -} - -/** emit+resize: emit JSON to the given std::string/std::vector-like - * container, resizing it as needed to fit the emitted JSON. */ -template -CharOwningContainer emitrs_json(Tree const& t, size_t id) -{ - CharOwningContainer c; - emitrs_json(t, id, &c); - return c; -} - - -/** emit+resize: YAML to the given std::string/std::vector-like - * container, resizing it as needed to fit the emitted YAML. */ -template -substr emitrs_yaml(Tree const& t, CharOwningContainer * cont) -{ - if(t.empty()) - return {}; - return emitrs_yaml(t, t.root_id(), cont); -} -template -RYML_DEPRECATE_EMITRS substr emitrs(Tree const& t, CharOwningContainer * cont) -{ - return emitrs_yaml(t, cont); -} - -/** emit+resize: JSON to the given std::string/std::vector-like - * container, resizing it as needed to fit the emitted JSON. */ -template -substr emitrs_json(Tree const& t, CharOwningContainer * cont) -{ - if(t.empty()) - return {}; - return emitrs_json(t, t.root_id(), cont); -} - - -/** emit+resize: YAML to the given std::string/std::vector-like container, - * resizing it as needed to fit the emitted YAML. */ -template -CharOwningContainer emitrs_yaml(Tree const& t) -{ - CharOwningContainer c; - if(t.empty()) - return c; - emitrs_yaml(t, t.root_id(), &c); - return c; -} -template -RYML_DEPRECATE_EMITRS CharOwningContainer emitrs(Tree const& t) -{ - return emitrs_yaml(t); -} - -/** emit+resize: JSON to the given std::string/std::vector-like container, - * resizing it as needed to fit the emitted JSON. */ -template -CharOwningContainer emitrs_json(Tree const& t) -{ - CharOwningContainer c; - if(t.empty()) - return c; - emitrs_json(t, t.root_id(), &c); - return c; -} - - -/** emit+resize: YAML to the given std::string/std::vector-like container, - * resizing it as needed to fit the emitted YAML. */ -template -substr emitrs_yaml(ConstNodeRef const& n, CharOwningContainer * cont) -{ - _RYML_CB_CHECK(n.tree()->callbacks(), n.valid()); - return emitrs_yaml(*n.tree(), n.id(), cont); -} -template -RYML_DEPRECATE_EMITRS substr emitrs(ConstNodeRef const& n, CharOwningContainer * cont) -{ - return emitrs_yaml(n, cont); -} - -/** emit+resize: JSON to the given std::string/std::vector-like container, - * resizing it as needed to fit the emitted JSON. */ -template -substr emitrs_json(ConstNodeRef const& n, CharOwningContainer * cont) -{ - _RYML_CB_CHECK(n.tree()->callbacks(), n.valid()); - return emitrs_json(*n.tree(), n.id(), cont); -} - - -/** emit+resize: YAML to the given std::string/std::vector-like container, - * resizing it as needed to fit the emitted YAML. */ -template -CharOwningContainer emitrs_yaml(ConstNodeRef const& n) -{ - _RYML_CB_CHECK(n.tree()->callbacks(), n.valid()); - CharOwningContainer c; - emitrs_yaml(*n.tree(), n.id(), &c); - return c; -} -template -RYML_DEPRECATE_EMITRS CharOwningContainer emitrs(ConstNodeRef const& n) -{ - return emitrs_yaml(n); -} - -/** emit+resize: JSON to the given std::string/std::vector-like container, - * resizing it as needed to fit the emitted JSON. */ -template -CharOwningContainer emitrs_json(ConstNodeRef const& n) -{ - _RYML_CB_CHECK(n.tree()->callbacks(), n.valid()); - CharOwningContainer c; - emitrs_json(*n.tree(), n.id(), &c); - return c; -} - -} // namespace yml -} // namespace c4 - -#undef RYML_DEPRECATE_EMIT -#undef RYML_DEPRECATE_EMITRS - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/emit.def.hpp -//#include "c4/yml/emit.def.hpp" -#if !defined(C4_YML_EMIT_DEF_HPP_) && !defined(_C4_YML_EMIT_DEF_HPP_) -#error "amalgamate: file c4/yml/emit.def.hpp must have been included at this point" -#endif /* C4_YML_EMIT_DEF_HPP_ */ - - -#endif /* _C4_YML_EMIT_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/emit.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/emit.def.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/emit.def.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_EMIT_DEF_HPP_ -#define _C4_YML_EMIT_DEF_HPP_ - -#ifndef _C4_YML_EMIT_HPP_ -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/emit.hpp -//#include "c4/yml/emit.hpp" -#if !defined(C4_YML_EMIT_HPP_) && !defined(_C4_YML_EMIT_HPP_) -#error "amalgamate: file c4/yml/emit.hpp must have been included at this point" -#endif /* C4_YML_EMIT_HPP_ */ - -#endif - -namespace c4 { -namespace yml { - -template -substr Emitter::emit_as(EmitType_e type, Tree const& t, size_t id, bool error_on_excess) -{ - if(t.empty()) - { - _RYML_CB_ASSERT(t.callbacks(), id == NONE); - return {}; - } - _RYML_CB_CHECK(t.callbacks(), id < t.size()); - m_tree = &t; - if(type == EMIT_YAML) - _emit_yaml(id); - else if(type == EMIT_JSON) - _do_visit_json(id); - else - _RYML_CB_ERR(m_tree->callbacks(), "unknown emit type"); - return this->Writer::_get(error_on_excess); -} - -template -substr Emitter::emit_as(EmitType_e type, Tree const& t, bool error_on_excess) -{ - if(t.empty()) - return {}; - return this->emit_as(type, t, t.root_id(), error_on_excess); -} - -template -substr Emitter::emit_as(EmitType_e type, ConstNodeRef const& n, bool error_on_excess) -{ - _RYML_CB_CHECK(n.tree()->callbacks(), n.valid()); - return this->emit_as(type, *n.tree(), n.id(), error_on_excess); -} - - -//----------------------------------------------------------------------------- - -template -void Emitter::_emit_yaml(size_t id) -{ - // save branches in the visitor by doing the initial stream/doc - // logic here, sparing the need to check stream/val/keyval inside - // the visitor functions - auto dispatch = [this](size_t node){ - NodeType ty = m_tree->type(node); - if(ty.marked_flow_sl()) - _do_visit_flow_sl(node, 0); - else if(ty.marked_flow_ml()) - _do_visit_flow_ml(node, 0); - else - { - _do_visit_block(node, 0); - } - }; - if(!m_tree->is_root(id)) - { - if(m_tree->is_container(id) && !m_tree->type(id).marked_flow()) - { - size_t ilevel = 0; - if(m_tree->has_key(id)) - { - this->Writer::_do_write(m_tree->key(id)); - this->Writer::_do_write(":\n"); - ++ilevel; - } - _do_visit_block_container(id, ilevel, ilevel); - return; - } - } - - auto *btd = m_tree->tag_directives().b; - auto *etd = m_tree->tag_directives().e; - auto write_tag_directives = [&btd, etd, this](size_t next_node){ - auto end = btd; - while(end < etd) - { - if(end->next_node_id > next_node) - break; - ++end; - } - for( ; btd != end; ++btd) - { - if(next_node != m_tree->first_child(m_tree->parent(next_node))) - this->Writer::_do_write("...\n"); - this->Writer::_do_write("%TAG "); - this->Writer::_do_write(btd->handle); - this->Writer::_do_write(' '); - this->Writer::_do_write(btd->prefix); - this->Writer::_do_write('\n'); - } - }; - if(m_tree->is_stream(id)) - { - if(m_tree->first_child(id) != NONE) - write_tag_directives(m_tree->first_child(id)); - for(size_t child = m_tree->first_child(id); child != NONE; child = m_tree->next_sibling(child)) - { - dispatch(child); - if(m_tree->next_sibling(child) != NONE) - write_tag_directives(m_tree->next_sibling(child)); - } - } - else if(m_tree->is_container(id)) - { - dispatch(id); - } - else if(m_tree->is_doc(id)) - { - _RYML_CB_ASSERT(m_tree->callbacks(), !m_tree->is_container(id)); // checked above - _RYML_CB_ASSERT(m_tree->callbacks(), m_tree->is_val(id)); // so it must be a val - _write_doc(id); - } - else if(m_tree->is_keyval(id)) - { - _writek(id, 0); - this->Writer::_do_write(": "); - _writev(id, 0); - if(!m_tree->type(id).marked_flow()) - this->Writer::_do_write('\n'); - } - else if(m_tree->is_val(id)) - { - //this->Writer::_do_write("- "); - _writev(id, 0); - if(!m_tree->type(id).marked_flow()) - this->Writer::_do_write('\n'); - } - else if(m_tree->type(id) == NOTYPE) - { - ; - } - else - { - _RYML_CB_ERR(m_tree->callbacks(), "unknown type"); - } -} - -template -void Emitter::_write_doc(size_t id) -{ - RYML_ASSERT(m_tree->is_doc(id)); - if(!m_tree->is_root(id)) - { - RYML_ASSERT(m_tree->is_stream(m_tree->parent(id))); - this->Writer::_do_write("---"); - } - if(!m_tree->has_val(id)) // this is more frequent - { - if(m_tree->has_val_tag(id)) - { - if(!m_tree->is_root(id)) - this->Writer::_do_write(' '); - _write_tag(m_tree->val_tag(id)); - } - if(m_tree->has_val_anchor(id)) - { - if(!m_tree->is_root(id)) - this->Writer::_do_write(' '); - this->Writer::_do_write('&'); - this->Writer::_do_write(m_tree->val_anchor(id)); - } - } - else // docval - { - RYML_ASSERT(m_tree->has_val(id)); - RYML_ASSERT(!m_tree->has_key(id)); - if(!m_tree->is_root(id)) - this->Writer::_do_write(' '); - _writev(id, 0); - } - this->Writer::_do_write('\n'); -} - -template -void Emitter::_do_visit_flow_sl(size_t node, size_t ilevel) -{ - RYML_ASSERT(!m_tree->is_stream(node)); - RYML_ASSERT(m_tree->is_container(node) || m_tree->is_doc(node)); - RYML_ASSERT(m_tree->is_root(node) || (m_tree->parent_is_map(node) || m_tree->parent_is_seq(node))); - - if(m_tree->is_doc(node)) - { - _write_doc(node); - if(!m_tree->has_children(node)) - return; - } - else if(m_tree->is_container(node)) - { - RYML_ASSERT(m_tree->is_map(node) || m_tree->is_seq(node)); - - bool spc = false; // write a space - - if(m_tree->has_key(node)) - { - _writek(node, ilevel); - this->Writer::_do_write(':'); - spc = true; - } - - if(m_tree->has_val_tag(node)) - { - if(spc) - this->Writer::_do_write(' '); - _write_tag(m_tree->val_tag(node)); - spc = true; - } - - if(m_tree->has_val_anchor(node)) - { - if(spc) - this->Writer::_do_write(' '); - this->Writer::_do_write('&'); - this->Writer::_do_write(m_tree->val_anchor(node)); - spc = true; - } - - if(spc) - this->Writer::_do_write(' '); - - if(m_tree->is_map(node)) - { - this->Writer::_do_write('{'); - } - else - { - _RYML_CB_ASSERT(m_tree->callbacks(), m_tree->is_seq(node)); - this->Writer::_do_write('['); - } - } // container - - for(size_t child = m_tree->first_child(node), count = 0; child != NONE; child = m_tree->next_sibling(child)) - { - if(count++) - this->Writer::_do_write(','); - if(m_tree->is_keyval(child)) - { - _writek(child, ilevel); - this->Writer::_do_write(": "); - _writev(child, ilevel); - } - else if(m_tree->is_val(child)) - { - _writev(child, ilevel); - } - else - { - // with single-line flow, we can never go back to block - _do_visit_flow_sl(child, ilevel + 1); - } - } - - if(m_tree->is_map(node)) - { - this->Writer::_do_write('}'); - } - else if(m_tree->is_seq(node)) - { - this->Writer::_do_write(']'); - } -} - -template -void Emitter::_do_visit_flow_ml(size_t id, size_t ilevel, size_t do_indent) -{ - C4_UNUSED(id); - C4_UNUSED(ilevel); - C4_UNUSED(do_indent); - RYML_CHECK(false/*not implemented*/); -} - -template -void Emitter::_do_visit_block_container(size_t node, size_t next_level, size_t do_indent) -{ - RepC ind = indent_to(do_indent * next_level); - - if(m_tree->is_seq(node)) - { - for(size_t child = m_tree->first_child(node); child != NONE; child = m_tree->next_sibling(child)) - { - _RYML_CB_ASSERT(m_tree->callbacks(), !m_tree->has_key(child)); - if(m_tree->is_val(child)) - { - this->Writer::_do_write(ind); - this->Writer::_do_write("- "); - _writev(child, next_level); - this->Writer::_do_write('\n'); - } - else - { - _RYML_CB_ASSERT(m_tree->callbacks(), m_tree->is_container(child)); - NodeType ty = m_tree->type(child); - if(ty.marked_flow_sl()) - { - this->Writer::_do_write(ind); - this->Writer::_do_write("- "); - _do_visit_flow_sl(child, 0u); - this->Writer::_do_write('\n'); - } - else if(ty.marked_flow_ml()) - { - this->Writer::_do_write(ind); - this->Writer::_do_write("- "); - _do_visit_flow_ml(child, next_level, do_indent); - this->Writer::_do_write('\n'); - } - else - { - _do_visit_block(child, next_level, do_indent); - } - } - do_indent = true; - ind = indent_to(do_indent * next_level); - } - } - else // map - { - _RYML_CB_ASSERT(m_tree->callbacks(), m_tree->is_map(node)); - for(size_t ich = m_tree->first_child(node); ich != NONE; ich = m_tree->next_sibling(ich)) - { - _RYML_CB_ASSERT(m_tree->callbacks(), m_tree->has_key(ich)); - if(m_tree->is_keyval(ich)) - { - this->Writer::_do_write(ind); - _writek(ich, next_level); - this->Writer::_do_write(": "); - _writev(ich, next_level); - this->Writer::_do_write('\n'); - } - else - { - _RYML_CB_ASSERT(m_tree->callbacks(), m_tree->is_container(ich)); - NodeType ty = m_tree->type(ich); - if(ty.marked_flow_sl()) - { - this->Writer::_do_write(ind); - _do_visit_flow_sl(ich, 0u); - this->Writer::_do_write('\n'); - } - else if(ty.marked_flow_ml()) - { - this->Writer::_do_write(ind); - _do_visit_flow_ml(ich, 0u); - this->Writer::_do_write('\n'); - } - else - { - _do_visit_block(ich, next_level, do_indent); - } - } - do_indent = true; - ind = indent_to(do_indent * next_level); - } - } -} - -template -void Emitter::_do_visit_block(size_t node, size_t ilevel, size_t do_indent) -{ - RYML_ASSERT(!m_tree->is_stream(node)); - RYML_ASSERT(m_tree->is_container(node) || m_tree->is_doc(node)); - RYML_ASSERT(m_tree->is_root(node) || (m_tree->parent_is_map(node) || m_tree->parent_is_seq(node))); - RepC ind = indent_to(do_indent * ilevel); - - if(m_tree->is_doc(node)) - { - _write_doc(node); - if(!m_tree->has_children(node)) - return; - } - else if(m_tree->is_container(node)) - { - RYML_ASSERT(m_tree->is_map(node) || m_tree->is_seq(node)); - - bool spc = false; // write a space - bool nl = false; // write a newline - - if(m_tree->has_key(node)) - { - this->Writer::_do_write(ind); - _writek(node, ilevel); - this->Writer::_do_write(':'); - spc = true; - } - else if(!m_tree->is_root(node)) - { - this->Writer::_do_write(ind); - this->Writer::_do_write('-'); - spc = true; - } - - if(m_tree->has_val_tag(node)) - { - if(spc) - this->Writer::_do_write(' '); - _write_tag(m_tree->val_tag(node)); - spc = true; - nl = true; - } - - if(m_tree->has_val_anchor(node)) - { - if(spc) - this->Writer::_do_write(' '); - this->Writer::_do_write('&'); - this->Writer::_do_write(m_tree->val_anchor(node)); - spc = true; - nl = true; - } - - if(m_tree->has_children(node)) - { - if(m_tree->has_key(node)) - nl = true; - else - if(!m_tree->is_root(node) && !nl) - spc = true; - } - else - { - if(m_tree->is_seq(node)) - this->Writer::_do_write(" []\n"); - else if(m_tree->is_map(node)) - this->Writer::_do_write(" {}\n"); - return; - } - - if(spc && !nl) - this->Writer::_do_write(' '); - - do_indent = 0; - if(nl) - { - this->Writer::_do_write('\n'); - do_indent = 1; - } - } // container - - size_t next_level = ilevel + 1; - if(m_tree->is_root(node) || m_tree->is_doc(node)) - next_level = ilevel; // do not indent at top level - - _do_visit_block_container(node, next_level, do_indent); -} - -template -void Emitter::_do_visit_json(size_t id) -{ - _RYML_CB_CHECK(m_tree->callbacks(), !m_tree->is_stream(id)); // JSON does not have streams - if(m_tree->is_keyval(id)) - { - _writek_json(id); - this->Writer::_do_write(": "); - _writev_json(id); - } - else if(m_tree->is_val(id)) - { - _writev_json(id); - } - else if(m_tree->is_container(id)) - { - if(m_tree->has_key(id)) - { - _writek_json(id); - this->Writer::_do_write(": "); - } - if(m_tree->is_seq(id)) - this->Writer::_do_write('['); - else if(m_tree->is_map(id)) - this->Writer::_do_write('{'); - } // container - - for(size_t ich = m_tree->first_child(id); ich != NONE; ich = m_tree->next_sibling(ich)) - { - if(ich != m_tree->first_child(id)) - this->Writer::_do_write(','); - _do_visit_json(ich); - } - - if(m_tree->is_seq(id)) - this->Writer::_do_write(']'); - else if(m_tree->is_map(id)) - this->Writer::_do_write('}'); -} - -template -void Emitter::_write(NodeScalar const& C4_RESTRICT sc, NodeType flags, size_t ilevel) -{ - if( ! sc.tag.empty()) - { - _write_tag(sc.tag); - this->Writer::_do_write(' '); - } - if(flags.has_anchor()) - { - RYML_ASSERT(flags.is_ref() != flags.has_anchor()); - RYML_ASSERT( ! sc.anchor.empty()); - this->Writer::_do_write('&'); - this->Writer::_do_write(sc.anchor); - this->Writer::_do_write(' '); - } - else if(flags.is_ref()) - { - if(sc.anchor != "<<") - this->Writer::_do_write('*'); - this->Writer::_do_write(sc.anchor); - return; - } - - // ensure the style flags only have one of KEY or VAL - _RYML_CB_ASSERT(m_tree->callbacks(), ((flags & (_WIP_KEY_STYLE|_WIP_VAL_STYLE)) == 0) || (((flags&_WIP_KEY_STYLE) == 0) != ((flags&_WIP_VAL_STYLE) == 0))); - - auto style_marks = flags & (_WIP_KEY_STYLE|_WIP_VAL_STYLE); - if(style_marks & (_WIP_KEY_LITERAL|_WIP_VAL_LITERAL)) - { - _write_scalar_literal(sc.scalar, ilevel, flags.has_key()); - } - else if(style_marks & (_WIP_KEY_FOLDED|_WIP_VAL_FOLDED)) - { - _write_scalar_folded(sc.scalar, ilevel, flags.has_key()); - } - else if(style_marks & (_WIP_KEY_SQUO|_WIP_VAL_SQUO)) - { - _write_scalar_squo(sc.scalar, ilevel); - } - else if(style_marks & (_WIP_KEY_DQUO|_WIP_VAL_DQUO)) - { - _write_scalar_dquo(sc.scalar, ilevel); - } - else if(style_marks & (_WIP_KEY_PLAIN|_WIP_VAL_PLAIN)) - { - _write_scalar_plain(sc.scalar, ilevel); - } - else if(!style_marks) - { - size_t first_non_nl = sc.scalar.first_not_of('\n'); - bool all_newlines = first_non_nl == npos; - bool has_leading_ws = (!all_newlines) && sc.scalar.sub(first_non_nl).begins_with_any(" \t"); - bool do_literal = ((!sc.scalar.empty() && all_newlines) || (has_leading_ws && !sc.scalar.trim(' ').empty())); - if(do_literal) - { - _write_scalar_literal(sc.scalar, ilevel, flags.has_key(), /*explicit_indentation*/has_leading_ws); - } - else - { - for(size_t i = 0; i < sc.scalar.len; ++i) - { - if(sc.scalar.str[i] == '\n') - { - _write_scalar_literal(sc.scalar, ilevel, flags.has_key(), /*explicit_indentation*/has_leading_ws); - goto wrote_special; - } - // todo: check for escaped characters requiring double quotes - } - _write_scalar(sc.scalar, flags.is_quoted()); - wrote_special: - ; - } - } - else - { - _RYML_CB_ERR(m_tree->callbacks(), "not implemented"); - } -} -template -void Emitter::_write_json(NodeScalar const& C4_RESTRICT sc, NodeType flags) -{ - if(C4_UNLIKELY( ! sc.tag.empty())) - _RYML_CB_ERR(m_tree->callbacks(), "JSON does not have tags"); - if(C4_UNLIKELY(flags.has_anchor())) - _RYML_CB_ERR(m_tree->callbacks(), "JSON does not have anchors"); - _write_scalar_json(sc.scalar, flags.has_key(), flags.is_quoted()); -} - -#define _rymlindent_nextline() for(size_t lv = 0; lv < ilevel+1; ++lv) { this->Writer::_do_write(' '); this->Writer::_do_write(' '); } - -template -void Emitter::_write_scalar_literal(csubstr s, size_t ilevel, bool explicit_key, bool explicit_indentation) -{ - if(explicit_key) - this->Writer::_do_write("? "); - csubstr trimmed = s.trimr("\n\r"); - size_t numnewlines_at_end = s.len - trimmed.len - s.sub(trimmed.len).count('\r'); - // - if(!explicit_indentation) - this->Writer::_do_write('|'); - else - this->Writer::_do_write("|2"); - // - if(numnewlines_at_end > 1 || (trimmed.len == 0 && s.len > 0)/*only newlines*/) - this->Writer::_do_write("+\n"); - else if(numnewlines_at_end == 1) - this->Writer::_do_write('\n'); - else - this->Writer::_do_write("-\n"); - // - if(trimmed.len) - { - size_t pos = 0; // tracks the last character that was already written - for(size_t i = 0; i < trimmed.len; ++i) - { - if(trimmed[i] != '\n') - continue; - // write everything up to this point - csubstr since_pos = trimmed.range(pos, i+1); // include the newline - _rymlindent_nextline() - this->Writer::_do_write(since_pos); - pos = i+1; // already written - } - if(pos < trimmed.len) - { - _rymlindent_nextline() - this->Writer::_do_write(trimmed.sub(pos)); - } - if(numnewlines_at_end) - { - this->Writer::_do_write('\n'); - --numnewlines_at_end; - } - } - for(size_t i = 0; i < numnewlines_at_end; ++i) - { - _rymlindent_nextline() - if(i+1 < numnewlines_at_end || explicit_key) - this->Writer::_do_write('\n'); - } - if(explicit_key && !numnewlines_at_end) - this->Writer::_do_write('\n'); -} - -template -void Emitter::_write_scalar_folded(csubstr s, size_t ilevel, bool explicit_key) -{ - if(explicit_key) - { - this->Writer::_do_write("? "); - } - RYML_ASSERT(s.find("\r") == csubstr::npos); - csubstr trimmed = s.trimr('\n'); - size_t numnewlines_at_end = s.len - trimmed.len; - if(numnewlines_at_end == 0) - { - this->Writer::_do_write(">-\n"); - } - else if(numnewlines_at_end == 1) - { - this->Writer::_do_write(">\n"); - } - else if(numnewlines_at_end > 1) - { - this->Writer::_do_write(">+\n"); - } - if(trimmed.len) - { - size_t pos = 0; // tracks the last character that was already written - for(size_t i = 0; i < trimmed.len; ++i) - { - if(trimmed[i] != '\n') - continue; - // write everything up to this point - csubstr since_pos = trimmed.range(pos, i+1); // include the newline - pos = i+1; // because of the newline - _rymlindent_nextline() - this->Writer::_do_write(since_pos); - this->Writer::_do_write('\n'); // write the newline twice - } - if(pos < trimmed.len) - { - _rymlindent_nextline() - this->Writer::_do_write(trimmed.sub(pos)); - } - if(numnewlines_at_end) - { - this->Writer::_do_write('\n'); - --numnewlines_at_end; - } - } - for(size_t i = 0; i < numnewlines_at_end; ++i) - { - _rymlindent_nextline() - if(i+1 < numnewlines_at_end || explicit_key) - this->Writer::_do_write('\n'); - } - if(explicit_key && !numnewlines_at_end) - this->Writer::_do_write('\n'); -} - -template -void Emitter::_write_scalar_squo(csubstr s, size_t ilevel) -{ - size_t pos = 0; // tracks the last character that was already written - this->Writer::_do_write('\''); - for(size_t i = 0; i < s.len; ++i) - { - if(s[i] == '\n') - { - csubstr sub = s.range(pos, i+1); - this->Writer::_do_write(sub); // write everything up to (including) this char - this->Writer::_do_write('\n'); // write the character again - if(i + 1 < s.len) - _rymlindent_nextline() // indent the next line - pos = i+1; - } - else if(s[i] == '\'') - { - csubstr sub = s.range(pos, i+1); - this->Writer::_do_write(sub); // write everything up to (including) this char - this->Writer::_do_write('\''); // write the character again - pos = i+1; - } - } - // write missing characters at the end of the string - if(pos < s.len) - this->Writer::_do_write(s.sub(pos)); - this->Writer::_do_write('\''); -} - -template -void Emitter::_write_scalar_dquo(csubstr s, size_t ilevel) -{ - size_t pos = 0; // tracks the last character that was already written - this->Writer::_do_write('"'); - for(size_t i = 0; i < s.len; ++i) - { - const char curr = s.str[i]; - if(curr == '"' || curr == '\\') - { - csubstr sub = s.range(pos, i); - this->Writer::_do_write(sub); // write everything up to (excluding) this char - this->Writer::_do_write('\\'); // write the escape - this->Writer::_do_write(curr); // write the char - pos = i+1; - } - else if(s[i] == '\n') - { - csubstr sub = s.range(pos, i+1); - this->Writer::_do_write(sub); // write everything up to (including) this newline - this->Writer::_do_write('\n'); // write the newline again - if(i + 1 < s.len) - _rymlindent_nextline() // indent the next line - pos = i+1; - if(i+1 < s.len) // escape leading whitespace after the newline - { - const char next = s.str[i+1]; - if(next == ' ' || next == '\t') - this->Writer::_do_write('\\'); - } - } - else if(curr == ' ' || curr == '\t') - { - // escape trailing whitespace before a newline - size_t next = s.first_not_of(" \t\r", i); - if(next != npos && s[next] == '\n') - { - csubstr sub = s.range(pos, i); - this->Writer::_do_write(sub); // write everything up to (excluding) this char - this->Writer::_do_write('\\'); // escape the whitespace - pos = i; - } - } - else if(C4_UNLIKELY(curr == '\r')) - { - csubstr sub = s.range(pos, i); - this->Writer::_do_write(sub); // write everything up to (excluding) this char - this->Writer::_do_write("\\r"); // write the escaped char - pos = i+1; - } - } - // write missing characters at the end of the string - if(pos < s.len) - { - csubstr sub = s.sub(pos); - this->Writer::_do_write(sub); - } - this->Writer::_do_write('"'); -} - -template -void Emitter::_write_scalar_plain(csubstr s, size_t ilevel) -{ - size_t pos = 0; // tracks the last character that was already written - for(size_t i = 0; i < s.len; ++i) - { - const char curr = s.str[i]; - if(curr == '\n') - { - csubstr sub = s.range(pos, i+1); - this->Writer::_do_write(sub); // write everything up to (including) this newline - this->Writer::_do_write('\n'); // write the newline again - if(i + 1 < s.len) - _rymlindent_nextline() // indent the next line - pos = i+1; - } - } - // write missing characters at the end of the string - if(pos < s.len) - { - csubstr sub = s.sub(pos); - this->Writer::_do_write(sub); - } -} - -#undef _rymlindent_nextline - -template -void Emitter::_write_scalar(csubstr s, bool was_quoted) -{ - // this block of code needed to be moved to before the needs_quotes - // assignment to work around a g++ optimizer bug where (s.str != nullptr) - // was evaluated as true even if s.str was actually a nullptr (!!!) - if(s.len == size_t(0)) - { - if(was_quoted || s.str != nullptr) - this->Writer::_do_write("''"); - return; - } - - const bool needs_quotes = ( - was_quoted - || - ( - ( ! s.is_number()) - && - ( - // has leading whitespace - // looks like reference or anchor - // would be treated as a directive - // see https://www.yaml.info/learn/quote.html#noplain - s.begins_with_any(" \n\t\r*&%@`") - || - s.begins_with("<<") - || - // has trailing whitespace - s.ends_with_any(" \n\t\r") - || - // has special chars - (s.first_of("#:-?,\n{}[]'\"") != npos) - ) - ) - ); - - if( ! needs_quotes) - { - this->Writer::_do_write(s); - } - else - { - const bool has_dquotes = s.first_of( '"') != npos; - const bool has_squotes = s.first_of('\'') != npos; - if(!has_squotes && has_dquotes) - { - this->Writer::_do_write('\''); - this->Writer::_do_write(s); - this->Writer::_do_write('\''); - } - else if(has_squotes && !has_dquotes) - { - RYML_ASSERT(s.count('\n') == 0); - this->Writer::_do_write('"'); - this->Writer::_do_write(s); - this->Writer::_do_write('"'); - } - else - { - _write_scalar_squo(s, /*FIXME FIXME FIXME*/0); - } - } -} -template -void Emitter::_write_scalar_json(csubstr s, bool as_key, bool use_quotes) -{ - if((!use_quotes) - // json keys require quotes - && (!as_key) - && ( - // do not quote special cases - (s == "true" || s == "false" || s == "null") - || ( - // do not quote numbers - (s.is_number() - && ( - // quote integral numbers if they have a leading 0 - // https://github.com/biojppm/rapidyaml/issues/291 - (!(s.len > 1 && s.begins_with('0'))) - // do not quote reals with leading 0 - // https://github.com/biojppm/rapidyaml/issues/313 - || (s.find('.') != csubstr::npos) )) - ) - ) - ) - { - this->Writer::_do_write(s); - } - else - { - size_t pos = 0; - this->Writer::_do_write('"'); - for(size_t i = 0; i < s.len; ++i) - { - switch(s.str[i]) - { - case '"': - this->Writer ::_do_write(s.range(pos, i)); - this->Writer ::_do_write("\\\""); - pos = i + 1; - break; - case '\n': - this->Writer ::_do_write(s.range(pos, i)); - this->Writer ::_do_write("\\n"); - pos = i + 1; - break; - case '\t': - this->Writer ::_do_write(s.range(pos, i)); - this->Writer ::_do_write("\\t"); - pos = i + 1; - break; - case '\\': - this->Writer ::_do_write(s.range(pos, i)); - this->Writer ::_do_write("\\\\"); - pos = i + 1; - break; - case '\r': - this->Writer ::_do_write(s.range(pos, i)); - this->Writer ::_do_write("\\r"); - pos = i + 1; - break; - case '\b': - this->Writer ::_do_write(s.range(pos, i)); - this->Writer ::_do_write("\\b"); - pos = i + 1; - break; - case '\f': - this->Writer ::_do_write(s.range(pos, i)); - this->Writer ::_do_write("\\f"); - pos = i + 1; - break; - } - } - if(pos < s.len) - { - csubstr sub = s.sub(pos); - this->Writer::_do_write(sub); - } - this->Writer::_do_write('"'); - } -} - -} // namespace yml -} // namespace c4 - -#endif /* _C4_YML_EMIT_DEF_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/emit.def.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/detail/stack.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/stack.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_DETAIL_STACK_HPP_ -#define _C4_YML_DETAIL_STACK_HPP_ - -#ifndef _C4_YML_COMMON_HPP_ -//included above: -//#include "../common.hpp" -#endif - -#ifdef RYML_DBG -//included above: -//# include -#endif - -//included above: -//#include - -namespace c4 { -namespace yml { -namespace detail { - -/** A lightweight contiguous stack with SSO. This avoids a dependency on std. */ -template -class stack -{ - static_assert(std::is_trivially_copyable::value, "T must be trivially copyable"); - static_assert(std::is_trivially_destructible::value, "T must be trivially destructible"); - - enum : size_t { sso_size = N }; - -public: - - T m_buf[N]; - T * m_stack; - size_t m_size; - size_t m_capacity; - Callbacks m_callbacks; - -public: - - constexpr static bool is_contiguous() { return true; } - - stack(Callbacks const& cb) - : m_buf() - , m_stack(m_buf) - , m_size(0) - , m_capacity(N) - , m_callbacks(cb) {} - stack() : stack(get_callbacks()) {} - ~stack() - { - _free(); - } - - stack(stack const& that) noexcept : stack(that.m_callbacks) - { - resize(that.m_size); - _cp(&that); - } - - stack(stack &&that) noexcept : stack(that.m_callbacks) - { - _mv(&that); - } - - stack& operator= (stack const& that) noexcept - { - _cb(that.m_callbacks); - resize(that.m_size); - _cp(&that); - return *this; - } - - stack& operator= (stack &&that) noexcept - { - _cb(that.m_callbacks); - _mv(&that); - return *this; - } - -public: - - size_t size() const { return m_size; } - size_t empty() const { return m_size == 0; } - size_t capacity() const { return m_capacity; } - - void clear() - { - m_size = 0; - } - - void resize(size_t sz) - { - reserve(sz); - m_size = sz; - } - - void reserve(size_t sz); - - void push(T const& C4_RESTRICT n) - { - RYML_ASSERT((const char*)&n + sizeof(T) < (const char*)m_stack || &n > m_stack + m_capacity); - if(m_size == m_capacity) - { - size_t cap = m_capacity == 0 ? N : 2 * m_capacity; - reserve(cap); - } - m_stack[m_size] = n; - ++m_size; - } - - void push_top() - { - RYML_ASSERT(m_size > 0); - if(m_size == m_capacity) - { - size_t cap = m_capacity == 0 ? N : 2 * m_capacity; - reserve(cap); - } - m_stack[m_size] = m_stack[m_size - 1]; - ++m_size; - } - - T const& C4_RESTRICT pop() - { - RYML_ASSERT(m_size > 0); - --m_size; - return m_stack[m_size]; - } - - C4_ALWAYS_INLINE T const& C4_RESTRICT top() const { RYML_ASSERT(m_size > 0); return m_stack[m_size - 1]; } - C4_ALWAYS_INLINE T & C4_RESTRICT top() { RYML_ASSERT(m_size > 0); return m_stack[m_size - 1]; } - - C4_ALWAYS_INLINE T const& C4_RESTRICT bottom() const { RYML_ASSERT(m_size > 0); return m_stack[0]; } - C4_ALWAYS_INLINE T & C4_RESTRICT bottom() { RYML_ASSERT(m_size > 0); return m_stack[0]; } - - C4_ALWAYS_INLINE T const& C4_RESTRICT top(size_t i) const { RYML_ASSERT(i < m_size); return m_stack[m_size - 1 - i]; } - C4_ALWAYS_INLINE T & C4_RESTRICT top(size_t i) { RYML_ASSERT(i < m_size); return m_stack[m_size - 1 - i]; } - - C4_ALWAYS_INLINE T const& C4_RESTRICT bottom(size_t i) const { RYML_ASSERT(i < m_size); return m_stack[i]; } - C4_ALWAYS_INLINE T & C4_RESTRICT bottom(size_t i) { RYML_ASSERT(i < m_size); return m_stack[i]; } - - C4_ALWAYS_INLINE T const& C4_RESTRICT operator[](size_t i) const { RYML_ASSERT(i < m_size); return m_stack[i]; } - C4_ALWAYS_INLINE T & C4_RESTRICT operator[](size_t i) { RYML_ASSERT(i < m_size); return m_stack[i]; } - -public: - - using iterator = T *; - using const_iterator = T const *; - - iterator begin() { return m_stack; } - iterator end () { return m_stack + m_size; } - - const_iterator begin() const { return (const_iterator)m_stack; } - const_iterator end () const { return (const_iterator)m_stack + m_size; } - -public: - void _free(); - void _cp(stack const* C4_RESTRICT that); - void _mv(stack * that); - void _cb(Callbacks const& cb); -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -template -void stack::reserve(size_t sz) -{ - if(sz <= m_size) - return; - if(sz <= N) - { - m_stack = m_buf; - m_capacity = N; - return; - } - T *buf = (T*) m_callbacks.m_allocate(sz * sizeof(T), m_stack, m_callbacks.m_user_data); - memcpy(buf, m_stack, m_size * sizeof(T)); - if(m_stack != m_buf) - { - m_callbacks.m_free(m_stack, m_capacity * sizeof(T), m_callbacks.m_user_data); - } - m_stack = buf; - m_capacity = sz; -} - - -//----------------------------------------------------------------------------- - -template -void stack::_free() -{ - RYML_ASSERT(m_stack != nullptr); // this structure cannot be memset() to zero - if(m_stack != m_buf) - { - m_callbacks.m_free(m_stack, m_capacity * sizeof(T), m_callbacks.m_user_data); - m_stack = m_buf; - m_size = N; - m_capacity = N; - } - else - { - RYML_ASSERT(m_capacity == N); - } -} - - -//----------------------------------------------------------------------------- - -template -void stack::_cp(stack const* C4_RESTRICT that) -{ - if(that->m_stack != that->m_buf) - { - RYML_ASSERT(that->m_capacity > N); - RYML_ASSERT(that->m_size <= that->m_capacity); - } - else - { - RYML_ASSERT(that->m_capacity <= N); - RYML_ASSERT(that->m_size <= that->m_capacity); - } - memcpy(m_stack, that->m_stack, that->m_size * sizeof(T)); - m_size = that->m_size; - m_capacity = that->m_size < N ? N : that->m_size; - m_callbacks = that->m_callbacks; -} - - -//----------------------------------------------------------------------------- - -template -void stack::_mv(stack * that) -{ - if(that->m_stack != that->m_buf) - { - RYML_ASSERT(that->m_capacity > N); - RYML_ASSERT(that->m_size <= that->m_capacity); - m_stack = that->m_stack; - } - else - { - RYML_ASSERT(that->m_capacity <= N); - RYML_ASSERT(that->m_size <= that->m_capacity); - memcpy(m_buf, that->m_buf, that->m_size * sizeof(T)); - m_stack = m_buf; - } - m_size = that->m_size; - m_capacity = that->m_capacity; - m_callbacks = that->m_callbacks; - // make sure no deallocation happens on destruction - RYML_ASSERT(that->m_stack != m_buf); - that->m_stack = that->m_buf; - that->m_capacity = N; - that->m_size = 0; -} - - -//----------------------------------------------------------------------------- - -template -void stack::_cb(Callbacks const& cb) -{ - if(cb != m_callbacks) - { - _free(); - m_callbacks = cb; - } -} - -} // namespace detail -} // namespace yml -} // namespace c4 - -#endif /* _C4_YML_DETAIL_STACK_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/detail/stack.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/parse.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/parse.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_PARSE_HPP_ -#define _C4_YML_PARSE_HPP_ - -#ifndef _C4_YML_TREE_HPP_ -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp -//#include "c4/yml/tree.hpp" -#if !defined(C4_YML_TREE_HPP_) && !defined(_C4_YML_TREE_HPP_) -#error "amalgamate: file c4/yml/tree.hpp must have been included at this point" -#endif /* C4_YML_TREE_HPP_ */ - -#endif - -#ifndef _C4_YML_NODE_HPP_ -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//#include "c4/yml/node.hpp" -#if !defined(C4_YML_NODE_HPP_) && !defined(_C4_YML_NODE_HPP_) -#error "amalgamate: file c4/yml/node.hpp must have been included at this point" -#endif /* C4_YML_NODE_HPP_ */ - -#endif - -#ifndef _C4_YML_DETAIL_STACK_HPP_ -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/stack.hpp -//#include "c4/yml/detail/stack.hpp" -#if !defined(C4_YML_DETAIL_STACK_HPP_) && !defined(_C4_YML_DETAIL_STACK_HPP_) -#error "amalgamate: file c4/yml/detail/stack.hpp must have been included at this point" -#endif /* C4_YML_DETAIL_STACK_HPP_ */ - -#endif - -//included above: -//#include - -#if defined(_MSC_VER) -# pragma warning(push) -# pragma warning(disable: 4251/*needs to have dll-interface to be used by clients of struct*/) -#endif - -namespace c4 { -namespace yml { - -struct RYML_EXPORT ParserOptions -{ -private: - - typedef enum : uint32_t { - LOCATIONS = (1 << 0), - DEFAULTS = 0, - } Flags_e; - - uint32_t flags = DEFAULTS; -public: - ParserOptions() = default; - - /** @name source location tracking */ - /** @{ */ - - /** enable/disable source location tracking */ - ParserOptions& locations(bool enabled) - { - if(enabled) - flags |= LOCATIONS; - else - flags &= ~LOCATIONS; - return *this; - } - bool locations() const { return (flags & LOCATIONS) != 0u; } - - /** @} */ -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -class RYML_EXPORT Parser -{ -public: - - /** @name construction and assignment */ - /** @{ */ - - Parser(Callbacks const& cb, ParserOptions opts={}); - Parser(ParserOptions opts={}) : Parser(get_callbacks(), opts) {} - ~Parser(); - - Parser(Parser &&); - Parser(Parser const&); - Parser& operator=(Parser &&); - Parser& operator=(Parser const&); - - /** @} */ - -public: - - /** @name modifiers */ - /** @{ */ - - /** Reserve a certain capacity for the parsing stack. - * This should be larger than the expected depth of the parsed - * YAML tree. - * - * The parsing stack is the only (potential) heap memory used by - * the parser. - * - * If the requested capacity is below the default - * stack size of 16, the memory is used directly in the parser - * object; otherwise it will be allocated from the heap. - * - * @note this reserves memory only for the parser itself; all the - * allocations for the parsed tree will go through the tree's - * allocator. - * - * @note the tree and the arena can (and should) also be reserved. */ - void reserve_stack(size_t capacity) - { - m_stack.reserve(capacity); - } - - /** Reserve a certain capacity for the array used to track node - * locations in the source buffer. */ - void reserve_locations(size_t num_source_lines) - { - _resize_locations(num_source_lines); - } - - /** Reserve a certain capacity for the character arena used to - * filter scalars. */ - void reserve_filter_arena(size_t num_characters) - { - _resize_filter_arena(num_characters); - } - - /** @} */ - -public: - - /** @name getters and modifiers */ - /** @{ */ - - /** Get the current callbacks in the parser. */ - Callbacks callbacks() const { return m_stack.m_callbacks; } - - /** Get the name of the latest file parsed by this object. */ - csubstr filename() const { return m_file; } - - /** Get the latest YAML buffer parsed by this object. */ - csubstr source() const { return m_buf; } - - size_t stack_capacity() const { return m_stack.capacity(); } - size_t locations_capacity() const { return m_newline_offsets_capacity; } - size_t filter_arena_capacity() const { return m_filter_arena.len; } - - ParserOptions const& options() const { return m_options; } - - /** @} */ - -public: - - /** @name parse_in_place */ - /** @{ */ - - /** Create a new tree and parse into its root. - * The tree is created with the callbacks currently in the parser. */ - Tree parse_in_place(csubstr filename, substr src) - { - Tree t(callbacks()); - t.reserve(_estimate_capacity(src)); - this->parse_in_place(filename, src, &t, t.root_id()); - return t; - } - - /** Parse into an existing tree, starting at its root node. - * The callbacks in the tree are kept, and used to allocate - * the tree members, if any allocation is required. */ - void parse_in_place(csubstr filename, substr src, Tree *t) - { - this->parse_in_place(filename, src, t, t->root_id()); - } - - /** Parse into an existing node. - * The callbacks in the tree are kept, and used to allocate - * the tree members, if any allocation is required. */ - void parse_in_place(csubstr filename, substr src, Tree *t, size_t node_id); - // ^^^^^^^^^^^^^ this is the workhorse overload; everything else is syntactic candy - - /** Parse into an existing node. - * The callbacks in the tree are kept, and used to allocate - * the tree members, if any allocation is required. */ - void parse_in_place(csubstr filename, substr src, NodeRef node) - { - this->parse_in_place(filename, src, node.tree(), node.id()); - } - - RYML_DEPRECATED("use parse_in_place() instead") Tree parse(csubstr filename, substr src) { return parse_in_place(filename, src); } - RYML_DEPRECATED("use parse_in_place() instead") void parse(csubstr filename, substr src, Tree *t) { parse_in_place(filename, src, t); } - RYML_DEPRECATED("use parse_in_place() instead") void parse(csubstr filename, substr src, Tree *t, size_t node_id) { parse_in_place(filename, src, t, node_id); } - RYML_DEPRECATED("use parse_in_place() instead") void parse(csubstr filename, substr src, NodeRef node) { parse_in_place(filename, src, node); } - - /** @} */ - -public: - - /** @name parse_in_arena: copy the YAML source buffer to the - * tree's arena, then parse the copy in situ - * - * @note overloads receiving a substr YAML buffer are intentionally - * left undefined, such that calling parse_in_arena() with a substr - * will cause a linker error. This is to prevent an accidental - * copy of the source buffer to the tree's arena, because substr - * is implicitly convertible to csubstr. If you really intend to parse - * a mutable buffer in the tree's arena, convert it first to immutable - * by assigning the substr to a csubstr prior to calling parse_in_arena(). - * This is not needed for parse_in_place() because csubstr is not - * implicitly convertible to substr. */ - /** @{ */ - - // READ THE NOTE ABOVE! - #define RYML_DONT_PARSE_SUBSTR_IN_ARENA "Do not pass a (mutable) substr to parse_in_arena(); if you have a substr, it should be parsed in place. Consider using parse_in_place() instead, or convert the buffer to csubstr prior to calling. This function is deliberately left undefined and will cause a linker error." - RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) Tree parse_in_arena(csubstr filename, substr csrc); - RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr csrc, Tree *t); - RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr csrc, Tree *t, size_t node_id); - RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr csrc, NodeRef node); - - /** Create a new tree and parse into its root. - * The immutable YAML source is first copied to the tree's arena, - * and parsed from there. - * The callbacks in the tree are kept, and used to allocate - * the tree members, if any allocation is required. */ - Tree parse_in_arena(csubstr filename, csubstr csrc) - { - Tree t(callbacks()); - substr src = t.copy_to_arena(csrc); - t.reserve(_estimate_capacity(csrc)); - this->parse_in_place(filename, src, &t, t.root_id()); - return t; - } - - /** Parse into an existing tree, starting at its root node. - * The immutable YAML source is first copied to the tree's arena, - * and parsed from there. - * The callbacks in the tree are kept, and used to allocate - * the tree members, if any allocation is required. */ - void parse_in_arena(csubstr filename, csubstr csrc, Tree *t) - { - substr src = t->copy_to_arena(csrc); - this->parse_in_place(filename, src, t, t->root_id()); - } - - /** Parse into a specific node in an existing tree. - * The immutable YAML source is first copied to the tree's arena, - * and parsed from there. - * The callbacks in the tree are kept, and used to allocate - * the tree members, if any allocation is required. */ - void parse_in_arena(csubstr filename, csubstr csrc, Tree *t, size_t node_id) - { - substr src = t->copy_to_arena(csrc); - this->parse_in_place(filename, src, t, node_id); - } - - /** Parse into a specific node in an existing tree. - * The immutable YAML source is first copied to the tree's arena, - * and parsed from there. - * The callbacks in the tree are kept, and used to allocate - * the tree members, if any allocation is required. */ - void parse_in_arena(csubstr filename, csubstr csrc, NodeRef node) - { - substr src = node.tree()->copy_to_arena(csrc); - this->parse_in_place(filename, src, node.tree(), node.id()); - } - - RYML_DEPRECATED("use parse_in_arena() instead") Tree parse(csubstr filename, csubstr csrc) { return parse_in_arena(filename, csrc); } - RYML_DEPRECATED("use parse_in_arena() instead") void parse(csubstr filename, csubstr csrc, Tree *t) { parse_in_arena(filename, csrc, t); } - RYML_DEPRECATED("use parse_in_arena() instead") void parse(csubstr filename, csubstr csrc, Tree *t, size_t node_id) { parse_in_arena(filename, csrc, t, node_id); } - RYML_DEPRECATED("use parse_in_arena() instead") void parse(csubstr filename, csubstr csrc, NodeRef node) { parse_in_arena(filename, csrc, node); } - - /** @} */ - -public: - - /** @name locations */ - /** @{ */ - - /** Get the location of a node of the last tree to be parsed by this parser. */ - Location location(Tree const& tree, size_t node_id) const; - /** Get the location of a node of the last tree to be parsed by this parser. */ - Location location(ConstNodeRef node) const; - /** Get the string starting at a particular location, to the end - * of the parsed source buffer. */ - csubstr location_contents(Location const& loc) const; - /** Given a pointer to a buffer position, get the location. @p val - * must be pointing to somewhere in the source buffer that was - * last parsed by this object. */ - Location val_location(const char *val) const; - - /** @} */ - -private: - - typedef enum { - BLOCK_LITERAL, //!< keep newlines (|) - BLOCK_FOLD //!< replace newline with single space (>) - } BlockStyle_e; - - typedef enum { - CHOMP_CLIP, //!< single newline at end (default) - CHOMP_STRIP, //!< no newline at end (-) - CHOMP_KEEP //!< all newlines from end (+) - } BlockChomp_e; - -private: - - using flag_t = int; - - static size_t _estimate_capacity(csubstr src) { size_t c = _count_nlines(src); c = c >= 16 ? c : 16; return c; } - - void _reset(); - - bool _finished_file() const; - bool _finished_line() const; - - csubstr _peek_next_line(size_t pos=npos) const; - bool _advance_to_peeked(); - void _scan_line(); - - csubstr _slurp_doc_scalar(); - - /** - * @param [out] quoted - * Will only be written to if this method returns true. - * Will be set to true if the scanned scalar was quoted, by '', "", > or |. - */ - bool _scan_scalar_seq_blck(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted); - bool _scan_scalar_map_blck(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted); - bool _scan_scalar_seq_flow(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted); - bool _scan_scalar_map_flow(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted); - bool _scan_scalar_unk(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted); - - csubstr _scan_comment(); - csubstr _scan_squot_scalar(); - csubstr _scan_dquot_scalar(); - csubstr _scan_block(); - substr _scan_plain_scalar_blck(csubstr currscalar, csubstr peeked_line, size_t indentation); - substr _scan_plain_scalar_flow(csubstr currscalar, csubstr peeked_line); - substr _scan_complex_key(csubstr currscalar, csubstr peeked_line); - csubstr _scan_to_next_nonempty_line(size_t indentation); - csubstr _extend_scanned_scalar(csubstr currscalar); - - csubstr _filter_squot_scalar(const substr s); - csubstr _filter_dquot_scalar(substr s); - csubstr _filter_plain_scalar(substr s, size_t indentation); - csubstr _filter_block_scalar(substr s, BlockStyle_e style, BlockChomp_e chomp, size_t indentation); - template - bool _filter_nl(substr scalar, size_t *C4_RESTRICT pos, size_t *C4_RESTRICT filter_arena_pos, size_t indentation); - template - void _filter_ws(substr scalar, size_t *C4_RESTRICT pos, size_t *C4_RESTRICT filter_arena_pos); - bool _apply_chomp(substr buf, size_t *C4_RESTRICT pos, BlockChomp_e chomp); - - void _handle_finished_file(); - void _handle_line(); - - bool _handle_indentation(); - - bool _handle_unk(); - bool _handle_map_flow(); - bool _handle_map_blck(); - bool _handle_seq_flow(); - bool _handle_seq_blck(); - bool _handle_top(); - bool _handle_types(); - bool _handle_key_anchors_and_refs(); - bool _handle_val_anchors_and_refs(); - void _move_val_tag_to_key_tag(); - void _move_key_tag_to_val_tag(); - void _move_key_tag2_to_key_tag(); - void _move_val_anchor_to_key_anchor(); - void _move_key_anchor_to_val_anchor(); - - void _push_level(bool explicit_flow_chars = false); - void _pop_level(); - - void _start_unk(bool as_child=true); - - void _start_map(bool as_child=true); - void _start_map_unk(bool as_child); - void _stop_map(); - - void _start_seq(bool as_child=true); - void _stop_seq(); - - void _start_seqimap(); - void _stop_seqimap(); - - void _start_doc(bool as_child=true); - void _stop_doc(); - void _start_new_doc(csubstr rem); - void _end_stream(); - - NodeData* _append_val(csubstr val, flag_t quoted=false); - NodeData* _append_key_val(csubstr val, flag_t val_quoted=false); - bool _rval_dash_start_or_continue_seq(); - - void _store_scalar(csubstr s, flag_t is_quoted); - csubstr _consume_scalar(); - void _move_scalar_from_top(); - - inline NodeData* _append_val_null(const char *str) { _RYML_CB_ASSERT(m_stack.m_callbacks, str >= m_buf.begin() && str <= m_buf.end()); return _append_val({nullptr, size_t(0)}); } - inline NodeData* _append_key_val_null(const char *str) { _RYML_CB_ASSERT(m_stack.m_callbacks, str >= m_buf.begin() && str <= m_buf.end()); return _append_key_val({nullptr, size_t(0)}); } - inline void _store_scalar_null(const char *str) { _RYML_CB_ASSERT(m_stack.m_callbacks, str >= m_buf.begin() && str <= m_buf.end()); _store_scalar({nullptr, size_t(0)}, false); } - - void _set_indentation(size_t behind); - void _save_indentation(size_t behind=0); - bool _maybe_set_indentation_from_anchor_or_tag(); - - void _write_key_anchor(size_t node_id); - void _write_val_anchor(size_t node_id); - - void _handle_directive(csubstr directive); - - void _skipchars(char c); - template - void _skipchars(const char (&chars)[N]); - -private: - - static size_t _count_nlines(csubstr src); - -private: - - typedef enum : flag_t { - RTOP = 0x01 << 0, ///< reading at top level - RUNK = 0x01 << 1, ///< reading an unknown: must determine whether scalar, map or seq - RMAP = 0x01 << 2, ///< reading a map - RSEQ = 0x01 << 3, ///< reading a seq - FLOW = 0x01 << 4, ///< reading is inside explicit flow chars: [] or {} - QMRK = 0x01 << 5, ///< reading an explicit key (`? key`) - RKEY = 0x01 << 6, ///< reading a scalar as key - RVAL = 0x01 << 7, ///< reading a scalar as val - RNXT = 0x01 << 8, ///< read next val or keyval - SSCL = 0x01 << 9, ///< there's a stored scalar - QSCL = 0x01 << 10, ///< stored scalar was quoted - RSET = 0x01 << 11, ///< the (implicit) map being read is a !!set. @see https://yaml.org/type/set.html - NDOC = 0x01 << 12, ///< no document mode. a document has ended and another has not started yet. - //! reading an implicit map nested in an explicit seq. - //! eg, {key: [key2: value2, key3: value3]} - //! is parsed as {key: [{key2: value2}, {key3: value3}]} - RSEQIMAP = 0x01 << 13, - } State_e; - - struct LineContents - { - csubstr full; ///< the full line, including newlines on the right - csubstr stripped; ///< the stripped line, excluding newlines on the right - csubstr rem; ///< the stripped line remainder; initially starts at the first non-space character - size_t indentation; ///< the number of spaces on the beginning of the line - - LineContents() : full(), stripped(), rem(), indentation() {} - - void reset_with_next_line(csubstr buf, size_t pos); - - void reset(csubstr full_, csubstr stripped_) - { - full = full_; - stripped = stripped_; - rem = stripped_; - // find the first column where the character is not a space - indentation = full.first_not_of(' '); - } - - size_t current_col() const - { - return current_col(rem); - } - - size_t current_col(csubstr s) const - { - RYML_ASSERT(s.str >= full.str); - RYML_ASSERT(full.is_super(s)); - size_t col = static_cast(s.str - full.str); - return col; - } - }; - - struct State - { - flag_t flags; - size_t level; - size_t node_id; // don't hold a pointer to the node as it will be relocated during tree resizes - csubstr scalar; - size_t scalar_col; // the column where the scalar (or its quotes) begin - - Location pos; - LineContents line_contents; - size_t indref; - - State() : flags(), level(), node_id(), scalar(), scalar_col(), pos(), line_contents(), indref() {} - - void reset(const char *file, size_t node_id_) - { - flags = RUNK|RTOP; - level = 0; - pos.name = to_csubstr(file); - pos.offset = 0; - pos.line = 1; - pos.col = 1; - node_id = node_id_; - scalar_col = 0; - scalar.clear(); - indref = 0; - } - }; - - void _line_progressed(size_t ahead); - void _line_ended(); - void _line_ended_undo(); - - void _prepare_pop() - { - RYML_ASSERT(m_stack.size() > 1); - State const& curr = m_stack.top(); - State & next = m_stack.top(1); - next.pos = curr.pos; - next.line_contents = curr.line_contents; - next.scalar = curr.scalar; - } - - inline bool _at_line_begin() const - { - return m_state->line_contents.rem.begin() == m_state->line_contents.full.begin(); - } - inline bool _at_line_end() const - { - csubstr r = m_state->line_contents.rem; - return r.empty() || r.begins_with(' ', r.len); - } - inline bool _token_is_from_this_line(csubstr token) const - { - return token.is_sub(m_state->line_contents.full); - } - - inline NodeData * node(State const* s) const { return m_tree->get(s->node_id); } - inline NodeData * node(State const& s) const { return m_tree->get(s .node_id); } - inline NodeData * node(size_t node_id) const { return m_tree->get( node_id); } - - inline bool has_all(flag_t f) const { return (m_state->flags & f) == f; } - inline bool has_any(flag_t f) const { return (m_state->flags & f) != 0; } - inline bool has_none(flag_t f) const { return (m_state->flags & f) == 0; } - - static inline bool has_all(flag_t f, State const* s) { return (s->flags & f) == f; } - static inline bool has_any(flag_t f, State const* s) { return (s->flags & f) != 0; } - static inline bool has_none(flag_t f, State const* s) { return (s->flags & f) == 0; } - - inline void set_flags(flag_t f) { set_flags(f, m_state); } - inline void add_flags(flag_t on) { add_flags(on, m_state); } - inline void addrem_flags(flag_t on, flag_t off) { addrem_flags(on, off, m_state); } - inline void rem_flags(flag_t off) { rem_flags(off, m_state); } - - void set_flags(flag_t f, State * s); - void add_flags(flag_t on, State * s); - void addrem_flags(flag_t on, flag_t off, State * s); - void rem_flags(flag_t off, State * s); - - void _resize_filter_arena(size_t num_characters); - void _grow_filter_arena(size_t num_characters); - substr _finish_filter_arena(substr dst, size_t pos); - - void _prepare_locations(); - void _resize_locations(size_t sz); - bool _locations_dirty() const; - - bool _location_from_cont(Tree const& tree, size_t node, Location *C4_RESTRICT loc) const; - bool _location_from_node(Tree const& tree, size_t node, Location *C4_RESTRICT loc, size_t level) const; - -private: - - void _free(); - void _clr(); - void _cp(Parser const* that); - void _mv(Parser *that); - -#ifdef RYML_DBG - template void _dbg(csubstr fmt, Args const& C4_RESTRICT ...args) const; -#endif - template void _err(csubstr fmt, Args const& C4_RESTRICT ...args) const; - template void _fmt_msg(DumpFn &&dumpfn) const; - static csubstr _prfl(substr buf, flag_t v); - -private: - - ParserOptions m_options; - - csubstr m_file; - substr m_buf; - - size_t m_root_id; - Tree * m_tree; - - detail::stack m_stack; - State * m_state; - - size_t m_key_tag_indentation; - size_t m_key_tag2_indentation; - csubstr m_key_tag; - csubstr m_key_tag2; - size_t m_val_tag_indentation; - csubstr m_val_tag; - - bool m_key_anchor_was_before; - size_t m_key_anchor_indentation; - csubstr m_key_anchor; - size_t m_val_anchor_indentation; - csubstr m_val_anchor; - - substr m_filter_arena; - - size_t *m_newline_offsets; - size_t m_newline_offsets_size; - size_t m_newline_offsets_capacity; - csubstr m_newline_offsets_buf; -}; - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -/** @name parse_in_place - * - * @desc parse a mutable YAML source buffer. - * - * @note These freestanding functions use a temporary parser object, - * and are convenience functions to easily parse YAML without the need - * to instantiate a separate parser. Note that some properties - * (notably node locations in the original source code) are only - * available through the parser object after it has parsed the - * code. If you need access to any of these properties, use - * Parser::parse_in_place() */ -/** @{ */ - -inline Tree parse_in_place( substr yaml ) { Parser np; return np.parse_in_place({} , yaml); } //!< parse in-situ a modifiable YAML source buffer. -inline Tree parse_in_place(csubstr filename, substr yaml ) { Parser np; return np.parse_in_place(filename, yaml); } //!< parse in-situ a modifiable YAML source buffer, providing a filename for error messages. -inline void parse_in_place( substr yaml, Tree *t ) { Parser np; np.parse_in_place({} , yaml, t); } //!< reusing the YAML tree, parse in-situ a modifiable YAML source buffer -inline void parse_in_place(csubstr filename, substr yaml, Tree *t ) { Parser np; np.parse_in_place(filename, yaml, t); } //!< reusing the YAML tree, parse in-situ a modifiable YAML source buffer, providing a filename for error messages. -inline void parse_in_place( substr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_place({} , yaml, t, node_id); } //!< reusing the YAML tree, parse in-situ a modifiable YAML source buffer -inline void parse_in_place(csubstr filename, substr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_place(filename, yaml, t, node_id); } //!< reusing the YAML tree, parse in-situ a modifiable YAML source buffer, providing a filename for error messages. -inline void parse_in_place( substr yaml, NodeRef node ) { Parser np; np.parse_in_place({} , yaml, node); } //!< reusing the YAML tree, parse in-situ a modifiable YAML source buffer -inline void parse_in_place(csubstr filename, substr yaml, NodeRef node ) { Parser np; np.parse_in_place(filename, yaml, node); } //!< reusing the YAML tree, parse in-situ a modifiable YAML source buffer, providing a filename for error messages. - -RYML_DEPRECATED("use parse_in_place() instead") inline Tree parse( substr yaml ) { Parser np; return np.parse_in_place({} , yaml); } -RYML_DEPRECATED("use parse_in_place() instead") inline Tree parse(csubstr filename, substr yaml ) { Parser np; return np.parse_in_place(filename, yaml); } -RYML_DEPRECATED("use parse_in_place() instead") inline void parse( substr yaml, Tree *t ) { Parser np; np.parse_in_place({} , yaml, t); } -RYML_DEPRECATED("use parse_in_place() instead") inline void parse(csubstr filename, substr yaml, Tree *t ) { Parser np; np.parse_in_place(filename, yaml, t); } -RYML_DEPRECATED("use parse_in_place() instead") inline void parse( substr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_place({} , yaml, t, node_id); } -RYML_DEPRECATED("use parse_in_place() instead") inline void parse(csubstr filename, substr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_place(filename, yaml, t, node_id); } -RYML_DEPRECATED("use parse_in_place() instead") inline void parse( substr yaml, NodeRef node ) { Parser np; np.parse_in_place({} , yaml, node); } -RYML_DEPRECATED("use parse_in_place() instead") inline void parse(csubstr filename, substr yaml, NodeRef node ) { Parser np; np.parse_in_place(filename, yaml, node); } - -/** @} */ - - -//----------------------------------------------------------------------------- - -/** @name parse_in_arena - * @desc parse a read-only YAML source buffer, copying it first to the tree's arena. - * - * @note These freestanding functions use a temporary parser object, - * and are convenience functions to easily parse YAML without the need - * to instantiate a separate parser. Note that some properties - * (notably node locations in the original source code) are only - * available through the parser object after it has parsed the - * code. If you need access to any of these properties, use - * Parser::parse_in_arena(). - * - * @note overloads receiving a substr YAML buffer are intentionally - * left undefined, such that calling parse_in_arena() with a substr - * will cause a linker error. This is to prevent an accidental - * copy of the source buffer to the tree's arena, because substr - * is implicitly convertible to csubstr. If you really intend to parse - * a mutable buffer in the tree's arena, convert it first to immutable - * by assigning the substr to a csubstr prior to calling parse_in_arena(). - * This is not needed for parse_in_place() because csubstr is not - * implicitly convertible to substr. */ -/** @{ */ - -/* READ THE NOTE ABOVE! */ -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) Tree parse_in_arena( substr yaml ); -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) Tree parse_in_arena(csubstr filename, substr yaml ); -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena( substr yaml, Tree *t ); -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr yaml, Tree *t ); -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena( substr yaml, Tree *t, size_t node_id); -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr yaml, Tree *t, size_t node_id); -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena( substr yaml, NodeRef node ); -RYML_DEPRECATED(RYML_DONT_PARSE_SUBSTR_IN_ARENA) void parse_in_arena(csubstr filename, substr yaml, NodeRef node ); - -inline Tree parse_in_arena( csubstr yaml ) { Parser np; return np.parse_in_arena({} , yaml); } //!< parse a read-only YAML source buffer, copying it first to the tree's source arena. -inline Tree parse_in_arena(csubstr filename, csubstr yaml ) { Parser np; return np.parse_in_arena(filename, yaml); } //!< parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. -inline void parse_in_arena( csubstr yaml, Tree *t ) { Parser np; np.parse_in_arena({} , yaml, t); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena. -inline void parse_in_arena(csubstr filename, csubstr yaml, Tree *t ) { Parser np; np.parse_in_arena(filename, yaml, t); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. -inline void parse_in_arena( csubstr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_arena({} , yaml, t, node_id); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena. -inline void parse_in_arena(csubstr filename, csubstr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_arena(filename, yaml, t, node_id); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. -inline void parse_in_arena( csubstr yaml, NodeRef node ) { Parser np; np.parse_in_arena({} , yaml, node); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena. -inline void parse_in_arena(csubstr filename, csubstr yaml, NodeRef node ) { Parser np; np.parse_in_arena(filename, yaml, node); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. - -RYML_DEPRECATED("use parse_in_arena() instead") inline Tree parse( csubstr yaml ) { Parser np; return np.parse_in_arena({} , yaml); } //!< parse a read-only YAML source buffer, copying it first to the tree's source arena. -RYML_DEPRECATED("use parse_in_arena() instead") inline Tree parse(csubstr filename, csubstr yaml ) { Parser np; return np.parse_in_arena(filename, yaml); } //!< parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. -RYML_DEPRECATED("use parse_in_arena() instead") inline void parse( csubstr yaml, Tree *t ) { Parser np; np.parse_in_arena({} , yaml, t); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena. -RYML_DEPRECATED("use parse_in_arena() instead") inline void parse(csubstr filename, csubstr yaml, Tree *t ) { Parser np; np.parse_in_arena(filename, yaml, t); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. -RYML_DEPRECATED("use parse_in_arena() instead") inline void parse( csubstr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_arena({} , yaml, t, node_id); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena. -RYML_DEPRECATED("use parse_in_arena() instead") inline void parse(csubstr filename, csubstr yaml, Tree *t, size_t node_id) { Parser np; np.parse_in_arena(filename, yaml, t, node_id); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. -RYML_DEPRECATED("use parse_in_arena() instead") inline void parse( csubstr yaml, NodeRef node ) { Parser np; np.parse_in_arena({} , yaml, node); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena. -RYML_DEPRECATED("use parse_in_arena() instead") inline void parse(csubstr filename, csubstr yaml, NodeRef node ) { Parser np; np.parse_in_arena(filename, yaml, node); } //!< reusing the YAML tree, parse a read-only YAML source buffer, copying it first to the tree's source arena, providing a filename for error messages. - -/** @} */ - -} // namespace yml -} // namespace c4 - -#if defined(_MSC_VER) -# pragma warning(pop) -#endif - -#endif /* _C4_YML_PARSE_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/parse.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/std/map.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/std/map.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_STD_MAP_HPP_ -#define _C4_YML_STD_MAP_HPP_ - -/** @file map.hpp write/read std::map to/from a YAML tree. */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//#include "c4/yml/node.hpp" -#if !defined(C4_YML_NODE_HPP_) && !defined(_C4_YML_NODE_HPP_) -#error "amalgamate: file c4/yml/node.hpp must have been included at this point" -#endif /* C4_YML_NODE_HPP_ */ - -#include - -namespace c4 { -namespace yml { - -// std::map requires child nodes in the data -// tree hierarchy (a MAP node in ryml parlance). -// So it should be serialized via write()/read(). - -template -void write(c4::yml::NodeRef *n, std::map const& m) -{ - *n |= c4::yml::MAP; - for(auto const& C4_RESTRICT p : m) - { - auto ch = n->append_child(); - ch << c4::yml::key(p.first); - ch << p.second; - } -} - -template -bool read(c4::yml::ConstNodeRef const& n, std::map * m) -{ - K k{}; - V v{}; - for(auto const& C4_RESTRICT ch : n) - { - ch >> c4::yml::key(k); - ch >> v; - m->emplace(std::make_pair(std::move(k), std::move(v))); - } - return true; -} - -} // namespace yml -} // namespace c4 - -#endif // _C4_YML_STD_MAP_HPP_ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/std/map.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/std/string.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/std/string.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef C4_YML_STD_STRING_HPP_ -#define C4_YML_STD_STRING_HPP_ - -/** @file string.hpp substring conversions for/from std::string */ - -// everything we need is implemented here: -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/std/string.hpp -//#include -#if !defined(C4_STD_STRING_HPP_) && !defined(_C4_STD_STRING_HPP_) -#error "amalgamate: file c4/std/string.hpp must have been included at this point" -#endif /* C4_STD_STRING_HPP_ */ - - -#endif // C4_YML_STD_STRING_HPP_ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/std/string.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/std/vector.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/std/vector.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_STD_VECTOR_HPP_ -#define _C4_YML_STD_VECTOR_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//#include "c4/yml/node.hpp" -#if !defined(C4_YML_NODE_HPP_) && !defined(_C4_YML_NODE_HPP_) -#error "amalgamate: file c4/yml/node.hpp must have been included at this point" -#endif /* C4_YML_NODE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/std/vector.hpp -//#include -#if !defined(C4_STD_VECTOR_HPP_) && !defined(_C4_STD_VECTOR_HPP_) -#error "amalgamate: file c4/std/vector.hpp must have been included at this point" -#endif /* C4_STD_VECTOR_HPP_ */ - -//included above: -//#include - -namespace c4 { -namespace yml { - -// vector is a sequence-like type, and it requires child nodes -// in the data tree hierarchy (a SEQ node in ryml parlance). -// So it should be serialized via write()/read(). - - -template -void write(c4::yml::NodeRef *n, std::vector const& vec) -{ - *n |= c4::yml::SEQ; - for(auto const& v : vec) - n->append_child() << v; -} - -template -bool read(c4::yml::ConstNodeRef const& n, std::vector *vec) -{ - vec->resize(n.num_children()); - size_t pos = 0; - for(auto const ch : n) - ch >> (*vec)[pos++]; - return true; -} - -/** specialization: std::vector uses std::vector::reference as - * the return value of its operator[]. */ -template -bool read(c4::yml::ConstNodeRef const& n, std::vector *vec) -{ - vec->resize(n.num_children()); - size_t pos = 0; - bool tmp; - for(auto const ch : n) - { - ch >> tmp; - (*vec)[pos++] = tmp; - } - return true; -} - -} // namespace yml -} // namespace c4 - -#endif // _C4_YML_STD_VECTOR_HPP_ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/std/vector.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/std/std.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/std/std.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_STD_STD_HPP_ -#define _C4_YML_STD_STD_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/std/string.hpp -//#include "c4/yml/std/string.hpp" -#if !defined(C4_YML_STD_STRING_HPP_) && !defined(_C4_YML_STD_STRING_HPP_) -#error "amalgamate: file c4/yml/std/string.hpp must have been included at this point" -#endif /* C4_YML_STD_STRING_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/std/vector.hpp -//#include "c4/yml/std/vector.hpp" -#if !defined(C4_YML_STD_VECTOR_HPP_) && !defined(_C4_YML_STD_VECTOR_HPP_) -#error "amalgamate: file c4/yml/std/vector.hpp must have been included at this point" -#endif /* C4_YML_STD_VECTOR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/std/map.hpp -//#include "c4/yml/std/map.hpp" -#if !defined(C4_YML_STD_MAP_HPP_) && !defined(_C4_YML_STD_MAP_HPP_) -#error "amalgamate: file c4/yml/std/map.hpp must have been included at this point" -#endif /* C4_YML_STD_MAP_HPP_ */ - - -#endif // _C4_YML_STD_STD_HPP_ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/std/std.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/common.cpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/common.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef RYML_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/common.hpp -//#include "c4/yml/common.hpp" -#if !defined(C4_YML_COMMON_HPP_) && !defined(_C4_YML_COMMON_HPP_) -#error "amalgamate: file c4/yml/common.hpp must have been included at this point" -#endif /* C4_YML_COMMON_HPP_ */ - - -#ifndef RYML_NO_DEFAULT_CALLBACKS -//included above: -//# include -//included above: -//# include -#endif // RYML_NO_DEFAULT_CALLBACKS - -namespace c4 { -namespace yml { - -namespace { -Callbacks s_default_callbacks; -} // anon namespace - -#ifndef RYML_NO_DEFAULT_CALLBACKS -void report_error_impl(const char* msg, size_t length, Location loc, FILE *f) -{ - if(!f) - f = stderr; - if(loc) - { - if(!loc.name.empty()) - { - fwrite(loc.name.str, 1, loc.name.len, f); - fputc(':', f); - } - fprintf(f, "%zu:", loc.line); - if(loc.col) - fprintf(f, "%zu:", loc.col); - if(loc.offset) - fprintf(f, " (%zuB):", loc.offset); - } - fprintf(f, "%.*s\n", (int)length, msg); - fflush(f); -} - -void error_impl(const char* msg, size_t length, Location loc, void * /*user_data*/) -{ - report_error_impl(msg, length, loc, nullptr); - ::abort(); -} - -void* allocate_impl(size_t length, void * /*hint*/, void * /*user_data*/) -{ - void *mem = ::malloc(length); - if(mem == nullptr) - { - const char msg[] = "could not allocate memory"; - error_impl(msg, sizeof(msg)-1, {}, nullptr); - } - return mem; -} - -void free_impl(void *mem, size_t /*length*/, void * /*user_data*/) -{ - ::free(mem); -} -#endif // RYML_NO_DEFAULT_CALLBACKS - - - -Callbacks::Callbacks() - : - m_user_data(nullptr), - #ifndef RYML_NO_DEFAULT_CALLBACKS - m_allocate(allocate_impl), - m_free(free_impl), - m_error(error_impl) - #else - m_allocate(nullptr), - m_free(nullptr), - m_error(nullptr) - #endif -{ -} - -Callbacks::Callbacks(void *user_data, pfn_allocate alloc_, pfn_free free_, pfn_error error_) - : - m_user_data(user_data), - #ifndef RYML_NO_DEFAULT_CALLBACKS - m_allocate(alloc_ ? alloc_ : allocate_impl), - m_free(free_ ? free_ : free_impl), - m_error(error_ ? error_ : error_impl) - #else - m_allocate(alloc_), - m_free(free_), - m_error(error_) - #endif -{ - C4_CHECK(m_allocate); - C4_CHECK(m_free); - C4_CHECK(m_error); -} - - -void set_callbacks(Callbacks const& c) -{ - s_default_callbacks = c; -} - -Callbacks const& get_callbacks() -{ - return s_default_callbacks; -} - -void reset_callbacks() -{ - set_callbacks(Callbacks()); -} - -void error(const char *msg, size_t msg_len, Location loc) -{ - s_default_callbacks.m_error(msg, msg_len, loc, s_default_callbacks.m_user_data); -} - -} // namespace yml -} // namespace c4 - -#endif /* RYML_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/common.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/tree.cpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef RYML_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp -//#include "c4/yml/tree.hpp" -#if !defined(C4_YML_TREE_HPP_) && !defined(_C4_YML_TREE_HPP_) -#error "amalgamate: file c4/yml/tree.hpp must have been included at this point" -#endif /* C4_YML_TREE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/parser_dbg.hpp -//#include "c4/yml/detail/parser_dbg.hpp" -#if !defined(C4_YML_DETAIL_PARSER_DBG_HPP_) && !defined(_C4_YML_DETAIL_PARSER_DBG_HPP_) -#error "amalgamate: file c4/yml/detail/parser_dbg.hpp must have been included at this point" -#endif /* C4_YML_DETAIL_PARSER_DBG_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//#include "c4/yml/node.hpp" -#if !defined(C4_YML_NODE_HPP_) && !defined(_C4_YML_NODE_HPP_) -#error "amalgamate: file c4/yml/node.hpp must have been included at this point" -#endif /* C4_YML_NODE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/stack.hpp -//#include "c4/yml/detail/stack.hpp" -#if !defined(C4_YML_DETAIL_STACK_HPP_) && !defined(_C4_YML_DETAIL_STACK_HPP_) -#error "amalgamate: file c4/yml/detail/stack.hpp must have been included at this point" -#endif /* C4_YML_DETAIL_STACK_HPP_ */ - - - -C4_SUPPRESS_WARNING_GCC_WITH_PUSH("-Wtype-limits") -C4_SUPPRESS_WARNING_MSVC_WITH_PUSH(4296/*expression is always 'boolean_value'*/) - -namespace c4 { -namespace yml { - - -csubstr normalize_tag(csubstr tag) -{ - YamlTag_e t = to_tag(tag); - if(t != TAG_NONE) - return from_tag(t); - if(tag.begins_with("!<")) - tag = tag.sub(1); - if(tag.begins_with(""}; - case TAG_OMAP: - return {""}; - case TAG_PAIRS: - return {""}; - case TAG_SET: - return {""}; - case TAG_SEQ: - return {""}; - case TAG_BINARY: - return {""}; - case TAG_BOOL: - return {""}; - case TAG_FLOAT: - return {""}; - case TAG_INT: - return {""}; - case TAG_MERGE: - return {""}; - case TAG_NULL: - return {""}; - case TAG_STR: - return {""}; - case TAG_TIMESTAMP: - return {""}; - case TAG_VALUE: - return {""}; - case TAG_YAML: - return {""}; - case TAG_NONE: - return {""}; - } - return {""}; -} - -csubstr from_tag(YamlTag_e tag) -{ - switch(tag) - { - case TAG_MAP: - return {"!!map"}; - case TAG_OMAP: - return {"!!omap"}; - case TAG_PAIRS: - return {"!!pairs"}; - case TAG_SET: - return {"!!set"}; - case TAG_SEQ: - return {"!!seq"}; - case TAG_BINARY: - return {"!!binary"}; - case TAG_BOOL: - return {"!!bool"}; - case TAG_FLOAT: - return {"!!float"}; - case TAG_INT: - return {"!!int"}; - case TAG_MERGE: - return {"!!merge"}; - case TAG_NULL: - return {"!!null"}; - case TAG_STR: - return {"!!str"}; - case TAG_TIMESTAMP: - return {"!!timestamp"}; - case TAG_VALUE: - return {"!!value"}; - case TAG_YAML: - return {"!!yaml"}; - case TAG_NONE: - return {""}; - } - return {""}; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -const char* NodeType::type_str(NodeType_e ty) -{ - switch(ty & _TYMASK) - { - case KEYVAL: - return "KEYVAL"; - case KEY: - return "KEY"; - case VAL: - return "VAL"; - case MAP: - return "MAP"; - case SEQ: - return "SEQ"; - case KEYMAP: - return "KEYMAP"; - case KEYSEQ: - return "KEYSEQ"; - case DOCSEQ: - return "DOCSEQ"; - case DOCMAP: - return "DOCMAP"; - case DOCVAL: - return "DOCVAL"; - case DOC: - return "DOC"; - case STREAM: - return "STREAM"; - case NOTYPE: - return "NOTYPE"; - default: - if((ty & KEYVAL) == KEYVAL) - return "KEYVAL***"; - if((ty & KEYMAP) == KEYMAP) - return "KEYMAP***"; - if((ty & KEYSEQ) == KEYSEQ) - return "KEYSEQ***"; - if((ty & DOCSEQ) == DOCSEQ) - return "DOCSEQ***"; - if((ty & DOCMAP) == DOCMAP) - return "DOCMAP***"; - if((ty & DOCVAL) == DOCVAL) - return "DOCVAL***"; - if(ty & KEY) - return "KEY***"; - if(ty & VAL) - return "VAL***"; - if(ty & MAP) - return "MAP***"; - if(ty & SEQ) - return "SEQ***"; - if(ty & DOC) - return "DOC***"; - return "(unk)"; - } -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -NodeRef Tree::rootref() -{ - return NodeRef(this, root_id()); -} -ConstNodeRef Tree::rootref() const -{ - return ConstNodeRef(this, root_id()); -} - -ConstNodeRef Tree::crootref() -{ - return ConstNodeRef(this, root_id()); -} -ConstNodeRef Tree::crootref() const -{ - return ConstNodeRef(this, root_id()); -} - -NodeRef Tree::ref(size_t id) -{ - _RYML_CB_ASSERT(m_callbacks, id != NONE && id >= 0 && id < m_size); - return NodeRef(this, id); -} -ConstNodeRef Tree::ref(size_t id) const -{ - _RYML_CB_ASSERT(m_callbacks, id != NONE && id >= 0 && id < m_size); - return ConstNodeRef(this, id); -} - -ConstNodeRef Tree::cref(size_t id) -{ - _RYML_CB_ASSERT(m_callbacks, id != NONE && id >= 0 && id < m_size); - return ConstNodeRef(this, id); -} -ConstNodeRef Tree::cref(size_t id) const -{ - _RYML_CB_ASSERT(m_callbacks, id != NONE && id >= 0 && id < m_size); - return ConstNodeRef(this, id); -} - -NodeRef Tree::operator[] (csubstr key) -{ - return rootref()[key]; -} -ConstNodeRef Tree::operator[] (csubstr key) const -{ - return rootref()[key]; -} - -NodeRef Tree::operator[] (size_t i) -{ - return rootref()[i]; -} -ConstNodeRef Tree::operator[] (size_t i) const -{ - return rootref()[i]; -} - -NodeRef Tree::docref(size_t i) -{ - return ref(doc(i)); -} -ConstNodeRef Tree::docref(size_t i) const -{ - return cref(doc(i)); -} - - -//----------------------------------------------------------------------------- -Tree::Tree(Callbacks const& cb) - : m_buf(nullptr) - , m_cap(0) - , m_size(0) - , m_free_head(NONE) - , m_free_tail(NONE) - , m_arena() - , m_arena_pos(0) - , m_callbacks(cb) -{ -} - -Tree::Tree(size_t node_capacity, size_t arena_capacity, Callbacks const& cb) - : Tree(cb) -{ - reserve(node_capacity); - reserve_arena(arena_capacity); -} - -Tree::~Tree() -{ - _free(); -} - - -Tree::Tree(Tree const& that) noexcept : Tree(that.m_callbacks) -{ - _copy(that); -} - -Tree& Tree::operator= (Tree const& that) noexcept -{ - _free(); - m_callbacks = that.m_callbacks; - _copy(that); - return *this; -} - -Tree::Tree(Tree && that) noexcept : Tree(that.m_callbacks) -{ - _move(that); -} - -Tree& Tree::operator= (Tree && that) noexcept -{ - _free(); - m_callbacks = that.m_callbacks; - _move(that); - return *this; -} - -void Tree::_free() -{ - if(m_buf) - { - _RYML_CB_ASSERT(m_callbacks, m_cap > 0); - _RYML_CB_FREE(m_callbacks, m_buf, NodeData, m_cap); - } - if(m_arena.str) - { - _RYML_CB_ASSERT(m_callbacks, m_arena.len > 0); - _RYML_CB_FREE(m_callbacks, m_arena.str, char, m_arena.len); - } - _clear(); -} - - -C4_SUPPRESS_WARNING_GCC_PUSH -#if defined(__GNUC__) && __GNUC__>= 8 - C4_SUPPRESS_WARNING_GCC_WITH_PUSH("-Wclass-memaccess") // error: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘class c4::yml::Tree’ with no trivial copy-assignment; use assignment or value-initialization instead -#endif - -void Tree::_clear() -{ - m_buf = nullptr; - m_cap = 0; - m_size = 0; - m_free_head = 0; - m_free_tail = 0; - m_arena = {}; - m_arena_pos = 0; - for(size_t i = 0; i < RYML_MAX_TAG_DIRECTIVES; ++i) - m_tag_directives[i] = {}; -} - -void Tree::_copy(Tree const& that) -{ - _RYML_CB_ASSERT(m_callbacks, m_buf == nullptr); - _RYML_CB_ASSERT(m_callbacks, m_arena.str == nullptr); - _RYML_CB_ASSERT(m_callbacks, m_arena.len == 0); - m_buf = _RYML_CB_ALLOC_HINT(m_callbacks, NodeData, that.m_cap, that.m_buf); - memcpy(m_buf, that.m_buf, that.m_cap * sizeof(NodeData)); - m_cap = that.m_cap; - m_size = that.m_size; - m_free_head = that.m_free_head; - m_free_tail = that.m_free_tail; - m_arena_pos = that.m_arena_pos; - m_arena = that.m_arena; - if(that.m_arena.str) - { - _RYML_CB_ASSERT(m_callbacks, that.m_arena.len > 0); - substr arena; - arena.str = _RYML_CB_ALLOC_HINT(m_callbacks, char, that.m_arena.len, that.m_arena.str); - arena.len = that.m_arena.len; - _relocate(arena); // does a memcpy of the arena and updates nodes using the old arena - m_arena = arena; - } - for(size_t i = 0; i < RYML_MAX_TAG_DIRECTIVES; ++i) - m_tag_directives[i] = that.m_tag_directives[i]; -} - -void Tree::_move(Tree & that) -{ - _RYML_CB_ASSERT(m_callbacks, m_buf == nullptr); - _RYML_CB_ASSERT(m_callbacks, m_arena.str == nullptr); - _RYML_CB_ASSERT(m_callbacks, m_arena.len == 0); - m_buf = that.m_buf; - m_cap = that.m_cap; - m_size = that.m_size; - m_free_head = that.m_free_head; - m_free_tail = that.m_free_tail; - m_arena = that.m_arena; - m_arena_pos = that.m_arena_pos; - for(size_t i = 0; i < RYML_MAX_TAG_DIRECTIVES; ++i) - m_tag_directives[i] = that.m_tag_directives[i]; - that._clear(); -} - -void Tree::_relocate(substr next_arena) -{ - _RYML_CB_ASSERT(m_callbacks, next_arena.not_empty()); - _RYML_CB_ASSERT(m_callbacks, next_arena.len >= m_arena.len); - memcpy(next_arena.str, m_arena.str, m_arena_pos); - for(NodeData *C4_RESTRICT n = m_buf, *e = m_buf + m_cap; n != e; ++n) - { - if(in_arena(n->m_key.scalar)) - n->m_key.scalar = _relocated(n->m_key.scalar, next_arena); - if(in_arena(n->m_key.tag)) - n->m_key.tag = _relocated(n->m_key.tag, next_arena); - if(in_arena(n->m_key.anchor)) - n->m_key.anchor = _relocated(n->m_key.anchor, next_arena); - if(in_arena(n->m_val.scalar)) - n->m_val.scalar = _relocated(n->m_val.scalar, next_arena); - if(in_arena(n->m_val.tag)) - n->m_val.tag = _relocated(n->m_val.tag, next_arena); - if(in_arena(n->m_val.anchor)) - n->m_val.anchor = _relocated(n->m_val.anchor, next_arena); - } - for(TagDirective &C4_RESTRICT td : m_tag_directives) - { - if(in_arena(td.prefix)) - td.prefix = _relocated(td.prefix, next_arena); - if(in_arena(td.handle)) - td.handle = _relocated(td.handle, next_arena); - } -} - - -//----------------------------------------------------------------------------- -void Tree::reserve(size_t cap) -{ - if(cap > m_cap) - { - NodeData *buf = _RYML_CB_ALLOC_HINT(m_callbacks, NodeData, cap, m_buf); - if(m_buf) - { - memcpy(buf, m_buf, m_cap * sizeof(NodeData)); - _RYML_CB_FREE(m_callbacks, m_buf, NodeData, m_cap); - } - size_t first = m_cap, del = cap - m_cap; - m_cap = cap; - m_buf = buf; - _clear_range(first, del); - if(m_free_head != NONE) - { - _RYML_CB_ASSERT(m_callbacks, m_buf != nullptr); - _RYML_CB_ASSERT(m_callbacks, m_free_tail != NONE); - m_buf[m_free_tail].m_next_sibling = first; - m_buf[first].m_prev_sibling = m_free_tail; - m_free_tail = cap-1; - } - else - { - _RYML_CB_ASSERT(m_callbacks, m_free_tail == NONE); - m_free_head = first; - m_free_tail = cap-1; - } - _RYML_CB_ASSERT(m_callbacks, m_free_head == NONE || (m_free_head >= 0 && m_free_head < cap)); - _RYML_CB_ASSERT(m_callbacks, m_free_tail == NONE || (m_free_tail >= 0 && m_free_tail < cap)); - - if( ! m_size) - _claim_root(); - } -} - - -//----------------------------------------------------------------------------- -void Tree::clear() -{ - _clear_range(0, m_cap); - m_size = 0; - if(m_buf) - { - _RYML_CB_ASSERT(m_callbacks, m_cap >= 0); - m_free_head = 0; - m_free_tail = m_cap-1; - _claim_root(); - } - else - { - m_free_head = NONE; - m_free_tail = NONE; - } - for(size_t i = 0; i < RYML_MAX_TAG_DIRECTIVES; ++i) - m_tag_directives[i] = {}; -} - -void Tree::_claim_root() -{ - size_t r = _claim(); - _RYML_CB_ASSERT(m_callbacks, r == 0); - _set_hierarchy(r, NONE, NONE); -} - - -//----------------------------------------------------------------------------- -void Tree::_clear_range(size_t first, size_t num) -{ - if(num == 0) - return; // prevent overflow when subtracting - _RYML_CB_ASSERT(m_callbacks, first >= 0 && first + num <= m_cap); - memset(m_buf + first, 0, num * sizeof(NodeData)); // TODO we should not need this - for(size_t i = first, e = first + num; i < e; ++i) - { - _clear(i); - NodeData *n = m_buf + i; - n->m_prev_sibling = i - 1; - n->m_next_sibling = i + 1; - } - m_buf[first + num - 1].m_next_sibling = NONE; -} - -C4_SUPPRESS_WARNING_GCC_POP - - -//----------------------------------------------------------------------------- -void Tree::_release(size_t i) -{ - _RYML_CB_ASSERT(m_callbacks, i >= 0 && i < m_cap); - - _rem_hierarchy(i); - _free_list_add(i); - _clear(i); - - --m_size; -} - -//----------------------------------------------------------------------------- -// add to the front of the free list -void Tree::_free_list_add(size_t i) -{ - _RYML_CB_ASSERT(m_callbacks, i >= 0 && i < m_cap); - NodeData &C4_RESTRICT w = m_buf[i]; - - w.m_parent = NONE; - w.m_next_sibling = m_free_head; - w.m_prev_sibling = NONE; - if(m_free_head != NONE) - m_buf[m_free_head].m_prev_sibling = i; - m_free_head = i; - if(m_free_tail == NONE) - m_free_tail = m_free_head; -} - -void Tree::_free_list_rem(size_t i) -{ - if(m_free_head == i) - m_free_head = _p(i)->m_next_sibling; - _rem_hierarchy(i); -} - -//----------------------------------------------------------------------------- -size_t Tree::_claim() -{ - if(m_free_head == NONE || m_buf == nullptr) - { - size_t sz = 2 * m_cap; - sz = sz ? sz : 16; - reserve(sz); - _RYML_CB_ASSERT(m_callbacks, m_free_head != NONE); - } - - _RYML_CB_ASSERT(m_callbacks, m_size < m_cap); - _RYML_CB_ASSERT(m_callbacks, m_free_head >= 0 && m_free_head < m_cap); - - size_t ichild = m_free_head; - NodeData *child = m_buf + ichild; - - ++m_size; - m_free_head = child->m_next_sibling; - if(m_free_head == NONE) - { - m_free_tail = NONE; - _RYML_CB_ASSERT(m_callbacks, m_size == m_cap); - } - - _clear(ichild); - - return ichild; -} - -//----------------------------------------------------------------------------- - -C4_SUPPRESS_WARNING_GCC_PUSH -C4_SUPPRESS_WARNING_CLANG_PUSH -C4_SUPPRESS_WARNING_CLANG("-Wnull-dereference") -#if defined(__GNUC__) && (__GNUC__ >= 6) -C4_SUPPRESS_WARNING_GCC("-Wnull-dereference") -#endif - -void Tree::_set_hierarchy(size_t ichild, size_t iparent, size_t iprev_sibling) -{ - _RYML_CB_ASSERT(m_callbacks, iparent == NONE || (iparent >= 0 && iparent < m_cap)); - _RYML_CB_ASSERT(m_callbacks, iprev_sibling == NONE || (iprev_sibling >= 0 && iprev_sibling < m_cap)); - - NodeData *C4_RESTRICT child = get(ichild); - - child->m_parent = iparent; - child->m_prev_sibling = NONE; - child->m_next_sibling = NONE; - - if(iparent == NONE) - { - _RYML_CB_ASSERT(m_callbacks, ichild == 0); - _RYML_CB_ASSERT(m_callbacks, iprev_sibling == NONE); - } - - if(iparent == NONE) - return; - - size_t inext_sibling = iprev_sibling != NONE ? next_sibling(iprev_sibling) : first_child(iparent); - NodeData *C4_RESTRICT parent = get(iparent); - NodeData *C4_RESTRICT psib = get(iprev_sibling); - NodeData *C4_RESTRICT nsib = get(inext_sibling); - - if(psib) - { - _RYML_CB_ASSERT(m_callbacks, next_sibling(iprev_sibling) == id(nsib)); - child->m_prev_sibling = id(psib); - psib->m_next_sibling = id(child); - _RYML_CB_ASSERT(m_callbacks, psib->m_prev_sibling != psib->m_next_sibling || psib->m_prev_sibling == NONE); - } - - if(nsib) - { - _RYML_CB_ASSERT(m_callbacks, prev_sibling(inext_sibling) == id(psib)); - child->m_next_sibling = id(nsib); - nsib->m_prev_sibling = id(child); - _RYML_CB_ASSERT(m_callbacks, nsib->m_prev_sibling != nsib->m_next_sibling || nsib->m_prev_sibling == NONE); - } - - if(parent->m_first_child == NONE) - { - _RYML_CB_ASSERT(m_callbacks, parent->m_last_child == NONE); - parent->m_first_child = id(child); - parent->m_last_child = id(child); - } - else - { - if(child->m_next_sibling == parent->m_first_child) - parent->m_first_child = id(child); - - if(child->m_prev_sibling == parent->m_last_child) - parent->m_last_child = id(child); - } -} - -C4_SUPPRESS_WARNING_GCC_POP -C4_SUPPRESS_WARNING_CLANG_POP - - -//----------------------------------------------------------------------------- -void Tree::_rem_hierarchy(size_t i) -{ - _RYML_CB_ASSERT(m_callbacks, i >= 0 && i < m_cap); - - NodeData &C4_RESTRICT w = m_buf[i]; - - // remove from the parent - if(w.m_parent != NONE) - { - NodeData &C4_RESTRICT p = m_buf[w.m_parent]; - if(p.m_first_child == i) - { - p.m_first_child = w.m_next_sibling; - } - if(p.m_last_child == i) - { - p.m_last_child = w.m_prev_sibling; - } - } - - // remove from the used list - if(w.m_prev_sibling != NONE) - { - NodeData *C4_RESTRICT prev = get(w.m_prev_sibling); - prev->m_next_sibling = w.m_next_sibling; - } - if(w.m_next_sibling != NONE) - { - NodeData *C4_RESTRICT next = get(w.m_next_sibling); - next->m_prev_sibling = w.m_prev_sibling; - } -} - -//----------------------------------------------------------------------------- -void Tree::reorder() -{ - size_t r = root_id(); - _do_reorder(&r, 0); -} - -//----------------------------------------------------------------------------- -size_t Tree::_do_reorder(size_t *node, size_t count) -{ - // swap this node if it's not in place - if(*node != count) - { - _swap(*node, count); - *node = count; - } - ++count; // bump the count from this node - - // now descend in the hierarchy - for(size_t i = first_child(*node); i != NONE; i = next_sibling(i)) - { - // this child may have been relocated to a different index, - // so get an updated version - count = _do_reorder(&i, count); - } - return count; -} - -//----------------------------------------------------------------------------- -void Tree::_swap(size_t n_, size_t m_) -{ - _RYML_CB_ASSERT(m_callbacks, (parent(n_) != NONE) || type(n_) == NOTYPE); - _RYML_CB_ASSERT(m_callbacks, (parent(m_) != NONE) || type(m_) == NOTYPE); - NodeType tn = type(n_); - NodeType tm = type(m_); - if(tn != NOTYPE && tm != NOTYPE) - { - _swap_props(n_, m_); - _swap_hierarchy(n_, m_); - } - else if(tn == NOTYPE && tm != NOTYPE) - { - _copy_props(n_, m_); - _free_list_rem(n_); - _copy_hierarchy(n_, m_); - _clear(m_); - _free_list_add(m_); - } - else if(tn != NOTYPE && tm == NOTYPE) - { - _copy_props(m_, n_); - _free_list_rem(m_); - _copy_hierarchy(m_, n_); - _clear(n_); - _free_list_add(n_); - } - else - { - C4_NEVER_REACH(); - } -} - -//----------------------------------------------------------------------------- -void Tree::_swap_hierarchy(size_t ia, size_t ib) -{ - if(ia == ib) return; - - for(size_t i = first_child(ia); i != NONE; i = next_sibling(i)) - { - if(i == ib || i == ia) - continue; - _p(i)->m_parent = ib; - } - - for(size_t i = first_child(ib); i != NONE; i = next_sibling(i)) - { - if(i == ib || i == ia) - continue; - _p(i)->m_parent = ia; - } - - auto & C4_RESTRICT a = *_p(ia); - auto & C4_RESTRICT b = *_p(ib); - auto & C4_RESTRICT pa = *_p(a.m_parent); - auto & C4_RESTRICT pb = *_p(b.m_parent); - - if(&pa == &pb) - { - if((pa.m_first_child == ib && pa.m_last_child == ia) - || - (pa.m_first_child == ia && pa.m_last_child == ib)) - { - std::swap(pa.m_first_child, pa.m_last_child); - } - else - { - bool changed = false; - if(pa.m_first_child == ia) - { - pa.m_first_child = ib; - changed = true; - } - if(pa.m_last_child == ia) - { - pa.m_last_child = ib; - changed = true; - } - if(pb.m_first_child == ib && !changed) - { - pb.m_first_child = ia; - } - if(pb.m_last_child == ib && !changed) - { - pb.m_last_child = ia; - } - } - } - else - { - if(pa.m_first_child == ia) - pa.m_first_child = ib; - if(pa.m_last_child == ia) - pa.m_last_child = ib; - if(pb.m_first_child == ib) - pb.m_first_child = ia; - if(pb.m_last_child == ib) - pb.m_last_child = ia; - } - std::swap(a.m_first_child , b.m_first_child); - std::swap(a.m_last_child , b.m_last_child); - - if(a.m_prev_sibling != ib && b.m_prev_sibling != ia && - a.m_next_sibling != ib && b.m_next_sibling != ia) - { - if(a.m_prev_sibling != NONE && a.m_prev_sibling != ib) - _p(a.m_prev_sibling)->m_next_sibling = ib; - if(a.m_next_sibling != NONE && a.m_next_sibling != ib) - _p(a.m_next_sibling)->m_prev_sibling = ib; - if(b.m_prev_sibling != NONE && b.m_prev_sibling != ia) - _p(b.m_prev_sibling)->m_next_sibling = ia; - if(b.m_next_sibling != NONE && b.m_next_sibling != ia) - _p(b.m_next_sibling)->m_prev_sibling = ia; - std::swap(a.m_prev_sibling, b.m_prev_sibling); - std::swap(a.m_next_sibling, b.m_next_sibling); - } - else - { - if(a.m_next_sibling == ib) // n will go after m - { - _RYML_CB_ASSERT(m_callbacks, b.m_prev_sibling == ia); - if(a.m_prev_sibling != NONE) - { - _RYML_CB_ASSERT(m_callbacks, a.m_prev_sibling != ib); - _p(a.m_prev_sibling)->m_next_sibling = ib; - } - if(b.m_next_sibling != NONE) - { - _RYML_CB_ASSERT(m_callbacks, b.m_next_sibling != ia); - _p(b.m_next_sibling)->m_prev_sibling = ia; - } - size_t ns = b.m_next_sibling; - b.m_prev_sibling = a.m_prev_sibling; - b.m_next_sibling = ia; - a.m_prev_sibling = ib; - a.m_next_sibling = ns; - } - else if(a.m_prev_sibling == ib) // m will go after n - { - _RYML_CB_ASSERT(m_callbacks, b.m_next_sibling == ia); - if(b.m_prev_sibling != NONE) - { - _RYML_CB_ASSERT(m_callbacks, b.m_prev_sibling != ia); - _p(b.m_prev_sibling)->m_next_sibling = ia; - } - if(a.m_next_sibling != NONE) - { - _RYML_CB_ASSERT(m_callbacks, a.m_next_sibling != ib); - _p(a.m_next_sibling)->m_prev_sibling = ib; - } - size_t ns = b.m_prev_sibling; - a.m_prev_sibling = b.m_prev_sibling; - a.m_next_sibling = ib; - b.m_prev_sibling = ia; - b.m_next_sibling = ns; - } - else - { - C4_NEVER_REACH(); - } - } - _RYML_CB_ASSERT(m_callbacks, a.m_next_sibling != ia); - _RYML_CB_ASSERT(m_callbacks, a.m_prev_sibling != ia); - _RYML_CB_ASSERT(m_callbacks, b.m_next_sibling != ib); - _RYML_CB_ASSERT(m_callbacks, b.m_prev_sibling != ib); - - if(a.m_parent != ib && b.m_parent != ia) - { - std::swap(a.m_parent, b.m_parent); - } - else - { - if(a.m_parent == ib && b.m_parent != ia) - { - a.m_parent = b.m_parent; - b.m_parent = ia; - } - else if(a.m_parent != ib && b.m_parent == ia) - { - b.m_parent = a.m_parent; - a.m_parent = ib; - } - else - { - C4_NEVER_REACH(); - } - } -} - -//----------------------------------------------------------------------------- -void Tree::_copy_hierarchy(size_t dst_, size_t src_) -{ - auto const& C4_RESTRICT src = *_p(src_); - auto & C4_RESTRICT dst = *_p(dst_); - auto & C4_RESTRICT prt = *_p(src.m_parent); - for(size_t i = src.m_first_child; i != NONE; i = next_sibling(i)) - { - _p(i)->m_parent = dst_; - } - if(src.m_prev_sibling != NONE) - { - _p(src.m_prev_sibling)->m_next_sibling = dst_; - } - if(src.m_next_sibling != NONE) - { - _p(src.m_next_sibling)->m_prev_sibling = dst_; - } - if(prt.m_first_child == src_) - { - prt.m_first_child = dst_; - } - if(prt.m_last_child == src_) - { - prt.m_last_child = dst_; - } - dst.m_parent = src.m_parent; - dst.m_first_child = src.m_first_child; - dst.m_last_child = src.m_last_child; - dst.m_prev_sibling = src.m_prev_sibling; - dst.m_next_sibling = src.m_next_sibling; -} - -//----------------------------------------------------------------------------- -void Tree::_swap_props(size_t n_, size_t m_) -{ - NodeData &C4_RESTRICT n = *_p(n_); - NodeData &C4_RESTRICT m = *_p(m_); - std::swap(n.m_type, m.m_type); - std::swap(n.m_key, m.m_key); - std::swap(n.m_val, m.m_val); -} - -//----------------------------------------------------------------------------- -void Tree::move(size_t node, size_t after) -{ - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, node != after); - _RYML_CB_ASSERT(m_callbacks, ! is_root(node)); - _RYML_CB_ASSERT(m_callbacks, (after == NONE) || (has_sibling(node, after) && has_sibling(after, node))); - - _rem_hierarchy(node); - _set_hierarchy(node, parent(node), after); -} - -//----------------------------------------------------------------------------- - -void Tree::move(size_t node, size_t new_parent, size_t after) -{ - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, node != after); - _RYML_CB_ASSERT(m_callbacks, new_parent != NONE); - _RYML_CB_ASSERT(m_callbacks, new_parent != node); - _RYML_CB_ASSERT(m_callbacks, new_parent != after); - _RYML_CB_ASSERT(m_callbacks, ! is_root(node)); - - _rem_hierarchy(node); - _set_hierarchy(node, new_parent, after); -} - -size_t Tree::move(Tree *src, size_t node, size_t new_parent, size_t after) -{ - _RYML_CB_ASSERT(m_callbacks, src != nullptr); - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, new_parent != NONE); - _RYML_CB_ASSERT(m_callbacks, new_parent != after); - - size_t dup = duplicate(src, node, new_parent, after); - src->remove(node); - return dup; -} - -void Tree::set_root_as_stream() -{ - size_t root = root_id(); - if(is_stream(root)) - return; - // don't use _add_flags() because it's checked and will fail - if(!has_children(root)) - { - if(is_val(root)) - { - _p(root)->m_type.add(SEQ); - size_t next_doc = append_child(root); - _copy_props_wo_key(next_doc, root); - _p(next_doc)->m_type.add(DOC); - _p(next_doc)->m_type.rem(SEQ); - } - _p(root)->m_type = STREAM; - return; - } - _RYML_CB_ASSERT(m_callbacks, !has_key(root)); - size_t next_doc = append_child(root); - _copy_props_wo_key(next_doc, root); - _add_flags(next_doc, DOC); - for(size_t prev = NONE, ch = first_child(root), next = next_sibling(ch); ch != NONE; ) - { - if(ch == next_doc) - break; - move(ch, next_doc, prev); - prev = ch; - ch = next; - next = next_sibling(next); - } - _p(root)->m_type = STREAM; -} - - -//----------------------------------------------------------------------------- -void Tree::remove_children(size_t node) -{ - _RYML_CB_ASSERT(m_callbacks, get(node) != nullptr); - size_t ich = get(node)->m_first_child; - while(ich != NONE) - { - remove_children(ich); - _RYML_CB_ASSERT(m_callbacks, get(ich) != nullptr); - size_t next = get(ich)->m_next_sibling; - _release(ich); - if(ich == get(node)->m_last_child) - break; - ich = next; - } -} - -bool Tree::change_type(size_t node, NodeType type) -{ - _RYML_CB_ASSERT(m_callbacks, type.is_val() || type.is_map() || type.is_seq()); - _RYML_CB_ASSERT(m_callbacks, type.is_val() + type.is_map() + type.is_seq() == 1); - _RYML_CB_ASSERT(m_callbacks, type.has_key() == has_key(node) || (has_key(node) && !type.has_key())); - NodeData *d = _p(node); - if(type.is_map() && is_map(node)) - return false; - else if(type.is_seq() && is_seq(node)) - return false; - else if(type.is_val() && is_val(node)) - return false; - d->m_type = (d->m_type & (~(MAP|SEQ|VAL))) | type; - remove_children(node); - return true; -} - - -//----------------------------------------------------------------------------- -size_t Tree::duplicate(size_t node, size_t parent, size_t after) -{ - return duplicate(this, node, parent, after); -} - -size_t Tree::duplicate(Tree const* src, size_t node, size_t parent, size_t after) -{ - _RYML_CB_ASSERT(m_callbacks, src != nullptr); - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, parent != NONE); - _RYML_CB_ASSERT(m_callbacks, ! src->is_root(node)); - - size_t copy = _claim(); - - _copy_props(copy, src, node); - _set_hierarchy(copy, parent, after); - duplicate_children(src, node, copy, NONE); - - return copy; -} - -//----------------------------------------------------------------------------- -size_t Tree::duplicate_children(size_t node, size_t parent, size_t after) -{ - return duplicate_children(this, node, parent, after); -} - -size_t Tree::duplicate_children(Tree const* src, size_t node, size_t parent, size_t after) -{ - _RYML_CB_ASSERT(m_callbacks, src != nullptr); - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, parent != NONE); - _RYML_CB_ASSERT(m_callbacks, after == NONE || has_child(parent, after)); - - size_t prev = after; - for(size_t i = src->first_child(node); i != NONE; i = src->next_sibling(i)) - { - prev = duplicate(src, i, parent, prev); - } - - return prev; -} - -//----------------------------------------------------------------------------- -void Tree::duplicate_contents(size_t node, size_t where) -{ - duplicate_contents(this, node, where); -} - -void Tree::duplicate_contents(Tree const *src, size_t node, size_t where) -{ - _RYML_CB_ASSERT(m_callbacks, src != nullptr); - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, where != NONE); - _copy_props_wo_key(where, src, node); - duplicate_children(src, node, where, last_child(where)); -} - -//----------------------------------------------------------------------------- -size_t Tree::duplicate_children_no_rep(size_t node, size_t parent, size_t after) -{ - return duplicate_children_no_rep(this, node, parent, after); -} - -size_t Tree::duplicate_children_no_rep(Tree const *src, size_t node, size_t parent, size_t after) -{ - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, parent != NONE); - _RYML_CB_ASSERT(m_callbacks, after == NONE || has_child(parent, after)); - - // don't loop using pointers as there may be a relocation - - // find the position where "after" is - size_t after_pos = NONE; - if(after != NONE) - { - for(size_t i = first_child(parent), icount = 0; i != NONE; ++icount, i = next_sibling(i)) - { - if(i == after) - { - after_pos = icount; - break; - } - } - _RYML_CB_ASSERT(m_callbacks, after_pos != NONE); - } - - // for each child to be duplicated... - size_t prev = after; - for(size_t i = src->first_child(node), icount = 0; i != NONE; ++icount, i = src->next_sibling(i)) - { - if(is_seq(parent)) - { - prev = duplicate(i, parent, prev); - } - else - { - _RYML_CB_ASSERT(m_callbacks, is_map(parent)); - // does the parent already have a node with key equal to that of the current duplicate? - size_t rep = NONE, rep_pos = NONE; - for(size_t j = first_child(parent), jcount = 0; j != NONE; ++jcount, j = next_sibling(j)) - { - if(key(j) == key(i)) - { - rep = j; - rep_pos = jcount; - break; - } - } - if(rep == NONE) // there is no repetition; just duplicate - { - prev = duplicate(src, i, parent, prev); - } - else // yes, there is a repetition - { - if(after_pos != NONE && rep_pos < after_pos) - { - // rep is located before the node which will be inserted, - // and will be overridden by the duplicate. So replace it. - remove(rep); - prev = duplicate(src, i, parent, prev); - } - else if(prev == NONE) - { - // first iteration with prev = after = NONE and repetition - prev = rep; - } - else if(rep != prev) - { - // rep is located after the node which will be inserted - // and overrides it. So move the rep into this node's place. - move(rep, prev); - prev = rep; - } - } // there's a repetition - } - } - - return prev; -} - - -//----------------------------------------------------------------------------- - -void Tree::merge_with(Tree const *src, size_t src_node, size_t dst_node) -{ - _RYML_CB_ASSERT(m_callbacks, src != nullptr); - if(src_node == NONE) - src_node = src->root_id(); - if(dst_node == NONE) - dst_node = root_id(); - _RYML_CB_ASSERT(m_callbacks, src->has_val(src_node) || src->is_seq(src_node) || src->is_map(src_node)); - - if(src->has_val(src_node)) - { - if( ! has_val(dst_node)) - { - if(has_children(dst_node)) - remove_children(dst_node); - } - if(src->is_keyval(src_node)) - _copy_props(dst_node, src, src_node); - else if(src->is_val(src_node)) - _copy_props_wo_key(dst_node, src, src_node); - else - C4_NEVER_REACH(); - } - else if(src->is_seq(src_node)) - { - if( ! is_seq(dst_node)) - { - if(has_children(dst_node)) - remove_children(dst_node); - _clear_type(dst_node); - if(src->has_key(src_node)) - to_seq(dst_node, src->key(src_node)); - else - to_seq(dst_node); - } - for(size_t sch = src->first_child(src_node); sch != NONE; sch = src->next_sibling(sch)) - { - size_t dch = append_child(dst_node); - _copy_props_wo_key(dch, src, sch); - merge_with(src, sch, dch); - } - } - else if(src->is_map(src_node)) - { - if( ! is_map(dst_node)) - { - if(has_children(dst_node)) - remove_children(dst_node); - _clear_type(dst_node); - if(src->has_key(src_node)) - to_map(dst_node, src->key(src_node)); - else - to_map(dst_node); - } - for(size_t sch = src->first_child(src_node); sch != NONE; sch = src->next_sibling(sch)) - { - size_t dch = find_child(dst_node, src->key(sch)); - if(dch == NONE) - { - dch = append_child(dst_node); - _copy_props(dch, src, sch); - } - merge_with(src, sch, dch); - } - } - else - { - C4_NEVER_REACH(); - } -} - - -//----------------------------------------------------------------------------- - -namespace detail { -/** @todo make this part of the public API, refactoring as appropriate - * to be able to use the same resolver to handle multiple trees (one - * at a time) */ -struct ReferenceResolver -{ - struct refdata - { - NodeType type; - size_t node; - size_t prev_anchor; - size_t target; - size_t parent_ref; - size_t parent_ref_sibling; - }; - - Tree *t; - /** from the specs: "an alias node refers to the most recent - * node in the serialization having the specified anchor". So - * we need to start looking upward from ref nodes. - * - * @see http://yaml.org/spec/1.2/spec.html#id2765878 */ - stack refs; - - ReferenceResolver(Tree *t_) : t(t_), refs(t_->callbacks()) - { - resolve(); - } - - void store_anchors_and_refs() - { - // minimize (re-)allocations by counting first - size_t num_anchors_and_refs = count_anchors_and_refs(t->root_id()); - if(!num_anchors_and_refs) - return; - refs.reserve(num_anchors_and_refs); - - // now descend through the hierarchy - _store_anchors_and_refs(t->root_id()); - - // finally connect the reference list - size_t prev_anchor = npos; - size_t count = 0; - for(auto &rd : refs) - { - rd.prev_anchor = prev_anchor; - if(rd.type.is_anchor()) - prev_anchor = count; - ++count; - } - } - - size_t count_anchors_and_refs(size_t n) - { - size_t c = 0; - c += t->has_key_anchor(n); - c += t->has_val_anchor(n); - c += t->is_key_ref(n); - c += t->is_val_ref(n); - for(size_t ch = t->first_child(n); ch != NONE; ch = t->next_sibling(ch)) - c += count_anchors_and_refs(ch); - return c; - } - - void _store_anchors_and_refs(size_t n) - { - if(t->is_key_ref(n) || t->is_val_ref(n) || (t->has_key(n) && t->key(n) == "<<")) - { - if(t->is_seq(n)) - { - // for merging multiple inheritance targets - // <<: [ *CENTER, *BIG ] - for(size_t ich = t->first_child(n); ich != NONE; ich = t->next_sibling(ich)) - { - RYML_ASSERT(t->num_children(ich) == 0); - refs.push({VALREF, ich, npos, npos, n, t->next_sibling(n)}); - } - return; - } - if(t->is_key_ref(n) && t->key(n) != "<<") // insert key refs BEFORE inserting val refs - { - RYML_CHECK((!t->has_key(n)) || t->key(n).ends_with(t->key_ref(n))); - refs.push({KEYREF, n, npos, npos, NONE, NONE}); - } - if(t->is_val_ref(n)) - { - RYML_CHECK((!t->has_val(n)) || t->val(n).ends_with(t->val_ref(n))); - refs.push({VALREF, n, npos, npos, NONE, NONE}); - } - } - if(t->has_key_anchor(n)) - { - RYML_CHECK(t->has_key(n)); - refs.push({KEYANCH, n, npos, npos, NONE, NONE}); - } - if(t->has_val_anchor(n)) - { - RYML_CHECK(t->has_val(n) || t->is_container(n)); - refs.push({VALANCH, n, npos, npos, NONE, NONE}); - } - for(size_t ch = t->first_child(n); ch != NONE; ch = t->next_sibling(ch)) - { - _store_anchors_and_refs(ch); - } - } - - size_t lookup_(refdata *C4_RESTRICT ra) - { - RYML_ASSERT(ra->type.is_key_ref() || ra->type.is_val_ref()); - RYML_ASSERT(ra->type.is_key_ref() != ra->type.is_val_ref()); - csubstr refname; - if(ra->type.is_val_ref()) - { - refname = t->val_ref(ra->node); - } - else - { - RYML_ASSERT(ra->type.is_key_ref()); - refname = t->key_ref(ra->node); - } - while(ra->prev_anchor != npos) - { - ra = &refs[ra->prev_anchor]; - if(t->has_anchor(ra->node, refname)) - return ra->node; - } - - #ifndef RYML_ERRMSG_SIZE - #define RYML_ERRMSG_SIZE 1024 - #endif - - char errmsg[RYML_ERRMSG_SIZE]; - snprintf(errmsg, RYML_ERRMSG_SIZE, "anchor does not exist: '%.*s'", - static_cast(refname.size()), refname.data()); - c4::yml::error(errmsg); - return NONE; - } - - void resolve() - { - store_anchors_and_refs(); - if(refs.empty()) - return; - - /* from the specs: "an alias node refers to the most recent - * node in the serialization having the specified anchor". So - * we need to start looking upward from ref nodes. - * - * @see http://yaml.org/spec/1.2/spec.html#id2765878 */ - for(size_t i = 0, e = refs.size(); i < e; ++i) - { - auto &C4_RESTRICT rd = refs.top(i); - if( ! rd.type.is_ref()) - continue; - rd.target = lookup_(&rd); - } - } - -}; // ReferenceResolver -} // namespace detail - -void Tree::resolve() -{ - if(m_size == 0) - return; - - detail::ReferenceResolver rr(this); - - // insert the resolved references - size_t prev_parent_ref = NONE; - size_t prev_parent_ref_after = NONE; - for(auto const& C4_RESTRICT rd : rr.refs) - { - if( ! rd.type.is_ref()) - continue; - if(rd.parent_ref != NONE) - { - _RYML_CB_ASSERT(m_callbacks, is_seq(rd.parent_ref)); - size_t after, p = parent(rd.parent_ref); - if(prev_parent_ref != rd.parent_ref) - { - after = rd.parent_ref;//prev_sibling(rd.parent_ref_sibling); - prev_parent_ref_after = after; - } - else - { - after = prev_parent_ref_after; - } - prev_parent_ref = rd.parent_ref; - prev_parent_ref_after = duplicate_children_no_rep(rd.target, p, after); - remove(rd.node); - } - else - { - if(has_key(rd.node) && is_key_ref(rd.node) && key(rd.node) == "<<") - { - _RYML_CB_ASSERT(m_callbacks, is_keyval(rd.node)); - size_t p = parent(rd.node); - size_t after = prev_sibling(rd.node); - duplicate_children_no_rep(rd.target, p, after); - remove(rd.node); - } - else if(rd.type.is_key_ref()) - { - _RYML_CB_ASSERT(m_callbacks, is_key_ref(rd.node)); - _RYML_CB_ASSERT(m_callbacks, has_key_anchor(rd.target) || has_val_anchor(rd.target)); - if(has_val_anchor(rd.target) && val_anchor(rd.target) == key_ref(rd.node)) - { - _RYML_CB_CHECK(m_callbacks, !is_container(rd.target)); - _RYML_CB_CHECK(m_callbacks, has_val(rd.target)); - _p(rd.node)->m_key.scalar = val(rd.target); - _add_flags(rd.node, KEY); - } - else - { - _RYML_CB_CHECK(m_callbacks, key_anchor(rd.target) == key_ref(rd.node)); - _p(rd.node)->m_key.scalar = key(rd.target); - _add_flags(rd.node, VAL); - } - } - else - { - _RYML_CB_ASSERT(m_callbacks, rd.type.is_val_ref()); - if(has_key_anchor(rd.target) && key_anchor(rd.target) == val_ref(rd.node)) - { - _RYML_CB_CHECK(m_callbacks, !is_container(rd.target)); - _RYML_CB_CHECK(m_callbacks, has_val(rd.target)); - _p(rd.node)->m_val.scalar = key(rd.target); - _add_flags(rd.node, VAL); - } - else - { - duplicate_contents(rd.target, rd.node); - } - } - } - } - - // clear anchors and refs - for(auto const& C4_RESTRICT ar : rr.refs) - { - rem_anchor_ref(ar.node); - if(ar.parent_ref != NONE) - if(type(ar.parent_ref) != NOTYPE) - remove(ar.parent_ref); - } - -} - -//----------------------------------------------------------------------------- - -size_t Tree::num_children(size_t node) const -{ - size_t count = 0; - for(size_t i = first_child(node); i != NONE; i = next_sibling(i)) - ++count; - return count; -} - -size_t Tree::child(size_t node, size_t pos) const -{ - _RYML_CB_ASSERT(m_callbacks, node != NONE); - size_t count = 0; - for(size_t i = first_child(node); i != NONE; i = next_sibling(i)) - { - if(count++ == pos) - return i; - } - return NONE; -} - -size_t Tree::child_pos(size_t node, size_t ch) const -{ - size_t count = 0; - for(size_t i = first_child(node); i != NONE; i = next_sibling(i)) - { - if(i == ch) - return count; - ++count; - } - return npos; -} - -#if defined(__clang__) -# pragma clang diagnostic push -# pragma GCC diagnostic ignored "-Wnull-dereference" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# if __GNUC__ >= 6 -# pragma GCC diagnostic ignored "-Wnull-dereference" -# endif -#endif - -size_t Tree::find_child(size_t node, csubstr const& name) const -{ - _RYML_CB_ASSERT(m_callbacks, node != NONE); - _RYML_CB_ASSERT(m_callbacks, is_map(node)); - if(get(node)->m_first_child == NONE) - { - _RYML_CB_ASSERT(m_callbacks, _p(node)->m_last_child == NONE); - return NONE; - } - else - { - _RYML_CB_ASSERT(m_callbacks, _p(node)->m_last_child != NONE); - } - for(size_t i = first_child(node); i != NONE; i = next_sibling(i)) - { - if(_p(i)->m_key.scalar == name) - { - return i; - } - } - return NONE; -} - -#if defined(__clang__) -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - - -//----------------------------------------------------------------------------- - -void Tree::to_val(size_t node, csubstr val, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _RYML_CB_ASSERT(m_callbacks, parent(node) == NONE || ! parent_is_map(node)); - _set_flags(node, VAL|more_flags); - _p(node)->m_key.clear(); - _p(node)->m_val = val; -} - -void Tree::to_keyval(size_t node, csubstr key, csubstr val, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _RYML_CB_ASSERT(m_callbacks, parent(node) == NONE || parent_is_map(node)); - _set_flags(node, KEYVAL|more_flags); - _p(node)->m_key = key; - _p(node)->m_val = val; -} - -void Tree::to_map(size_t node, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _RYML_CB_ASSERT(m_callbacks, parent(node) == NONE || ! parent_is_map(node)); // parent must not have children with keys - _set_flags(node, MAP|more_flags); - _p(node)->m_key.clear(); - _p(node)->m_val.clear(); -} - -void Tree::to_map(size_t node, csubstr key, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _RYML_CB_ASSERT(m_callbacks, parent(node) == NONE || parent_is_map(node)); - _set_flags(node, KEY|MAP|more_flags); - _p(node)->m_key = key; - _p(node)->m_val.clear(); -} - -void Tree::to_seq(size_t node, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _RYML_CB_ASSERT(m_callbacks, parent(node) == NONE || parent_is_seq(node)); - _set_flags(node, SEQ|more_flags); - _p(node)->m_key.clear(); - _p(node)->m_val.clear(); -} - -void Tree::to_seq(size_t node, csubstr key, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _RYML_CB_ASSERT(m_callbacks, parent(node) == NONE || parent_is_map(node)); - _set_flags(node, KEY|SEQ|more_flags); - _p(node)->m_key = key; - _p(node)->m_val.clear(); -} - -void Tree::to_doc(size_t node, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _set_flags(node, DOC|more_flags); - _p(node)->m_key.clear(); - _p(node)->m_val.clear(); -} - -void Tree::to_stream(size_t node, type_bits more_flags) -{ - _RYML_CB_ASSERT(m_callbacks, ! has_children(node)); - _set_flags(node, STREAM|more_flags); - _p(node)->m_key.clear(); - _p(node)->m_val.clear(); -} - - -//----------------------------------------------------------------------------- -size_t Tree::num_tag_directives() const -{ - // this assumes we have a very small number of tag directives - for(size_t i = 0; i < RYML_MAX_TAG_DIRECTIVES; ++i) - if(m_tag_directives[i].handle.empty()) - return i; - return RYML_MAX_TAG_DIRECTIVES; -} - -void Tree::clear_tag_directives() -{ - for(TagDirective &td : m_tag_directives) - td = {}; -} - -size_t Tree::add_tag_directive(TagDirective const& td) -{ - _RYML_CB_CHECK(m_callbacks, !td.handle.empty()); - _RYML_CB_CHECK(m_callbacks, !td.prefix.empty()); - _RYML_CB_ASSERT(m_callbacks, td.handle.begins_with('!')); - _RYML_CB_ASSERT(m_callbacks, td.handle.ends_with('!')); - // https://yaml.org/spec/1.2.2/#rule-ns-word-char - _RYML_CB_ASSERT(m_callbacks, td.handle == '!' || td.handle == "!!" || td.handle.trim('!').first_not_of("01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-") == npos); - size_t pos = num_tag_directives(); - _RYML_CB_CHECK(m_callbacks, pos < RYML_MAX_TAG_DIRECTIVES); - m_tag_directives[pos] = td; - return pos; -} - -size_t Tree::resolve_tag(substr output, csubstr tag, size_t node_id) const -{ - // lookup from the end. We want to find the first directive that - // matches the tag and has a target node id leq than the given - // node_id. - for(size_t i = RYML_MAX_TAG_DIRECTIVES-1; i != (size_t)-1; --i) - { - auto const& td = m_tag_directives[i]; - if(td.handle.empty()) - continue; - if(tag.begins_with(td.handle) && td.next_node_id <= node_id) - { - _RYML_CB_ASSERT(m_callbacks, tag.len >= td.handle.len); - csubstr rest = tag.sub(td.handle.len); - size_t len = 1u + td.prefix.len + rest.len + 1u; - size_t numpc = rest.count('%'); - if(numpc == 0) - { - if(len <= output.len) - { - output.str[0] = '<'; - memcpy(1u + output.str, td.prefix.str, td.prefix.len); - memcpy(1u + output.str + td.prefix.len, rest.str, rest.len); - output.str[1u + td.prefix.len + rest.len] = '>'; - } - } - else - { - // need to decode URI % sequences - size_t pos = rest.find('%'); - _RYML_CB_ASSERT(m_callbacks, pos != npos); - do { - size_t next = rest.first_not_of("0123456789abcdefABCDEF", pos+1); - if(next == npos) - next = rest.len; - _RYML_CB_CHECK(m_callbacks, pos+1 < next); - _RYML_CB_CHECK(m_callbacks, pos+1 + 2 <= next); - size_t delta = next - (pos+1); - len -= delta; - pos = rest.find('%', pos+1); - } while(pos != npos); - if(len <= output.len) - { - size_t prev = 0, wpos = 0; - auto appendstr = [&](csubstr s) { memcpy(output.str + wpos, s.str, s.len); wpos += s.len; }; - auto appendchar = [&](char c) { output.str[wpos++] = c; }; - appendchar('<'); - appendstr(td.prefix); - pos = rest.find('%'); - _RYML_CB_ASSERT(m_callbacks, pos != npos); - do { - size_t next = rest.first_not_of("0123456789abcdefABCDEF", pos+1); - if(next == npos) - next = rest.len; - _RYML_CB_CHECK(m_callbacks, pos+1 < next); - _RYML_CB_CHECK(m_callbacks, pos+1 + 2 <= next); - uint8_t val; - if(C4_UNLIKELY(!read_hex(rest.range(pos+1, next), &val) || val > 127)) - _RYML_CB_ERR(m_callbacks, "invalid URI character"); - appendstr(rest.range(prev, pos)); - appendchar((char)val); - prev = next; - pos = rest.find('%', pos+1); - } while(pos != npos); - _RYML_CB_ASSERT(m_callbacks, pos == npos); - _RYML_CB_ASSERT(m_callbacks, prev > 0); - _RYML_CB_ASSERT(m_callbacks, rest.len >= prev); - appendstr(rest.sub(prev)); - appendchar('>'); - _RYML_CB_ASSERT(m_callbacks, wpos == len); - } - } - return len; - } - } - return 0; // return 0 to signal that the tag is local and cannot be resolved -} - -namespace { -csubstr _transform_tag(Tree *t, csubstr tag, size_t node) -{ - size_t required_size = t->resolve_tag(substr{}, tag, node); - if(!required_size) - return tag; - const char *prev_arena = t->arena().str; - substr buf = t->alloc_arena(required_size); - _RYML_CB_ASSERT(t->m_callbacks, t->arena().str == prev_arena); - size_t actual_size = t->resolve_tag(buf, tag, node); - _RYML_CB_ASSERT(t->m_callbacks, actual_size <= required_size); - return buf.first(actual_size); -} -void _resolve_tags(Tree *t, size_t node) -{ - for(size_t child = t->first_child(node); child != NONE; child = t->next_sibling(child)) - { - if(t->has_key(child) && t->has_key_tag(child)) - t->set_key_tag(child, _transform_tag(t, t->key_tag(child), child)); - if(t->has_val(child) && t->has_val_tag(child)) - t->set_val_tag(child, _transform_tag(t, t->val_tag(child), child)); - _resolve_tags(t, child); - } -} -size_t _count_resolved_tags_size(Tree const* t, size_t node) -{ - size_t sz = 0; - for(size_t child = t->first_child(node); child != NONE; child = t->next_sibling(child)) - { - if(t->has_key(child) && t->has_key_tag(child)) - sz += t->resolve_tag(substr{}, t->key_tag(child), child); - if(t->has_val(child) && t->has_val_tag(child)) - sz += t->resolve_tag(substr{}, t->val_tag(child), child); - sz += _count_resolved_tags_size(t, child); - } - return sz; -} -} // namespace - -void Tree::resolve_tags() -{ - if(empty()) - return; - if(num_tag_directives() == 0) - return; - size_t needed_size = _count_resolved_tags_size(this, root_id()); - if(needed_size) - reserve_arena(arena_size() + needed_size); - _resolve_tags(this, root_id()); -} - - -//----------------------------------------------------------------------------- - -csubstr Tree::lookup_result::resolved() const -{ - csubstr p = path.first(path_pos); - if(p.ends_with('.')) - p = p.first(p.len-1); - return p; -} - -csubstr Tree::lookup_result::unresolved() const -{ - return path.sub(path_pos); -} - -void Tree::_advance(lookup_result *r, size_t more) const -{ - r->path_pos += more; - if(r->path.sub(r->path_pos).begins_with('.')) - ++r->path_pos; -} - -Tree::lookup_result Tree::lookup_path(csubstr path, size_t start) const -{ - if(start == NONE) - start = root_id(); - lookup_result r(path, start); - if(path.empty()) - return r; - _lookup_path(&r); - if(r.target == NONE && r.closest == start) - r.closest = NONE; - return r; -} - -size_t Tree::lookup_path_or_modify(csubstr default_value, csubstr path, size_t start) -{ - size_t target = _lookup_path_or_create(path, start); - if(parent_is_map(target)) - to_keyval(target, key(target), default_value); - else - to_val(target, default_value); - return target; -} - -size_t Tree::lookup_path_or_modify(Tree const *src, size_t src_node, csubstr path, size_t start) -{ - size_t target = _lookup_path_or_create(path, start); - merge_with(src, src_node, target); - return target; -} - -size_t Tree::_lookup_path_or_create(csubstr path, size_t start) -{ - if(start == NONE) - start = root_id(); - lookup_result r(path, start); - _lookup_path(&r); - if(r.target != NONE) - { - C4_ASSERT(r.unresolved().empty()); - return r.target; - } - _lookup_path_modify(&r); - return r.target; -} - -void Tree::_lookup_path(lookup_result *r) const -{ - C4_ASSERT( ! r->unresolved().empty()); - _lookup_path_token parent{"", type(r->closest)}; - size_t node; - do - { - node = _next_node(r, &parent); - if(node != NONE) - r->closest = node; - if(r->unresolved().empty()) - { - r->target = node; - return; - } - } while(node != NONE); -} - -void Tree::_lookup_path_modify(lookup_result *r) -{ - C4_ASSERT( ! r->unresolved().empty()); - _lookup_path_token parent{"", type(r->closest)}; - size_t node; - do - { - node = _next_node_modify(r, &parent); - if(node != NONE) - r->closest = node; - if(r->unresolved().empty()) - { - r->target = node; - return; - } - } while(node != NONE); -} - -size_t Tree::_next_node(lookup_result * r, _lookup_path_token *parent) const -{ - _lookup_path_token token = _next_token(r, *parent); - if( ! token) - return NONE; - - size_t node = NONE; - csubstr prev = token.value; - if(token.type == MAP || token.type == SEQ) - { - _RYML_CB_ASSERT(m_callbacks, !token.value.begins_with('[')); - //_RYML_CB_ASSERT(m_callbacks, is_container(r->closest) || r->closest == NONE); - _RYML_CB_ASSERT(m_callbacks, is_map(r->closest)); - node = find_child(r->closest, token.value); - } - else if(token.type == KEYVAL) - { - _RYML_CB_ASSERT(m_callbacks, r->unresolved().empty()); - if(is_map(r->closest)) - node = find_child(r->closest, token.value); - } - else if(token.type == KEY) - { - _RYML_CB_ASSERT(m_callbacks, token.value.begins_with('[') && token.value.ends_with(']')); - token.value = token.value.offs(1, 1).trim(' '); - size_t idx = 0; - _RYML_CB_CHECK(m_callbacks, from_chars(token.value, &idx)); - node = child(r->closest, idx); - } - else - { - C4_NEVER_REACH(); - } - - if(node != NONE) - { - *parent = token; - } - else - { - csubstr p = r->path.sub(r->path_pos > 0 ? r->path_pos - 1 : r->path_pos); - r->path_pos -= prev.len; - if(p.begins_with('.')) - r->path_pos -= 1u; - } - - return node; -} - -size_t Tree::_next_node_modify(lookup_result * r, _lookup_path_token *parent) -{ - _lookup_path_token token = _next_token(r, *parent); - if( ! token) - return NONE; - - size_t node = NONE; - if(token.type == MAP || token.type == SEQ) - { - _RYML_CB_ASSERT(m_callbacks, !token.value.begins_with('[')); - //_RYML_CB_ASSERT(m_callbacks, is_container(r->closest) || r->closest == NONE); - if( ! is_container(r->closest)) - { - if(has_key(r->closest)) - to_map(r->closest, key(r->closest)); - else - to_map(r->closest); - } - else - { - if(is_map(r->closest)) - node = find_child(r->closest, token.value); - else - { - size_t pos = NONE; - _RYML_CB_CHECK(m_callbacks, c4::atox(token.value, &pos)); - _RYML_CB_ASSERT(m_callbacks, pos != NONE); - node = child(r->closest, pos); - } - } - if(node == NONE) - { - _RYML_CB_ASSERT(m_callbacks, is_map(r->closest)); - node = append_child(r->closest); - NodeData *n = _p(node); - n->m_key.scalar = token.value; - n->m_type.add(KEY); - } - } - else if(token.type == KEYVAL) - { - _RYML_CB_ASSERT(m_callbacks, r->unresolved().empty()); - if(is_map(r->closest)) - { - node = find_child(r->closest, token.value); - if(node == NONE) - node = append_child(r->closest); - } - else - { - _RYML_CB_ASSERT(m_callbacks, !is_seq(r->closest)); - _add_flags(r->closest, MAP); - node = append_child(r->closest); - } - NodeData *n = _p(node); - n->m_key.scalar = token.value; - n->m_val.scalar = ""; - n->m_type.add(KEYVAL); - } - else if(token.type == KEY) - { - _RYML_CB_ASSERT(m_callbacks, token.value.begins_with('[') && token.value.ends_with(']')); - token.value = token.value.offs(1, 1).trim(' '); - size_t idx; - if( ! from_chars(token.value, &idx)) - return NONE; - if( ! is_container(r->closest)) - { - if(has_key(r->closest)) - { - csubstr k = key(r->closest); - _clear_type(r->closest); - to_seq(r->closest, k); - } - else - { - _clear_type(r->closest); - to_seq(r->closest); - } - } - _RYML_CB_ASSERT(m_callbacks, is_container(r->closest)); - node = child(r->closest, idx); - if(node == NONE) - { - _RYML_CB_ASSERT(m_callbacks, num_children(r->closest) <= idx); - for(size_t i = num_children(r->closest); i <= idx; ++i) - { - node = append_child(r->closest); - if(i < idx) - { - if(is_map(r->closest)) - to_keyval(node, /*"~"*/{}, /*"~"*/{}); - else if(is_seq(r->closest)) - to_val(node, /*"~"*/{}); - } - } - } - } - else - { - C4_NEVER_REACH(); - } - - _RYML_CB_ASSERT(m_callbacks, node != NONE); - *parent = token; - return node; -} - -/** types of tokens: - * - seeing "map." ---> "map"/MAP - * - finishing "scalar" ---> "scalar"/KEYVAL - * - seeing "seq[n]" ---> "seq"/SEQ (--> "[n]"/KEY) - * - seeing "[n]" ---> "[n]"/KEY - */ -Tree::_lookup_path_token Tree::_next_token(lookup_result *r, _lookup_path_token const& parent) const -{ - csubstr unres = r->unresolved(); - if(unres.empty()) - return {}; - - // is it an indexation like [0], [1], etc? - if(unres.begins_with('[')) - { - size_t pos = unres.find(']'); - if(pos == csubstr::npos) - return {}; - csubstr idx = unres.first(pos + 1); - _advance(r, pos + 1); - return {idx, KEY}; - } - - // no. so it must be a name - size_t pos = unres.first_of(".["); - if(pos == csubstr::npos) - { - _advance(r, unres.len); - NodeType t; - if(( ! parent) || parent.type.is_seq()) - return {unres, VAL}; - return {unres, KEYVAL}; - } - - // it's either a map or a seq - _RYML_CB_ASSERT(m_callbacks, unres[pos] == '.' || unres[pos] == '['); - if(unres[pos] == '.') - { - _RYML_CB_ASSERT(m_callbacks, pos != 0); - _advance(r, pos + 1); - return {unres.first(pos), MAP}; - } - - _RYML_CB_ASSERT(m_callbacks, unres[pos] == '['); - _advance(r, pos); - return {unres.first(pos), SEQ}; -} - - -} // namespace ryml -} // namespace c4 - - -C4_SUPPRESS_WARNING_GCC_POP -C4_SUPPRESS_WARNING_MSVC_POP - -#endif /* RYML_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/tree.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/parse.cpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/parse.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef RYML_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/parse.hpp -//#include "c4/yml/parse.hpp" -#if !defined(C4_YML_PARSE_HPP_) && !defined(_C4_YML_PARSE_HPP_) -#error "amalgamate: file c4/yml/parse.hpp must have been included at this point" -#endif /* C4_YML_PARSE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/error.hpp -//#include "c4/error.hpp" -#if !defined(C4_ERROR_HPP_) && !defined(_C4_ERROR_HPP_) -#error "amalgamate: file c4/error.hpp must have been included at this point" -#endif /* C4_ERROR_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/utf.hpp -//#include "c4/utf.hpp" -#if !defined(C4_UTF_HPP_) && !defined(_C4_UTF_HPP_) -#error "amalgamate: file c4/utf.hpp must have been included at this point" -#endif /* C4_UTF_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/dump.hpp -//#include -#if !defined(C4_DUMP_HPP_) && !defined(_C4_DUMP_HPP_) -#error "amalgamate: file c4/dump.hpp must have been included at this point" -#endif /* C4_DUMP_HPP_ */ - - -//included above: -//#include -//included above: -//#include -//included above: -//#include - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/parser_dbg.hpp -//#include "c4/yml/detail/parser_dbg.hpp" -#if !defined(C4_YML_DETAIL_PARSER_DBG_HPP_) && !defined(_C4_YML_DETAIL_PARSER_DBG_HPP_) -#error "amalgamate: file c4/yml/detail/parser_dbg.hpp must have been included at this point" -#endif /* C4_YML_DETAIL_PARSER_DBG_HPP_ */ - -#ifdef RYML_DBG -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/print.hpp -//#include "c4/yml/detail/print.hpp" -#if !defined(C4_YML_DETAIL_PRINT_HPP_) && !defined(_C4_YML_DETAIL_PRINT_HPP_) -#error "amalgamate: file c4/yml/detail/print.hpp must have been included at this point" -#endif /* C4_YML_DETAIL_PRINT_HPP_ */ - -#endif - -#ifndef RYML_ERRMSG_SIZE - #define RYML_ERRMSG_SIZE 1024 -#endif - -//#define RYML_WITH_TAB_TOKENS -#ifdef RYML_WITH_TAB_TOKENS -#define _RYML_WITH_TAB_TOKENS(...) __VA_ARGS__ -#define _RYML_WITH_OR_WITHOUT_TAB_TOKENS(with, without) with -#else -#define _RYML_WITH_TAB_TOKENS(...) -#define _RYML_WITH_OR_WITHOUT_TAB_TOKENS(with, without) without -#endif - - -#if defined(_MSC_VER) -# pragma warning(push) -# pragma warning(disable: 4296/*expression is always 'boolean_value'*/) -#elif defined(__clang__) -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wtype-limits" // to remove a warning on an assertion that a size_t >= 0. Later on, this size_t will turn into a template argument, and then it can become < 0. -# pragma clang diagnostic ignored "-Wformat-nonliteral" -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wtype-limits" // to remove a warning on an assertion that a size_t >= 0. Later on, this size_t will turn into a template argument, and then it can become < 0. -# pragma GCC diagnostic ignored "-Wformat-nonliteral" -# if __GNUC__ >= 7 -# pragma GCC diagnostic ignored "-Wduplicated-branches" -# endif -#endif - -namespace c4 { -namespace yml { - -namespace { - -template -void _parse_dump(DumpFn dumpfn, c4::csubstr fmt, Args&& ...args) -{ - char writebuf[256]; - auto results = c4::format_dump_resume(dumpfn, writebuf, fmt, std::forward(args)...); - // resume writing if the results failed to fit the buffer - if(C4_UNLIKELY(results.bufsize > sizeof(writebuf))) // bufsize will be that of the largest element serialized. Eg int(1), will require 1 byte. - { - results = format_dump_resume(dumpfn, results, writebuf, fmt, std::forward(args)...); - if(C4_UNLIKELY(results.bufsize > sizeof(writebuf))) - { - results = format_dump_resume(dumpfn, results, writebuf, fmt, std::forward(args)...); - } - } -} - -bool _is_scalar_next__runk(csubstr s) -{ - return !(s.begins_with(": ") || s.begins_with_any("#,{}[]%&") || s.begins_with("? ") || s == "-" || s.begins_with("- ") || s.begins_with(":\"") || s.begins_with(":'")); -} - -bool _is_scalar_next__rseq_rval(csubstr s) -{ - return !(s.begins_with_any("[{!&") || s.begins_with("? ") || s.begins_with("- ") || s == "-"); -} - -bool _is_scalar_next__rmap(csubstr s) -{ - return !(s.begins_with(": ") || s.begins_with_any("#,!&") || s.begins_with("? ") _RYML_WITH_TAB_TOKENS(|| s.begins_with(":\t"))); -} - -bool _is_scalar_next__rmap_val(csubstr s) -{ - return !(s.begins_with("- ") || s.begins_with_any("{[") || s == "-"); -} - -bool _is_doc_sep(csubstr s) -{ - constexpr const csubstr dashes = "---"; - constexpr const csubstr ellipsis = "..."; - constexpr const csubstr whitesp = " \t"; - if(s.begins_with(dashes)) - return s == dashes || s.sub(3).begins_with_any(whitesp); - else if(s.begins_with(ellipsis)) - return s == ellipsis || s.sub(3).begins_with_any(whitesp); - return false; -} - -/** @p i is set to the first non whitespace character after the line - * @return the number of empty lines after the initial position */ -size_t count_following_newlines(csubstr r, size_t *C4_RESTRICT i, size_t indentation) -{ - RYML_ASSERT(r[*i] == '\n'); - size_t numnl_following = 0; - ++(*i); - for( ; *i < r.len; ++(*i)) - { - if(r.str[*i] == '\n') - { - ++numnl_following; - if(indentation) // skip the indentation after the newline - { - size_t stop = *i + indentation; - for( ; *i < r.len; ++(*i)) - { - if(r.str[*i] != ' ' && r.str[*i] != '\r') - break; - RYML_ASSERT(*i < stop); - } - C4_UNUSED(stop); - } - } - else if(r.str[*i] == ' ' || r.str[*i] == '\t' || r.str[*i] == '\r') // skip leading whitespace - ; - else - break; - } - return numnl_following; -} - -} // anon namespace - - -//----------------------------------------------------------------------------- - -Parser::~Parser() -{ - _free(); - _clr(); -} - -Parser::Parser(Callbacks const& cb, ParserOptions opts) - : m_options(opts) - , m_file() - , m_buf() - , m_root_id(NONE) - , m_tree() - , m_stack(cb) - , m_state() - , m_key_tag_indentation(0) - , m_key_tag2_indentation(0) - , m_key_tag() - , m_key_tag2() - , m_val_tag_indentation(0) - , m_val_tag() - , m_key_anchor_was_before(false) - , m_key_anchor_indentation(0) - , m_key_anchor() - , m_val_anchor_indentation(0) - , m_val_anchor() - , m_filter_arena() - , m_newline_offsets() - , m_newline_offsets_size(0) - , m_newline_offsets_capacity(0) - , m_newline_offsets_buf() -{ - m_stack.push(State{}); - m_state = &m_stack.top(); -} - -Parser::Parser(Parser &&that) - : m_options(that.m_options) - , m_file(that.m_file) - , m_buf(that.m_buf) - , m_root_id(that.m_root_id) - , m_tree(that.m_tree) - , m_stack(std::move(that.m_stack)) - , m_state(&m_stack.top()) - , m_key_tag_indentation(that.m_key_tag_indentation) - , m_key_tag2_indentation(that.m_key_tag2_indentation) - , m_key_tag(that.m_key_tag) - , m_key_tag2(that.m_key_tag2) - , m_val_tag_indentation(that.m_val_tag_indentation) - , m_val_tag(that.m_val_tag) - , m_key_anchor_was_before(that.m_key_anchor_was_before) - , m_key_anchor_indentation(that.m_key_anchor_indentation) - , m_key_anchor(that.m_key_anchor) - , m_val_anchor_indentation(that.m_val_anchor_indentation) - , m_val_anchor(that.m_val_anchor) - , m_filter_arena(that.m_filter_arena) - , m_newline_offsets(that.m_newline_offsets) - , m_newline_offsets_size(that.m_newline_offsets_size) - , m_newline_offsets_capacity(that.m_newline_offsets_capacity) - , m_newline_offsets_buf(that.m_newline_offsets_buf) -{ - that._clr(); -} - -Parser::Parser(Parser const& that) - : m_options(that.m_options) - , m_file(that.m_file) - , m_buf(that.m_buf) - , m_root_id(that.m_root_id) - , m_tree(that.m_tree) - , m_stack(that.m_stack) - , m_state(&m_stack.top()) - , m_key_tag_indentation(that.m_key_tag_indentation) - , m_key_tag2_indentation(that.m_key_tag2_indentation) - , m_key_tag(that.m_key_tag) - , m_key_tag2(that.m_key_tag2) - , m_val_tag_indentation(that.m_val_tag_indentation) - , m_val_tag(that.m_val_tag) - , m_key_anchor_was_before(that.m_key_anchor_was_before) - , m_key_anchor_indentation(that.m_key_anchor_indentation) - , m_key_anchor(that.m_key_anchor) - , m_val_anchor_indentation(that.m_val_anchor_indentation) - , m_val_anchor(that.m_val_anchor) - , m_filter_arena() - , m_newline_offsets() - , m_newline_offsets_size() - , m_newline_offsets_capacity() - , m_newline_offsets_buf() -{ - if(that.m_newline_offsets_capacity) - { - _resize_locations(that.m_newline_offsets_capacity); - _RYML_CB_CHECK(m_stack.m_callbacks, m_newline_offsets_capacity == that.m_newline_offsets_capacity); - memcpy(m_newline_offsets, that.m_newline_offsets, that.m_newline_offsets_size * sizeof(size_t)); - m_newline_offsets_size = that.m_newline_offsets_size; - } - if(that.m_filter_arena.len) - { - _resize_filter_arena(that.m_filter_arena.len); - } -} - -Parser& Parser::operator=(Parser &&that) -{ - _free(); - m_options = (that.m_options); - m_file = (that.m_file); - m_buf = (that.m_buf); - m_root_id = (that.m_root_id); - m_tree = (that.m_tree); - m_stack = std::move(that.m_stack); - m_state = (&m_stack.top()); - m_key_tag_indentation = (that.m_key_tag_indentation); - m_key_tag2_indentation = (that.m_key_tag2_indentation); - m_key_tag = (that.m_key_tag); - m_key_tag2 = (that.m_key_tag2); - m_val_tag_indentation = (that.m_val_tag_indentation); - m_val_tag = (that.m_val_tag); - m_key_anchor_was_before = (that.m_key_anchor_was_before); - m_key_anchor_indentation = (that.m_key_anchor_indentation); - m_key_anchor = (that.m_key_anchor); - m_val_anchor_indentation = (that.m_val_anchor_indentation); - m_val_anchor = (that.m_val_anchor); - m_filter_arena = that.m_filter_arena; - m_newline_offsets = (that.m_newline_offsets); - m_newline_offsets_size = (that.m_newline_offsets_size); - m_newline_offsets_capacity = (that.m_newline_offsets_capacity); - m_newline_offsets_buf = (that.m_newline_offsets_buf); - that._clr(); - return *this; -} - -Parser& Parser::operator=(Parser const& that) -{ - _free(); - m_options = (that.m_options); - m_file = (that.m_file); - m_buf = (that.m_buf); - m_root_id = (that.m_root_id); - m_tree = (that.m_tree); - m_stack = that.m_stack; - m_state = &m_stack.top(); - m_key_tag_indentation = (that.m_key_tag_indentation); - m_key_tag2_indentation = (that.m_key_tag2_indentation); - m_key_tag = (that.m_key_tag); - m_key_tag2 = (that.m_key_tag2); - m_val_tag_indentation = (that.m_val_tag_indentation); - m_val_tag = (that.m_val_tag); - m_key_anchor_was_before = (that.m_key_anchor_was_before); - m_key_anchor_indentation = (that.m_key_anchor_indentation); - m_key_anchor = (that.m_key_anchor); - m_val_anchor_indentation = (that.m_val_anchor_indentation); - m_val_anchor = (that.m_val_anchor); - if(that.m_filter_arena.len > 0) - _resize_filter_arena(that.m_filter_arena.len); - if(that.m_newline_offsets_capacity > m_newline_offsets_capacity) - _resize_locations(that.m_newline_offsets_capacity); - _RYML_CB_CHECK(m_stack.m_callbacks, m_newline_offsets_capacity >= that.m_newline_offsets_capacity); - _RYML_CB_CHECK(m_stack.m_callbacks, m_newline_offsets_capacity >= that.m_newline_offsets_size); - memcpy(m_newline_offsets, that.m_newline_offsets, that.m_newline_offsets_size * sizeof(size_t)); - m_newline_offsets_size = that.m_newline_offsets_size; - m_newline_offsets_buf = that.m_newline_offsets_buf; - return *this; -} - -void Parser::_clr() -{ - m_options = {}; - m_file = {}; - m_buf = {}; - m_root_id = {}; - m_tree = {}; - m_stack.clear(); - m_state = {}; - m_key_tag_indentation = {}; - m_key_tag2_indentation = {}; - m_key_tag = {}; - m_key_tag2 = {}; - m_val_tag_indentation = {}; - m_val_tag = {}; - m_key_anchor_was_before = {}; - m_key_anchor_indentation = {}; - m_key_anchor = {}; - m_val_anchor_indentation = {}; - m_val_anchor = {}; - m_filter_arena = {}; - m_newline_offsets = {}; - m_newline_offsets_size = {}; - m_newline_offsets_capacity = {}; - m_newline_offsets_buf = {}; -} - -void Parser::_free() -{ - if(m_newline_offsets) - { - _RYML_CB_FREE(m_stack.m_callbacks, m_newline_offsets, size_t, m_newline_offsets_capacity); - m_newline_offsets = nullptr; - m_newline_offsets_size = 0u; - m_newline_offsets_capacity = 0u; - m_newline_offsets_buf = 0u; - } - if(m_filter_arena.len) - { - _RYML_CB_FREE(m_stack.m_callbacks, m_filter_arena.str, char, m_filter_arena.len); - m_filter_arena = {}; - } - m_stack._free(); -} - - -//----------------------------------------------------------------------------- -void Parser::_reset() -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_stack.size() == 1); - m_stack.clear(); - m_stack.push({}); - m_state = &m_stack.top(); - m_state->reset(m_file.str, m_root_id); - - m_key_tag_indentation = 0; - m_key_tag2_indentation = 0; - m_key_tag.clear(); - m_key_tag2.clear(); - m_val_tag_indentation = 0; - m_val_tag.clear(); - m_key_anchor_was_before = false; - m_key_anchor_indentation = 0; - m_key_anchor.clear(); - m_val_anchor_indentation = 0; - m_val_anchor.clear(); - - if(m_options.locations()) - { - _prepare_locations(); - } -} - -//----------------------------------------------------------------------------- -template -void Parser::_fmt_msg(DumpFn &&dumpfn) const -{ - auto const& lc = m_state->line_contents; - csubstr contents = lc.stripped; - if(contents.len) - { - // print the yaml src line - size_t offs = 3u + to_chars(substr{}, m_state->pos.line) + to_chars(substr{}, m_state->pos.col); - if(m_file.len) - { - _parse_dump(dumpfn, "{}:", m_file); - offs += m_file.len + 1; - } - _parse_dump(dumpfn, "{}:{}: ", m_state->pos.line, m_state->pos.col); - csubstr maybe_full_content = (contents.len < 80u ? contents : contents.first(80u)); - csubstr maybe_ellipsis = (contents.len < 80u ? csubstr{} : csubstr("...")); - _parse_dump(dumpfn, "{}{} (size={})\n", maybe_full_content, maybe_ellipsis, contents.len); - // highlight the remaining portion of the previous line - size_t firstcol = (size_t)(lc.rem.begin() - lc.full.begin()); - size_t lastcol = firstcol + lc.rem.len; - for(size_t i = 0; i < offs + firstcol; ++i) - dumpfn(" "); - dumpfn("^"); - for(size_t i = 1, e = (lc.rem.len < 80u ? lc.rem.len : 80u); i < e; ++i) - dumpfn("~"); - _parse_dump(dumpfn, "{} (cols {}-{})\n", maybe_ellipsis, firstcol+1, lastcol+1); - } - else - { - dumpfn("\n"); - } - -#ifdef RYML_DBG - // next line: print the state flags - { - char flagbuf_[64]; - _parse_dump(dumpfn, "top state: {}\n", _prfl(flagbuf_, m_state->flags)); - } -#endif -} - - -//----------------------------------------------------------------------------- -template -void Parser::_err(csubstr fmt, Args const& C4_RESTRICT ...args) const -{ - char errmsg[RYML_ERRMSG_SIZE]; - detail::_SubstrWriter writer(errmsg); - auto dumpfn = [&writer](csubstr s){ writer.append(s); }; - _parse_dump(dumpfn, fmt, args...); - writer.append('\n'); - _fmt_msg(dumpfn); - size_t len = writer.pos < RYML_ERRMSG_SIZE ? writer.pos : RYML_ERRMSG_SIZE; - m_tree->m_callbacks.m_error(errmsg, len, m_state->pos, m_tree->m_callbacks.m_user_data); -} - -//----------------------------------------------------------------------------- -#ifdef RYML_DBG -template -void Parser::_dbg(csubstr fmt, Args const& C4_RESTRICT ...args) const -{ - auto dumpfn = [](csubstr s){ fwrite(s.str, 1, s.len, stdout); }; - _parse_dump(dumpfn, fmt, args...); - dumpfn("\n"); - _fmt_msg(dumpfn); -} -#endif - -//----------------------------------------------------------------------------- -bool Parser::_finished_file() const -{ - bool ret = m_state->pos.offset >= m_buf.len; - if(ret) - { - _c4dbgp("finished file!!!"); - } - return ret; -} - -//----------------------------------------------------------------------------- -bool Parser::_finished_line() const -{ - return m_state->line_contents.rem.empty(); -} - -//----------------------------------------------------------------------------- -void Parser::parse_in_place(csubstr file, substr buf, Tree *t, size_t node_id) -{ - m_file = file; - m_buf = buf; - m_root_id = node_id; - m_tree = t; - _reset(); - while( ! _finished_file()) - { - _scan_line(); - while( ! _finished_line()) - _handle_line(); - if(_finished_file()) - break; // it may have finished because of multiline blocks - _line_ended(); - } - _handle_finished_file(); -} - -//----------------------------------------------------------------------------- -void Parser::_handle_finished_file() -{ - _end_stream(); -} - -//----------------------------------------------------------------------------- -void Parser::_handle_line() -{ - _c4dbgq("\n-----------"); - _c4dbgt("handling line={}, offset={}B", m_state->pos.line, m_state->pos.offset); - _RYML_CB_ASSERT(m_stack.m_callbacks, ! m_state->line_contents.rem.empty()); - if(has_any(RSEQ)) - { - if(has_any(FLOW)) - { - if(_handle_seq_flow()) - return; - } - else - { - if(_handle_seq_blck()) - return; - } - } - else if(has_any(RMAP)) - { - if(has_any(FLOW)) - { - if(_handle_map_flow()) - return; - } - else - { - if(_handle_map_blck()) - return; - } - } - else if(has_any(RUNK)) - { - if(_handle_unk()) - return; - } - - if(_handle_top()) - return; -} - - -//----------------------------------------------------------------------------- -bool Parser::_handle_unk() -{ - _c4dbgp("handle_unk"); - - csubstr rem = m_state->line_contents.rem; - const bool start_as_child = (node(m_state) == nullptr); - - if(C4_UNLIKELY(has_any(NDOC))) - { - if(rem == "---" || rem.begins_with("--- ")) - { - _start_new_doc(rem); - return true; - } - auto trimmed = rem.triml(' '); - if(trimmed == "---" || trimmed.begins_with("--- ")) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, rem.len >= trimmed.len); - _line_progressed(rem.len - trimmed.len); - _start_new_doc(trimmed); - _save_indentation(); - return true; - } - else if(trimmed.begins_with("...")) - { - _end_stream(); - } - else if(trimmed.first_of("#%") == csubstr::npos) // neither a doc nor a tag - { - _c4dbgpf("starting implicit doc to accomodate unexpected tokens: '{}'", rem); - size_t indref = m_state->indref; - _push_level(); - _start_doc(); - _set_indentation(indref); - } - _RYML_CB_ASSERT(m_stack.m_callbacks, !trimmed.empty()); - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RNXT|RSEQ|RMAP)); - if(m_state->indref > 0) - { - csubstr ws = rem.left_of(rem.first_not_of(' ')); - if(m_state->indref <= ws.len) - { - _c4dbgpf("skipping base indentation of {}", m_state->indref); - _line_progressed(m_state->indref); - rem = rem.sub(m_state->indref); - } - } - - if(rem.begins_with("- ") _RYML_WITH_TAB_TOKENS( || rem.begins_with("-\t"))) - { - _c4dbgpf("it's a seq (as_child={})", start_as_child); - _move_key_anchor_to_val_anchor(); - _move_key_tag_to_val_tag(); - _push_level(); - _start_seq(start_as_child); - _save_indentation(); - _line_progressed(2); - return true; - } - else if(rem == '-') - { - _c4dbgpf("it's a seq (as_child={})", start_as_child); - _move_key_anchor_to_val_anchor(); - _move_key_tag_to_val_tag(); - _push_level(); - _start_seq(start_as_child); - _save_indentation(); - _line_progressed(1); - return true; - } - else if(rem.begins_with('[')) - { - _c4dbgpf("it's a seq, flow (as_child={})", start_as_child); - _move_key_anchor_to_val_anchor(); - _move_key_tag_to_val_tag(); - _push_level(/*explicit flow*/true); - _start_seq(start_as_child); - add_flags(FLOW); - _line_progressed(1); - return true; - } - else if(rem.begins_with('{')) - { - _c4dbgpf("it's a map, flow (as_child={})", start_as_child); - _move_key_anchor_to_val_anchor(); - _move_key_tag_to_val_tag(); - _push_level(/*explicit flow*/true); - _start_map(start_as_child); - addrem_flags(FLOW|RKEY, RVAL); - _line_progressed(1); - return true; - } - else if(rem.begins_with("? ")) - { - _c4dbgpf("it's a map (as_child={}) + this key is complex", start_as_child); - _move_key_anchor_to_val_anchor(); - _move_key_tag_to_val_tag(); - _push_level(); - _start_map(start_as_child); - addrem_flags(RKEY|QMRK, RVAL); - _save_indentation(); - _line_progressed(2); - return true; - } - else if(rem.begins_with(": ") && !has_all(SSCL)) - { - _c4dbgp("it's a map with an empty key"); - _move_key_anchor_to_val_anchor(); - _move_key_tag_to_val_tag(); - _push_level(); - _start_map(start_as_child); - _store_scalar_null(rem.str); - addrem_flags(RVAL, RKEY); - _save_indentation(); - _line_progressed(2); - return true; - } - else if(rem == ':' && !has_all(SSCL)) - { - _c4dbgp("it's a map with an empty key"); - _move_key_anchor_to_val_anchor(); - _move_key_tag_to_val_tag(); - _push_level(); - _start_map(start_as_child); - _store_scalar_null(rem.str); - addrem_flags(RVAL, RKEY); - _save_indentation(); - _line_progressed(1); - return true; - } - else if(_handle_types()) - { - return true; - } - else if(!rem.begins_with('*') && _handle_key_anchors_and_refs()) - { - return true; - } - else if(has_all(SSCL)) - { - _c4dbgpf("there's a stored scalar: '{}'", m_state->scalar); - - csubstr saved_scalar; - bool is_quoted; - if(_scan_scalar_unk(&saved_scalar, &is_quoted)) - { - rem = m_state->line_contents.rem; - _c4dbgpf("... and there's also a scalar next! '{}'", saved_scalar); - if(rem.begins_with_any(" \t")) - { - size_t n = rem.first_not_of(" \t"); - _c4dbgpf("skipping {} spaces/tabs", n); - rem = rem.sub(n); - _line_progressed(n); - } - } - - _c4dbgpf("rem='{}'", rem); - - if(rem.begins_with(", ")) - { - _c4dbgpf("got a ',' -- it's a seq (as_child={})", start_as_child); - _start_seq(start_as_child); - add_flags(FLOW); - _append_val(_consume_scalar()); - _line_progressed(2); - } - else if(rem.begins_with(',')) - { - _c4dbgpf("got a ',' -- it's a seq (as_child={})", start_as_child); - _start_seq(start_as_child); - add_flags(FLOW); - _append_val(_consume_scalar()); - _line_progressed(1); - } - else if(rem.begins_with(": ") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t"))) - { - _c4dbgpf("got a ': ' -- it's a map (as_child={})", start_as_child); - _start_map_unk(start_as_child); // wait for the val scalar to append the key-val pair - _line_progressed(2); - } - else if(rem == ":" || rem.begins_with(":\"") || rem.begins_with(":'")) - { - if(rem == ":") { _c4dbgpf("got a ':' -- it's a map (as_child={})", start_as_child); } - else { _c4dbgpf("got a '{}' -- it's a map (as_child={})", rem.first(2), start_as_child); } - _start_map_unk(start_as_child); // wait for the val scalar to append the key-val pair - _line_progressed(1); // advance only 1 - } - else if(rem.begins_with('}')) - { - if(!has_all(RMAP|FLOW)) - { - _c4err("invalid token: not reading a map"); - } - if(!has_all(SSCL)) - { - _c4err("no scalar stored"); - } - _append_key_val(saved_scalar); - _stop_map(); - _line_progressed(1); - } - else if(rem.begins_with("...")) - { - _c4dbgp("got stream end '...'"); - _end_stream(); - _line_progressed(3); - } - else if(rem.begins_with('#')) - { - _c4dbgpf("it's a comment: '{}'", rem); - _scan_comment(); - return true; - } - else if(_handle_key_anchors_and_refs()) - { - return true; - } - else if(rem.begins_with(" ") || rem.begins_with("\t")) - { - size_t n = rem.first_not_of(" \t"); - if(n == npos) - n = rem.len; - _c4dbgpf("has {} spaces/tabs, skip...", n); - _line_progressed(n); - return true; - } - else if(rem.empty()) - { - // nothing to do - } - else if(rem == "---" || rem.begins_with("--- ")) - { - _c4dbgp("caught ---: starting doc"); - _start_new_doc(rem); - return true; - } - else if(rem.begins_with('%')) - { - _c4dbgp("caught a directive: ignoring..."); - _line_progressed(rem.len); - return true; - } - else - { - _c4err("parse error"); - } - - if( ! saved_scalar.empty()) - { - _store_scalar(saved_scalar, is_quoted); - } - - return true; - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, ! has_any(SSCL)); - csubstr scalar; - size_t indentation = m_state->line_contents.indentation; // save - bool is_quoted; - if(_scan_scalar_unk(&scalar, &is_quoted)) - { - _c4dbgpf("got a {} scalar", is_quoted ? "quoted" : ""); - rem = m_state->line_contents.rem; - { - size_t first = rem.first_not_of(" \t"); - if(first && first != npos) - { - _c4dbgpf("skip {} whitespace characters", first); - _line_progressed(first); - rem = rem.sub(first); - } - } - _store_scalar(scalar, is_quoted); - if(rem.begins_with(": ") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t"))) - { - _c4dbgpf("got a ': ' next -- it's a map (as_child={})", start_as_child); - _push_level(); - _start_map(start_as_child); // wait for the val scalar to append the key-val pair - _set_indentation(indentation); - _line_progressed(2); // call this AFTER saving the indentation - } - else if(rem == ":") - { - _c4dbgpf("got a ':' next -- it's a map (as_child={})", start_as_child); - _push_level(); - _start_map(start_as_child); // wait for the val scalar to append the key-val pair - _set_indentation(indentation); - _line_progressed(1); // call this AFTER saving the indentation - } - else - { - // we still don't know whether it's a seq or a map - // so just store the scalar - } - return true; - } - else if(rem.begins_with_any(" \t")) - { - csubstr ws = rem.left_of(rem.first_not_of(" \t")); - rem = rem.right_of(ws); - if(has_all(RTOP) && rem.begins_with("---")) - { - _c4dbgp("there's a doc starting, and it's indented"); - _set_indentation(ws.len); - } - _c4dbgpf("skipping {} spaces/tabs", ws.len); - _line_progressed(ws.len); - return true; - } - } - - return false; -} - - -//----------------------------------------------------------------------------- -C4_ALWAYS_INLINE void Parser::_skipchars(char c) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->line_contents.rem.begins_with(c)); - size_t pos = m_state->line_contents.rem.first_not_of(c); - if(pos == npos) - pos = m_state->line_contents.rem.len; // maybe the line is just whitespace - _c4dbgpf("skip {} '{}'", pos, c); - _line_progressed(pos); -} - -template -C4_ALWAYS_INLINE void Parser::_skipchars(const char (&chars)[N]) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->line_contents.rem.begins_with_any(chars)); - size_t pos = m_state->line_contents.rem.first_not_of(chars); - if(pos == npos) - pos = m_state->line_contents.rem.len; // maybe the line is just whitespace - _c4dbgpf("skip {} characters", pos); - _line_progressed(pos); -} - - -//----------------------------------------------------------------------------- -bool Parser::_handle_seq_flow() -{ - _c4dbgpf("handle_seq_flow: node_id={} level={}", m_state->node_id, m_state->level); - csubstr rem = m_state->line_contents.rem; - - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RKEY)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(RSEQ|FLOW)); - - if(rem.begins_with(' ')) - { - // with explicit flow, indentation does not matter - _c4dbgp("starts with spaces"); - _skipchars(' '); - return true; - } - _RYML_WITH_TAB_TOKENS(else if(rem.begins_with('\t')) - { - _c4dbgp("starts with tabs"); - _skipchars('\t'); - return true; - }) - else if(rem.begins_with('#')) - { - _c4dbgp("it's a comment"); - rem = _scan_comment(); // also progresses the line - return true; - } - else if(rem.begins_with(']')) - { - _c4dbgp("end the sequence"); - _pop_level(); - _line_progressed(1); - if(has_all(RSEQIMAP)) - { - _stop_seqimap(); - _pop_level(); - } - return true; - } - - if(has_any(RVAL)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RNXT)); - bool is_quoted; - if(_scan_scalar_seq_flow(&rem, &is_quoted)) - { - _c4dbgp("it's a scalar"); - addrem_flags(RNXT, RVAL); - _append_val(rem, is_quoted); - return true; - } - else if(rem.begins_with('[')) - { - _c4dbgp("val is a child seq"); - addrem_flags(RNXT, RVAL); // before _push_level! - _push_level(/*explicit flow*/true); - _start_seq(); - add_flags(FLOW); - _line_progressed(1); - return true; - } - else if(rem.begins_with('{')) - { - _c4dbgp("val is a child map"); - addrem_flags(RNXT, RVAL); // before _push_level! - _push_level(/*explicit flow*/true); - _start_map(); - addrem_flags(FLOW|RKEY, RVAL); - _line_progressed(1); - return true; - } - else if(rem == ':') - { - _c4dbgpf("found ':' -- there's an implicit map in the seq node[{}]", m_state->node_id); - _start_seqimap(); - _line_progressed(1); - return true; - } - else if(rem.begins_with(": ") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t"))) - { - _c4dbgpf("found ': ' -- there's an implicit map in the seq node[{}]", m_state->node_id); - _start_seqimap(); - _line_progressed(2); - return true; - } - else if(rem.begins_with("? ")) - { - _c4dbgpf("found '? ' -- there's an implicit map in the seq node[{}]", m_state->node_id); - _start_seqimap(); - _line_progressed(2); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(SSCL) && m_state->scalar == ""); - addrem_flags(QMRK|RKEY, RVAL|SSCL); - return true; - } - else if(_handle_types()) - { - return true; - } - else if(_handle_val_anchors_and_refs()) - { - return true; - } - else if(rem.begins_with(", ")) - { - _c4dbgp("found ',' -- the value was null"); - _append_val_null(rem.str - 1); - _line_progressed(2); - return true; - } - else if(rem.begins_with(',')) - { - _c4dbgp("found ',' -- the value was null"); - _append_val_null(rem.str - 1); - _line_progressed(1); - return true; - } - else if(rem.begins_with('\t')) - { - _skipchars('\t'); - return true; - } - else - { - _c4err("parse error"); - } - } - else if(has_any(RNXT)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RVAL)); - if(rem.begins_with(", ")) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(FLOW)); - _c4dbgp("seq: expect next val"); - addrem_flags(RVAL, RNXT); - _line_progressed(2); - return true; - } - else if(rem.begins_with(',')) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(FLOW)); - _c4dbgp("seq: expect next val"); - addrem_flags(RVAL, RNXT); - _line_progressed(1); - return true; - } - else if(rem == ':') - { - _c4dbgpf("found ':' -- there's an implicit map in the seq node[{}]", m_state->node_id); - _start_seqimap(); - _line_progressed(1); - return true; - } - else if(rem.begins_with(": ") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t"))) - { - _c4dbgpf("found ': ' -- there's an implicit map in the seq node[{}]", m_state->node_id); - _start_seqimap(); - _line_progressed(2); - return true; - } - else - { - _c4err("was expecting a comma"); - } - } - else - { - _c4err("internal error"); - } - - return true; -} - -//----------------------------------------------------------------------------- -bool Parser::_handle_seq_blck() -{ - _c4dbgpf("handle_seq_impl: node_id={} level={}", m_state->node_id, m_state->level); - csubstr rem = m_state->line_contents.rem; - - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(RSEQ)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RKEY)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(FLOW)); - - if(rem.begins_with('#')) - { - _c4dbgp("it's a comment"); - rem = _scan_comment(); - return true; - } - if(has_any(RNXT)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RVAL)); - - if(_handle_indentation()) - return true; - - if(rem.begins_with("- ") _RYML_WITH_TAB_TOKENS( || rem.begins_with("-\t"))) - { - _c4dbgp("expect another val"); - addrem_flags(RVAL, RNXT); - _line_progressed(2); - return true; - } - else if(rem == '-') - { - _c4dbgp("expect another val"); - addrem_flags(RVAL, RNXT); - _line_progressed(1); - return true; - } - else if(rem.begins_with_any(" \t")) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, ! _at_line_begin()); - _skipchars(" \t"); - return true; - } - else if(rem.begins_with("...")) - { - _c4dbgp("got stream end '...'"); - _end_stream(); - _line_progressed(3); - return true; - } - else if(rem.begins_with("---")) - { - _c4dbgp("got document start '---'"); - _start_new_doc(rem); - return true; - } - else - { - _c4err("parse error"); - } - } - else if(has_any(RVAL)) - { - // there can be empty values - if(_handle_indentation()) - return true; - - csubstr s; - bool is_quoted; - if(_scan_scalar_seq_blck(&s, &is_quoted)) // this also progresses the line - { - _c4dbgpf("it's a{} scalar", is_quoted ? " quoted" : ""); - - rem = m_state->line_contents.rem; - if(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(rem.begins_with_any(" \t"), rem.begins_with(' '))) - { - _c4dbgp("skipping whitespace..."); - size_t skip = rem.first_not_of(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(" \t", ' ')); - if(skip == csubstr::npos) - skip = rem.len; // maybe the line is just whitespace - _line_progressed(skip); - rem = rem.sub(skip); - } - - _c4dbgpf("rem=[{}]~~~{}~~~", rem.len, rem); - if(!rem.begins_with('#') && (rem.ends_with(':') || rem.begins_with(": ") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t")))) - { - _c4dbgp("actually, the scalar is the first key of a map, and it opens a new scope"); - if(m_key_anchor.empty()) - _move_val_anchor_to_key_anchor(); - if(m_key_tag.empty()) - _move_val_tag_to_key_tag(); - addrem_flags(RNXT, RVAL); // before _push_level! This prepares the current level for popping by setting it to RNXT - _push_level(); - _start_map(); - _store_scalar(s, is_quoted); - if( ! _maybe_set_indentation_from_anchor_or_tag()) - { - _c4dbgpf("set indentation from scalar: {}", m_state->scalar_col); - _set_indentation(m_state->scalar_col); // this is the column where the scalar starts - } - _move_key_tag2_to_key_tag(); - addrem_flags(RVAL, RKEY); - _line_progressed(1); - } - else - { - _c4dbgp("appending val to current seq"); - _append_val(s, is_quoted); - addrem_flags(RNXT, RVAL); - } - return true; - } - else if(rem.begins_with("- ") _RYML_WITH_TAB_TOKENS( || rem.begins_with("-\t"))) - { - if(_rval_dash_start_or_continue_seq()) - _line_progressed(2); - return true; - } - else if(rem == '-') - { - if(_rval_dash_start_or_continue_seq()) - _line_progressed(1); - return true; - } - else if(rem.begins_with('[')) - { - _c4dbgp("val is a child seq, flow"); - addrem_flags(RNXT, RVAL); // before _push_level! - _push_level(/*explicit flow*/true); - _start_seq(); - add_flags(FLOW); - _line_progressed(1); - return true; - } - else if(rem.begins_with('{')) - { - _c4dbgp("val is a child map, flow"); - addrem_flags(RNXT, RVAL); // before _push_level! - _push_level(/*explicit flow*/true); - _start_map(); - addrem_flags(FLOW|RKEY, RVAL); - _line_progressed(1); - return true; - } - else if(rem.begins_with("? ")) - { - _c4dbgp("val is a child map + this key is complex"); - addrem_flags(RNXT, RVAL); // before _push_level! - _push_level(); - _start_map(); - addrem_flags(QMRK|RKEY, RVAL); - _save_indentation(); - _line_progressed(2); - return true; - } - else if(rem.begins_with(' ')) - { - csubstr spc = rem.left_of(rem.first_not_of(' ')); - if(_at_line_begin()) - { - _c4dbgpf("skipping value indentation: {} spaces", spc.len); - _line_progressed(spc.len); - return true; - } - else - { - _c4dbgpf("skipping {} spaces", spc.len); - _line_progressed(spc.len); - return true; - } - } - else if(_handle_types()) - { - return true; - } - else if(_handle_val_anchors_and_refs()) - { - return true; - } - /* pathological case: - * - &key : val - * - &key : - * - : val - */ - else if((!has_all(SSCL)) && - (rem.begins_with(": ") || rem.left_of(rem.find("#")).trimr("\t") == ":")) - { - if(!m_val_anchor.empty() || !m_val_tag.empty()) - { - _c4dbgp("val is a child map + this key is empty, with anchors or tags"); - addrem_flags(RNXT, RVAL); // before _push_level! - _move_val_tag_to_key_tag(); - _move_val_anchor_to_key_anchor(); - _push_level(); - _start_map(); - _store_scalar_null(rem.str); - addrem_flags(RVAL, RKEY); - RYML_CHECK(_maybe_set_indentation_from_anchor_or_tag()); // one of them must exist - _line_progressed(rem.begins_with(": ") ? 2u : 1u); - return true; - } - else - { - _c4dbgp("val is a child map + this key is empty, no anchors or tags"); - addrem_flags(RNXT, RVAL); // before _push_level! - size_t ind = m_state->indref; - _push_level(); - _start_map(); - _store_scalar_null(rem.str); - addrem_flags(RVAL, RKEY); - _c4dbgpf("set indentation from map anchor: {}", ind + 2); - _set_indentation(ind + 2); // this is the column where the map starts - _line_progressed(rem.begins_with(": ") ? 2u : 1u); - return true; - } - } - else - { - _c4err("parse error"); - } - } - - return false; -} - -//----------------------------------------------------------------------------- - -bool Parser::_rval_dash_start_or_continue_seq() -{ - size_t ind = m_state->line_contents.current_col(); - _RYML_CB_ASSERT(m_stack.m_callbacks, ind >= m_state->indref); - size_t delta_ind = ind - m_state->indref; - if( ! delta_ind) - { - _c4dbgp("prev val was empty"); - addrem_flags(RNXT, RVAL); - _append_val_null(&m_state->line_contents.full[ind]); - return false; - } - _c4dbgp("val is a nested seq, indented"); - addrem_flags(RNXT, RVAL); // before _push_level! - _push_level(); - _start_seq(); - _save_indentation(); - return true; -} - -//----------------------------------------------------------------------------- -bool Parser::_handle_map_flow() -{ - // explicit flow, ie, inside {}, separated by commas - _c4dbgpf("handle_map_flow: node_id={} level={}", m_state->node_id, m_state->level); - csubstr rem = m_state->line_contents.rem; - - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(RMAP|FLOW)); - - if(rem.begins_with(' ')) - { - // with explicit flow, indentation does not matter - _c4dbgp("starts with spaces"); - _skipchars(' '); - return true; - } - _RYML_WITH_TAB_TOKENS(else if(rem.begins_with('\t')) - { - // with explicit flow, indentation does not matter - _c4dbgp("starts with tabs"); - _skipchars('\t'); - return true; - }) - else if(rem.begins_with('#')) - { - _c4dbgp("it's a comment"); - rem = _scan_comment(); // also progresses the line - return true; - } - else if(rem.begins_with('}')) - { - _c4dbgp("end the map"); - if(has_all(SSCL)) - { - _c4dbgp("the last val was null"); - _append_key_val_null(rem.str - 1); - rem_flags(RVAL); - } - _pop_level(); - _line_progressed(1); - if(has_all(RSEQIMAP)) - { - _c4dbgp("stopping implicitly nested 1x map"); - _stop_seqimap(); - _pop_level(); - } - return true; - } - - if(has_any(RNXT)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RKEY)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RVAL)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RSEQIMAP)); - - if(rem.begins_with(", ")) - { - _c4dbgp("seq: expect next keyval"); - addrem_flags(RKEY, RNXT); - _line_progressed(2); - return true; - } - else if(rem.begins_with(',')) - { - _c4dbgp("seq: expect next keyval"); - addrem_flags(RKEY, RNXT); - _line_progressed(1); - return true; - } - else - { - _c4err("parse error"); - } - } - else if(has_any(RKEY)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RNXT)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RVAL)); - - bool is_quoted; - if(has_none(SSCL) && _scan_scalar_map_flow(&rem, &is_quoted)) - { - _c4dbgp("it's a scalar"); - _store_scalar(rem, is_quoted); - rem = m_state->line_contents.rem; - csubstr trimmed = rem.triml(" \t"); - if(trimmed.len && (trimmed.begins_with(": ") || trimmed.begins_with_any(":,}") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t")))) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, trimmed.str >= rem.str); - size_t num = static_cast(trimmed.str - rem.str); - _c4dbgpf("trimming {} whitespace after the scalar: '{}' --> '{}'", num, rem, rem.sub(num)); - rem = rem.sub(num); - _line_progressed(num); - } - } - - if(rem.begins_with(": ") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t"))) - { - _c4dbgp("wait for val"); - addrem_flags(RVAL, RKEY|QMRK); - _line_progressed(2); - if(!has_all(SSCL)) - { - _c4dbgp("no key was found, defaulting to empty key ''"); - _store_scalar_null(rem.str); - } - return true; - } - else if(rem == ':') - { - _c4dbgp("wait for val"); - addrem_flags(RVAL, RKEY|QMRK); - _line_progressed(1); - if(!has_all(SSCL)) - { - _c4dbgp("no key was found, defaulting to empty key ''"); - _store_scalar_null(rem.str); - } - return true; - } - else if(rem.begins_with('?')) - { - _c4dbgp("complex key"); - add_flags(QMRK); - _line_progressed(1); - return true; - } - else if(rem.begins_with(',')) - { - _c4dbgp("prev scalar was a key with null value"); - _append_key_val_null(rem.str - 1); - _line_progressed(1); - return true; - } - else if(rem.begins_with('}')) - { - _c4dbgp("map terminates after a key..."); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(SSCL)); - _c4dbgp("the last val was null"); - _append_key_val_null(rem.str - 1); - rem_flags(RVAL); - if(has_all(RSEQIMAP)) - { - _c4dbgp("stopping implicitly nested 1x map"); - _stop_seqimap(); - _pop_level(); - } - _pop_level(); - _line_progressed(1); - return true; - } - else if(_handle_types()) - { - return true; - } - else if(_handle_key_anchors_and_refs()) - { - return true; - } - else if(rem == "") - { - return true; - } - else - { - size_t pos = rem.first_not_of(" \t"); - if(pos == csubstr::npos) - pos = 0; - rem = rem.sub(pos); - if(rem.begins_with(':')) - { - _c4dbgp("wait for val"); - addrem_flags(RVAL, RKEY|QMRK); - _line_progressed(pos + 1); - if(!has_all(SSCL)) - { - _c4dbgp("no key was found, defaulting to empty key ''"); - _store_scalar_null(rem.str); - } - return true; - } - else if(rem.begins_with('#')) - { - _c4dbgp("it's a comment"); - _line_progressed(pos); - rem = _scan_comment(); // also progresses the line - return true; - } - else - { - _c4err("parse error"); - } - } - } - else if(has_any(RVAL)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RNXT)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RKEY)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(SSCL)); - bool is_quoted; - if(_scan_scalar_map_flow(&rem, &is_quoted)) - { - _c4dbgp("it's a scalar"); - addrem_flags(RNXT, RVAL|RKEY); - _append_key_val(rem, is_quoted); - if(has_all(RSEQIMAP)) - { - _c4dbgp("stopping implicitly nested 1x map"); - _stop_seqimap(); - _pop_level(); - } - return true; - } - else if(rem.begins_with('[')) - { - _c4dbgp("val is a child seq"); - addrem_flags(RNXT, RVAL|RKEY); // before _push_level! - _push_level(/*explicit flow*/true); - _move_scalar_from_top(); - _start_seq(); - add_flags(FLOW); - _line_progressed(1); - return true; - } - else if(rem.begins_with('{')) - { - _c4dbgp("val is a child map"); - addrem_flags(RNXT, RVAL|RKEY); // before _push_level! - _push_level(/*explicit flow*/true); - _move_scalar_from_top(); - _start_map(); - addrem_flags(FLOW|RKEY, RNXT|RVAL); - _line_progressed(1); - return true; - } - else if(_handle_types()) - { - return true; - } - else if(_handle_val_anchors_and_refs()) - { - return true; - } - else if(rem.begins_with(',')) - { - _c4dbgp("appending empty val"); - _append_key_val_null(rem.str - 1); - addrem_flags(RKEY, RVAL); - _line_progressed(1); - if(has_any(RSEQIMAP)) - { - _c4dbgp("stopping implicitly nested 1x map"); - _stop_seqimap(); - _pop_level(); - } - return true; - } - else if(has_any(RSEQIMAP) && rem.begins_with(']')) - { - _c4dbgp("stopping implicitly nested 1x map"); - if(has_any(SSCL)) - { - _append_key_val_null(rem.str - 1); - } - _stop_seqimap(); - _pop_level(); - return true; - } - else - { - _c4err("parse error"); - } - } - else - { - _c4err("internal error"); - } - - return false; -} - -//----------------------------------------------------------------------------- -bool Parser::_handle_map_blck() -{ - _c4dbgpf("handle_map_blck: node_id={} level={}", m_state->node_id, m_state->level); - csubstr rem = m_state->line_contents.rem; - - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(RMAP)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(FLOW)); - - if(rem.begins_with('#')) - { - _c4dbgp("it's a comment"); - rem = _scan_comment(); - return true; - } - - if(has_any(RNXT)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RKEY)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RVAL)); - // actually, we don't need RNXT in indent-based maps. - addrem_flags(RKEY, RNXT); - } - - if(_handle_indentation()) - { - _c4dbgp("indentation token"); - return true; - } - - if(has_any(RKEY)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RNXT)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RVAL)); - - _c4dbgp("RMAP|RKEY read scalar?"); - bool is_quoted; - if(_scan_scalar_map_blck(&rem, &is_quoted)) // this also progresses the line - { - _c4dbgpf("it's a{} scalar", is_quoted ? " quoted" : ""); - if(has_all(QMRK|SSCL)) - { - _c4dbgpf("current key is QMRK; SSCL is set. so take store scalar='{}' as key and add an empty val", m_state->scalar); - _append_key_val_null(rem.str - 1); - } - _store_scalar(rem, is_quoted); - if(has_all(QMRK|RSET)) - { - _c4dbgp("it's a complex key, so use null value '~'"); - _append_key_val_null(rem.str); - } - rem = m_state->line_contents.rem; - - if(rem.begins_with(':')) - { - _c4dbgp("wait for val"); - addrem_flags(RVAL, RKEY|QMRK); - _line_progressed(1); - rem = m_state->line_contents.rem; - if(rem.begins_with_any(" \t")) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, ! _at_line_begin()); - rem = rem.left_of(rem.first_not_of(" \t")); - _c4dbgpf("skip {} spaces/tabs", rem.len); - _line_progressed(rem.len); - } - } - return true; - } - else if(rem.begins_with_any(" \t")) - { - size_t pos = rem.first_not_of(" \t"); - if(pos == npos) - pos = rem.len; - _c4dbgpf("skip {} spaces/tabs", pos); - _line_progressed(pos); - return true; - } - else if(rem == '?' || rem.begins_with("? ")) - { - _c4dbgp("it's a complex key"); - _line_progressed(rem.begins_with("? ") ? 2u : 1u); - if(has_any(SSCL)) - _append_key_val_null(rem.str - 1); - add_flags(QMRK); - return true; - } - else if(has_all(QMRK) && rem.begins_with(':')) - { - _c4dbgp("complex key finished"); - if(!has_any(SSCL)) - _store_scalar_null(rem.str); - addrem_flags(RVAL, RKEY|QMRK); - _line_progressed(1); - rem = m_state->line_contents.rem; - if(rem.begins_with(' ')) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, ! _at_line_begin()); - _skipchars(' '); - } - return true; - } - else if(rem == ':' || rem.begins_with(": ") _RYML_WITH_TAB_TOKENS( || rem.begins_with(":\t"))) - { - _c4dbgp("key finished"); - if(!has_all(SSCL)) - { - _c4dbgp("key was empty..."); - _store_scalar_null(rem.str); - rem_flags(QMRK); - } - addrem_flags(RVAL, RKEY); - _line_progressed(rem == ':' ? 1 : 2); - return true; - } - else if(rem.begins_with("...")) - { - _c4dbgp("end current document"); - _end_stream(); - _line_progressed(3); - return true; - } - else if(rem.begins_with("---")) - { - _c4dbgp("start new document '---'"); - _start_new_doc(rem); - return true; - } - else if(_handle_types()) - { - return true; - } - else if(_handle_key_anchors_and_refs()) - { - return true; - } - else - { - _c4err("parse error"); - } - } - else if(has_any(RVAL)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RNXT)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RKEY)); - - _c4dbgp("RMAP|RVAL read scalar?"); - csubstr s; - bool is_quoted; - if(_scan_scalar_map_blck(&s, &is_quoted)) // this also progresses the line - { - _c4dbgpf("it's a{} scalar", is_quoted ? " quoted" : ""); - - rem = m_state->line_contents.rem; - - if(rem.begins_with(": ")) - { - _c4dbgp("actually, the scalar is the first key of a map"); - addrem_flags(RKEY, RVAL); // before _push_level! This prepares the current level for popping by setting it to RNXT - _push_level(); - _move_scalar_from_top(); - _move_val_anchor_to_key_anchor(); - _start_map(); - _save_indentation(m_state->scalar_col); - addrem_flags(RVAL, RKEY); - _line_progressed(2); - } - else if(rem.begins_with(':')) - { - _c4dbgp("actually, the scalar is the first key of a map, and it opens a new scope"); - addrem_flags(RKEY, RVAL); // before _push_level! This prepares the current level for popping by setting it to RNXT - _push_level(); - _move_scalar_from_top(); - _move_val_anchor_to_key_anchor(); - _start_map(); - _save_indentation(/*behind*/s.len); - addrem_flags(RVAL, RKEY); - _line_progressed(1); - } - else - { - _c4dbgp("appending keyval to current map"); - _append_key_val(s, is_quoted); - addrem_flags(RKEY, RVAL); - } - return true; - } - else if(rem.begins_with("- ") _RYML_WITH_TAB_TOKENS( || rem.begins_with("-\t"))) - { - _c4dbgp("val is a nested seq, indented"); - addrem_flags(RKEY, RVAL); // before _push_level! - _push_level(); - _move_scalar_from_top(); - _start_seq(); - _save_indentation(); - _line_progressed(2); - return true; - } - else if(rem == '-') - { - _c4dbgp("maybe a seq. start unknown, indented"); - _start_unk(); - _save_indentation(); - _line_progressed(1); - return true; - } - else if(rem.begins_with('[')) - { - _c4dbgp("val is a child seq, flow"); - addrem_flags(RKEY, RVAL); // before _push_level! - _push_level(/*explicit flow*/true); - _move_scalar_from_top(); - _start_seq(); - add_flags(FLOW); - _line_progressed(1); - return true; - } - else if(rem.begins_with('{')) - { - _c4dbgp("val is a child map, flow"); - addrem_flags(RKEY, RVAL); // before _push_level! - _push_level(/*explicit flow*/true); - _move_scalar_from_top(); - _start_map(); - addrem_flags(FLOW|RKEY, RVAL); - _line_progressed(1); - return true; - } - else if(rem.begins_with(' ')) - { - csubstr spc = rem.left_of(rem.first_not_of(' ')); - if(_at_line_begin()) - { - _c4dbgpf("skipping value indentation: {} spaces", spc.len); - _line_progressed(spc.len); - return true; - } - else - { - _c4dbgpf("skipping {} spaces", spc.len); - _line_progressed(spc.len); - return true; - } - } - else if(_handle_types()) - { - return true; - } - else if(_handle_val_anchors_and_refs()) - { - return true; - } - else if(rem.begins_with("--- ") || rem == "---" || rem.begins_with("---\t")) - { - _start_new_doc(rem); - return true; - } - else if(rem.begins_with("...")) - { - _c4dbgp("end current document"); - _end_stream(); - _line_progressed(3); - return true; - } - else - { - _c4err("parse error"); - } - } - else - { - _c4err("internal error"); - } - - return false; -} - - -//----------------------------------------------------------------------------- -bool Parser::_handle_top() -{ - _c4dbgp("handle_top"); - csubstr rem = m_state->line_contents.rem; - - if(rem.begins_with('#')) - { - _c4dbgp("a comment line"); - _scan_comment(); - return true; - } - - csubstr trimmed = rem.triml(' '); - - if(trimmed.begins_with('%')) - { - _handle_directive(trimmed); - _line_progressed(rem.len); - return true; - } - else if(trimmed.begins_with("--- ") || trimmed == "---" || trimmed.begins_with("---\t")) - { - _start_new_doc(rem); - if(trimmed.len < rem.len) - { - _line_progressed(rem.len - trimmed.len); - _save_indentation(); - } - return true; - } - else if(trimmed.begins_with("...")) - { - _c4dbgp("end current document"); - _end_stream(); - if(trimmed.len < rem.len) - { - _line_progressed(rem.len - trimmed.len); - } - _line_progressed(3); - return true; - } - else - { - _c4err("parse error"); - } - - return false; -} - - -//----------------------------------------------------------------------------- - -bool Parser::_handle_key_anchors_and_refs() -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, !has_any(RVAL)); - const csubstr rem = m_state->line_contents.rem; - if(rem.begins_with('&')) - { - _c4dbgp("found a key anchor!!!"); - if(has_all(QMRK|SSCL)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RKEY)); - _c4dbgp("there is a stored key, so this anchor is for the next element"); - _append_key_val_null(rem.str - 1); - rem_flags(QMRK); - return true; - } - csubstr anchor = rem.left_of(rem.first_of(' ')); - _line_progressed(anchor.len); - anchor = anchor.sub(1); // skip the first character - _move_key_anchor_to_val_anchor(); - _c4dbgpf("key anchor value: '{}'", anchor); - m_key_anchor = anchor; - m_key_anchor_indentation = m_state->line_contents.current_col(rem); - return true; - } - else if(C4_UNLIKELY(rem.begins_with('*'))) - { - _c4err("not implemented - this should have been catched elsewhere"); - C4_NEVER_REACH(); - return false; - } - return false; -} - -bool Parser::_handle_val_anchors_and_refs() -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, !has_any(RKEY)); - const csubstr rem = m_state->line_contents.rem; - if(rem.begins_with('&')) - { - csubstr anchor = rem.left_of(rem.first_of(' ')); - _line_progressed(anchor.len); - anchor = anchor.sub(1); // skip the first character - _c4dbgpf("val: found an anchor: '{}', indentation={}!!!", anchor, m_state->line_contents.current_col(rem)); - if(m_val_anchor.empty()) - { - _c4dbgpf("save val anchor: '{}'", anchor); - m_val_anchor = anchor; - m_val_anchor_indentation = m_state->line_contents.current_col(rem); - } - else - { - _c4dbgpf("there is a pending val anchor '{}'", m_val_anchor); - if(m_tree->is_seq(m_state->node_id)) - { - if(m_tree->has_children(m_state->node_id)) - { - _c4dbgpf("current node={} is a seq, has {} children", m_state->node_id, m_tree->num_children(m_state->node_id)); - _c4dbgpf("... so take the new one as a key anchor '{}'", anchor); - m_key_anchor = anchor; - m_key_anchor_indentation = m_state->line_contents.current_col(rem); - } - else - { - _c4dbgpf("current node={} is a seq, has no children", m_state->node_id); - if(m_tree->has_val_anchor(m_state->node_id)) - { - _c4dbgpf("... node={} already has val anchor: '{}'", m_state->node_id, m_tree->val_anchor(m_state->node_id)); - _c4dbgpf("... so take the new one as a key anchor '{}'", anchor); - m_key_anchor = anchor; - m_key_anchor_indentation = m_state->line_contents.current_col(rem); - } - else - { - _c4dbgpf("... so set pending val anchor: '{}' on current node {}", m_val_anchor, m_state->node_id); - m_tree->set_val_anchor(m_state->node_id, m_val_anchor); - m_val_anchor = anchor; - m_val_anchor_indentation = m_state->line_contents.current_col(rem); - } - } - } - } - return true; - } - else if(C4_UNLIKELY(rem.begins_with('*'))) - { - _c4err("not implemented - this should have been catched elsewhere"); - C4_NEVER_REACH(); - return false; - } - return false; -} - -void Parser::_move_key_anchor_to_val_anchor() -{ - if(m_key_anchor.empty()) - return; - _c4dbgpf("move current key anchor to val slot: key='{}' -> val='{}'", m_key_anchor, m_val_anchor); - if(!m_val_anchor.empty()) - _c4err("triple-pending anchor"); - m_val_anchor = m_key_anchor; - m_val_anchor_indentation = m_key_anchor_indentation; - m_key_anchor = {}; - m_key_anchor_indentation = {}; -} - -void Parser::_move_val_anchor_to_key_anchor() -{ - if(m_val_anchor.empty()) - return; - if(!_token_is_from_this_line(m_val_anchor)) - return; - _c4dbgpf("move current val anchor to key slot: key='{}' <- val='{}'", m_key_anchor, m_val_anchor); - if(!m_key_anchor.empty()) - _c4err("triple-pending anchor"); - m_key_anchor = m_val_anchor; - m_key_anchor_indentation = m_val_anchor_indentation; - m_val_anchor = {}; - m_val_anchor_indentation = {}; -} - -void Parser::_move_key_tag_to_val_tag() -{ - if(m_key_tag.empty()) - return; - _c4dbgpf("move key tag to val tag: key='{}' -> val='{}'", m_key_tag, m_val_tag); - m_val_tag = m_key_tag; - m_val_tag_indentation = m_key_tag_indentation; - m_key_tag.clear(); - m_key_tag_indentation = 0; -} - -void Parser::_move_val_tag_to_key_tag() -{ - if(m_val_tag.empty()) - return; - if(!_token_is_from_this_line(m_val_tag)) - return; - _c4dbgpf("move val tag to key tag: key='{}' <- val='{}'", m_key_tag, m_val_tag); - m_key_tag = m_val_tag; - m_key_tag_indentation = m_val_tag_indentation; - m_val_tag.clear(); - m_val_tag_indentation = 0; -} - -void Parser::_move_key_tag2_to_key_tag() -{ - if(m_key_tag2.empty()) - return; - _c4dbgpf("move key tag2 to key tag: key='{}' <- key2='{}'", m_key_tag, m_key_tag2); - m_key_tag = m_key_tag2; - m_key_tag_indentation = m_key_tag2_indentation; - m_key_tag2.clear(); - m_key_tag2_indentation = 0; -} - - -//----------------------------------------------------------------------------- - -bool Parser::_handle_types() -{ - csubstr rem = m_state->line_contents.rem.triml(' '); - csubstr t; - - if(rem.begins_with("!!")) - { - _c4dbgp("begins with '!!'"); - t = rem.left_of(rem.first_of(" ,")); - _RYML_CB_ASSERT(m_stack.m_callbacks, t.len >= 2); - //t = t.sub(2); - if(t == "!!set") - add_flags(RSET); - } - else if(rem.begins_with("!<")) - { - _c4dbgp("begins with '!<'"); - t = rem.left_of(rem.first_of('>'), true); - _RYML_CB_ASSERT(m_stack.m_callbacks, t.len >= 2); - //t = t.sub(2, t.len-1); - } - else if(rem.begins_with("!h!")) - { - _c4dbgp("begins with '!h!'"); - t = rem.left_of(rem.first_of(' ')); - _RYML_CB_ASSERT(m_stack.m_callbacks, t.len >= 3); - //t = t.sub(3); - } - else if(rem.begins_with('!')) - { - _c4dbgp("begins with '!'"); - t = rem.left_of(rem.first_of(' ')); - _RYML_CB_ASSERT(m_stack.m_callbacks, t.len >= 1); - //t = t.sub(1); - } - - if(t.empty()) - return false; - - if(has_all(QMRK|SSCL)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RKEY)); - _c4dbgp("there is a stored key, so this tag is for the next element"); - _append_key_val_null(rem.str - 1); - rem_flags(QMRK); - } - - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - const char *tag_beginning = rem.str; - #endif - size_t tag_indentation = m_state->line_contents.current_col(t); - _c4dbgpf("there was a tag: '{}', indentation={}", t, tag_indentation); - _RYML_CB_ASSERT(m_stack.m_callbacks, t.end() > m_state->line_contents.rem.begin()); - _line_progressed(static_cast(t.end() - m_state->line_contents.rem.begin())); - { - size_t pos = m_state->line_contents.rem.first_not_of(" \t"); - if(pos != csubstr::npos) - _line_progressed(pos); - } - - if(has_all(RMAP|RKEY)) - { - _c4dbgpf("saving map key tag '{}'", t); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_key_tag.empty()); - m_key_tag = t; - m_key_tag_indentation = tag_indentation; - } - else if(has_all(RMAP|RVAL)) - { - /* foo: !!str - * !!str : bar */ - rem = m_state->line_contents.rem; - rem = rem.left_of(rem.find("#")); - rem = rem.trimr(" \t"); - _c4dbgpf("rem='{}'", rem); - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - if(rem == ':' || rem.begins_with(": ")) - { - _c4dbgp("the last val was null, and this is a tag from a null key"); - _append_key_val_null(tag_beginning - 1); - _store_scalar_null(rem.str - 1); - // do not change the flag to key, it is ~ - _RYML_CB_ASSERT(m_stack.m_callbacks, rem.begin() > m_state->line_contents.rem.begin()); - size_t token_len = rem == ':' ? 1 : 2; - _line_progressed(static_cast(token_len + rem.begin() - m_state->line_contents.rem.begin())); - } - #endif - _c4dbgpf("saving map val tag '{}'", t); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_val_tag.empty()); - m_val_tag = t; - m_val_tag_indentation = tag_indentation; - } - else if(has_all(RSEQ|RVAL) || has_all(RTOP|RUNK|NDOC)) - { - if(m_val_tag.empty()) - { - _c4dbgpf("saving seq/doc val tag '{}'", t); - m_val_tag = t; - m_val_tag_indentation = tag_indentation; - } - else - { - _c4dbgpf("saving seq/doc key tag '{}'", t); - m_key_tag = t; - m_key_tag_indentation = tag_indentation; - } - } - else if(has_all(RTOP|RUNK) || has_any(RUNK)) - { - rem = m_state->line_contents.rem; - rem = rem.left_of(rem.find("#")); - rem = rem.trimr(" \t"); - if(rem.empty()) - { - _c4dbgpf("saving val tag '{}'", t); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_val_tag.empty()); - m_val_tag = t; - m_val_tag_indentation = tag_indentation; - } - else - { - _c4dbgpf("saving key tag '{}'", t); - if(m_key_tag.empty()) - { - m_key_tag = t; - m_key_tag_indentation = tag_indentation; - } - else - { - /* handle this case: - * !!str foo: !!map - * !!int 1: !!float 20.0 - * !!int 3: !!float 40.0 - * - * (m_key_tag would be !!str and m_key_tag2 would be !!int) - */ - m_key_tag2 = t; - m_key_tag2_indentation = tag_indentation; - } - } - } - else - { - _c4err("internal error"); - } - - if(m_val_tag.not_empty()) - { - YamlTag_e tag = to_tag(t); - if(tag == TAG_STR) - { - _c4dbgpf("tag '{}' is a str-type tag", t); - if(has_all(RTOP|RUNK|NDOC)) - { - _c4dbgpf("docval. slurping the string. pos={}", m_state->pos.offset); - csubstr scalar = _slurp_doc_scalar(); - _c4dbgpf("docval. after slurp: {}, at node {}: '{}'", m_state->pos.offset, m_state->node_id, scalar); - m_tree->to_val(m_state->node_id, scalar, DOC); - _c4dbgpf("docval. val tag {} -> {}", m_val_tag, normalize_tag(m_val_tag)); - m_tree->set_val_tag(m_state->node_id, normalize_tag(m_val_tag)); - m_val_tag.clear(); - if(!m_val_anchor.empty()) - { - _c4dbgpf("setting val anchor[{}]='{}'", m_state->node_id, m_val_anchor); - m_tree->set_val_anchor(m_state->node_id, m_val_anchor); - m_val_anchor.clear(); - } - _end_stream(); - } - } - } - return true; -} - -//----------------------------------------------------------------------------- -csubstr Parser::_slurp_doc_scalar() -{ - csubstr s = m_state->line_contents.rem; - size_t pos = m_state->pos.offset; - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->line_contents.full.find("---") != csubstr::npos); - _c4dbgpf("slurp 0 '{}'. REM='{}'", s, m_buf.sub(m_state->pos.offset)); - if(s.len == 0) - { - _line_ended(); - _scan_line(); - s = m_state->line_contents.rem; - pos = m_state->pos.offset; - } - - size_t skipws = s.first_not_of(" \t"); - _c4dbgpf("slurp 1 '{}'. REM='{}'", s, m_buf.sub(m_state->pos.offset)); - if(skipws != npos) - { - _line_progressed(skipws); - s = m_state->line_contents.rem; - pos = m_state->pos.offset; - _c4dbgpf("slurp 2 '{}'. REM='{}'", s, m_buf.sub(m_state->pos.offset)); - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, m_val_anchor.empty()); - _handle_val_anchors_and_refs(); - if(!m_val_anchor.empty()) - { - s = m_state->line_contents.rem; - skipws = s.first_not_of(" \t"); - if(skipws != npos) - { - _line_progressed(skipws); - } - s = m_state->line_contents.rem; - pos = m_state->pos.offset; - _c4dbgpf("slurp 3 '{}'. REM='{}'", s, m_buf.sub(m_state->pos.offset)); - } - - if(s.begins_with('\'')) - { - m_state->scalar_col = m_state->line_contents.current_col(s); - return _scan_squot_scalar(); - } - else if(s.begins_with('"')) - { - m_state->scalar_col = m_state->line_contents.current_col(s); - return _scan_dquot_scalar(); - } - else if(s.begins_with('|') || s.begins_with('>')) - { - return _scan_block(); - } - - _c4dbgpf("slurp 4 '{}'. REM='{}'", s, m_buf.sub(m_state->pos.offset)); - - m_state->scalar_col = m_state->line_contents.current_col(s); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.end() >= m_buf.begin() + pos); - _line_progressed(static_cast(s.end() - (m_buf.begin() + pos))); - - _c4dbgpf("slurp 5 '{}'. REM='{}'", s, m_buf.sub(m_state->pos.offset)); - - if(_at_line_end()) - { - _c4dbgpf("at line end. curr='{}'", s); - s = _extend_scanned_scalar(s); - } - - _c4dbgpf("scalar was '{}'", s); - - return s; -} - - -//----------------------------------------------------------------------------- - -bool Parser::_scan_scalar_seq_blck(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RSEQ)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RVAL)); - _RYML_CB_ASSERT(m_stack.m_callbacks, ! has_any(RKEY)); - _RYML_CB_ASSERT(m_stack.m_callbacks, ! has_any(FLOW)); - - csubstr s = m_state->line_contents.rem; - if(s.len == 0) - return false; - s = s.trim(" \t"); - if(s.len == 0) - return false; - - if(s.begins_with('\'')) - { - _c4dbgp("got a ': scanning single-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_squot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('"')) - { - _c4dbgp("got a \": scanning double-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_dquot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('|') || s.begins_with('>')) - { - *scalar = _scan_block(); - *quoted = true; - return true; - } - else if(has_any(RTOP) && _is_doc_sep(s)) - { - return false; - } - - _c4dbgp("RSEQ|RVAL"); - if( ! _is_scalar_next__rseq_rval(s)) - return false; - _RYML_WITH_TAB_TOKENS(else if(s.begins_with("-\t")) - return false; - ) - - if(s.ends_with(':')) - { - --s.len; - } - else - { - auto first = s.first_of_any(": " _RYML_WITH_TAB_TOKENS( , ":\t"), " #"); - if(first) - s.len = first.pos; - } - s = s.trimr(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(" \t", ' ')); - - if(s.empty()) - return false; - - m_state->scalar_col = m_state->line_contents.current_col(s); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.str >= m_state->line_contents.rem.str); - _line_progressed(static_cast(s.str - m_state->line_contents.rem.str) + s.len); - - if(_at_line_end() && s != '~') - { - _c4dbgpf("at line end. curr='{}'", s); - s = _extend_scanned_scalar(s); - } - - _c4dbgpf("scalar was '{}'", s); - - *scalar = s; - *quoted = false; - return true; -} - -bool Parser::_scan_scalar_map_blck(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted) -{ - _c4dbgp("_scan_scalar_map_blck"); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RMAP)); - _RYML_CB_ASSERT(m_stack.m_callbacks, ! has_any(FLOW)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RKEY|RVAL)); - - csubstr s = m_state->line_contents.rem; - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED__OR_REFACTORED - if(s.len == 0) - return false; - #endif - s = s.trim(" \t"); - if(s.len == 0) - return false; - - if(s.begins_with('\'')) - { - _c4dbgp("got a ': scanning single-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_squot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('"')) - { - _c4dbgp("got a \": scanning double-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_dquot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('|') || s.begins_with('>')) - { - *scalar = _scan_block(); - *quoted = true; - return true; - } - else if(has_any(RTOP) && _is_doc_sep(s)) - { - return false; - } - - if( ! _is_scalar_next__rmap(s)) - return false; - - size_t colon_token = s.find(": "); - if(colon_token == npos) - { - _RYML_WITH_OR_WITHOUT_TAB_TOKENS( - // with tab tokens - colon_token = s.find(":\t"); - if(colon_token == npos) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len > 0); - colon_token = s.find(':'); - if(colon_token != s.len-1) - colon_token = npos; - } - , - // without tab tokens - colon_token = s.find(':'); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len > 0); - if(colon_token != s.len-1) - colon_token = npos; - ) - } - - if(has_all(RKEY)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, !s.begins_with(' ')); - if(has_any(QMRK)) - { - _c4dbgp("RMAP|RKEY|CPLX"); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RMAP)); - if(s.begins_with("? ") || s == '?') - return false; - s = s.left_of(colon_token); - s = s.left_of(s.first_of("#")); - s = s.trimr(" \t"); - if(s.begins_with("---")) - return false; - else if(s.begins_with("...")) - return false; - } - else - { - _c4dbgp("RMAP|RKEY"); - _RYML_CB_CHECK(m_stack.m_callbacks, !s.begins_with('{')); - if(s.begins_with("? ") || s == '?') - return false; - s = s.left_of(colon_token); - s = s.trimr(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(" \t", ' ')); - if(s.begins_with("---")) - { - return false; - } - else if(s.begins_with("...")) - { - return false; - } - } - } - else if(has_all(RVAL)) - { - _c4dbgp("RMAP|RVAL"); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(QMRK)); - if( ! _is_scalar_next__rmap_val(s)) - return false; - _RYML_WITH_TAB_TOKENS( - else if(s.begins_with("-\t")) - return false; - ) - _c4dbgp("RMAP|RVAL: scalar"); - s = s.left_of(s.find(" #")); // is there a comment? - s = s.left_of(s.find("\t#")); // is there a comment? - s = s.trim(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(" \t", ' ')); - if(s.begins_with("---")) - return false; - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED__OR_REFACTORED - else if(s.begins_with("...")) - return false; - #endif - } - - if(s.empty()) - return false; - - m_state->scalar_col = m_state->line_contents.current_col(s); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.str >= m_state->line_contents.rem.str); - _line_progressed(static_cast(s.str - m_state->line_contents.rem.str) + s.len); - - if(_at_line_end() && s != '~') - { - _c4dbgpf("at line end. curr='{}'", s); - s = _extend_scanned_scalar(s); - } - - _c4dbgpf("scalar was '{}'", s); - - *scalar = s; - *quoted = false; - return true; -} - -bool Parser::_scan_scalar_seq_flow(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RSEQ)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(FLOW)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RVAL)); - _RYML_CB_ASSERT(m_stack.m_callbacks, ! has_any(RKEY)); - - csubstr s = m_state->line_contents.rem; - if(s.len == 0) - return false; - s = s.trim(" \t"); - if(s.len == 0) - return false; - - if(s.begins_with('\'')) - { - _c4dbgp("got a ': scanning single-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_squot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('"')) - { - _c4dbgp("got a \": scanning double-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_dquot_scalar(); - *quoted = true; - return true; - } - - if(has_all(RVAL)) - { - _c4dbgp("RSEQ|RVAL"); - if( ! _is_scalar_next__rseq_rval(s)) - return false; - _RYML_WITH_TAB_TOKENS(else if(s.begins_with("-\t")) - return false; - ) - _c4dbgp("RSEQ|RVAL|FLOW"); - s = s.left_of(s.first_of(",]")); - if(s.ends_with(':')) - { - --s.len; - } - else - { - auto first = s.first_of_any(": " _RYML_WITH_TAB_TOKENS( , ":\t"), " #"); - if(first) - s.len = first.pos; - } - s = s.trimr(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(" \t", ' ')); - } - - if(s.empty()) - return false; - - m_state->scalar_col = m_state->line_contents.current_col(s); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.str >= m_state->line_contents.rem.str); - _line_progressed(static_cast(s.str - m_state->line_contents.rem.str) + s.len); - - if(_at_line_end() && s != '~') - { - _c4dbgpf("at line end. curr='{}'", s); - s = _extend_scanned_scalar(s); - } - - _c4dbgpf("scalar was '{}'", s); - - *scalar = s; - *quoted = false; - return true; -} - -bool Parser::_scan_scalar_map_flow(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RMAP)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(FLOW)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RKEY|RVAL)); - - csubstr s = m_state->line_contents.rem; - if(s.len == 0) - return false; - s = s.trim(" \t"); - if(s.len == 0) - return false; - - if(s.begins_with('\'')) - { - _c4dbgp("got a ': scanning single-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_squot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('"')) - { - _c4dbgp("got a \": scanning double-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_dquot_scalar(); - *quoted = true; - return true; - } - - if( ! _is_scalar_next__rmap(s)) - return false; - - if(has_all(RKEY)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, !s.begins_with(' ')); - size_t colon_token = s.find(": "); - if(colon_token == npos) - { - _RYML_WITH_OR_WITHOUT_TAB_TOKENS( - // with tab tokens - colon_token = s.find(":\t"); - if(colon_token == npos) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len > 0); - colon_token = s.find(':'); - if(colon_token != s.len-1) - colon_token = npos; - } - , - // without tab tokens - colon_token = s.find(':'); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len > 0); - if(colon_token != s.len-1) - colon_token = npos; - ) - } - if(s.begins_with("? ") || s == '?') - return false; - if(has_any(QMRK)) - { - _c4dbgp("RMAP|RKEY|CPLX"); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RMAP)); - s = s.left_of(colon_token); - s = s.left_of(s.first_of("#")); - s = s.left_of(s.first_of(':')); - s = s.trimr(" \t"); - if(s.begins_with("---")) - return false; - else if(s.begins_with("...")) - return false; - } - else - { - _RYML_CB_CHECK(m_stack.m_callbacks, !s.begins_with('{')); - _c4dbgp("RMAP|RKEY"); - s = s.left_of(colon_token); - s = s.trimr(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(" \t", ' ')); - _c4dbgpf("RMAP|RKEY|FLOW: '{}'", s); - s = s.left_of(s.first_of(",}")); - if(s.ends_with(':')) - --s.len; - } - } - else if(has_all(RVAL)) - { - _c4dbgp("RMAP|RVAL"); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(QMRK)); - if( ! _is_scalar_next__rmap_val(s)) - return false; - _RYML_WITH_TAB_TOKENS(else if(s.begins_with("-\t")) - return false; - ) - _c4dbgp("RMAP|RVAL|FLOW"); - if(has_none(RSEQIMAP)) - s = s.left_of(s.first_of(",}")); - else - s = s.left_of(s.first_of(",]")); - s = s.left_of(s.find(" #")); // is there a comment? - s = s.left_of(s.find("\t#")); // is there a comment? - s = s.trim(_RYML_WITH_OR_WITHOUT_TAB_TOKENS(" \t", ' ')); - } - - if(s.empty()) - return false; - - m_state->scalar_col = m_state->line_contents.current_col(s); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.str >= m_state->line_contents.rem.str); - _line_progressed(static_cast(s.str - m_state->line_contents.rem.str) + s.len); - - if(_at_line_end() && s != '~') - { - _c4dbgpf("at line end. curr='{}'", s); - s = _extend_scanned_scalar(s); - } - - _c4dbgpf("scalar was '{}'", s); - - *scalar = s; - *quoted = false; - return true; -} - -bool Parser::_scan_scalar_unk(csubstr *C4_RESTRICT scalar, bool *C4_RESTRICT quoted) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, has_any(RUNK)); - - csubstr s = m_state->line_contents.rem; - if(s.len == 0) - return false; - s = s.trim(" \t"); - if(s.len == 0) - return false; - - if(s.begins_with('\'')) - { - _c4dbgp("got a ': scanning single-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_squot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('"')) - { - _c4dbgp("got a \": scanning double-quoted scalar"); - m_state->scalar_col = m_state->line_contents.current_col(s); - *scalar = _scan_dquot_scalar(); - *quoted = true; - return true; - } - else if(s.begins_with('|') || s.begins_with('>')) - { - *scalar = _scan_block(); - *quoted = true; - return true; - } - else if(has_any(RTOP) && _is_doc_sep(s)) - { - return false; - } - - _c4dbgpf("RUNK '[{}]~~~{}~~~", s.len, s); - if( ! _is_scalar_next__runk(s)) - { - _c4dbgp("RUNK: no scalar next"); - return false; - } - size_t pos = s.find(" #"); - if(pos != npos) - s = s.left_of(pos); - pos = s.find(": "); - if(pos != npos) - s = s.left_of(pos); - else if(s.ends_with(':')) - s = s.left_of(s.len-1); - _RYML_WITH_TAB_TOKENS( - else if((pos = s.find(":\t")) != npos) // TABS - s = s.left_of(pos); - ) - else - s = s.left_of(s.first_of(',')); - s = s.trim(" \t"); - _c4dbgpf("RUNK: scalar='{}'", s); - - if(s.empty()) - return false; - - m_state->scalar_col = m_state->line_contents.current_col(s); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.str >= m_state->line_contents.rem.str); - _line_progressed(static_cast(s.str - m_state->line_contents.rem.str) + s.len); - - if(_at_line_end() && s != '~') - { - _c4dbgpf("at line end. curr='{}'", s); - s = _extend_scanned_scalar(s); - } - - _c4dbgpf("scalar was '{}'", s); - - *scalar = s; - *quoted = false; - return true; -} - - -//----------------------------------------------------------------------------- - -csubstr Parser::_extend_scanned_scalar(csubstr s) -{ - if(has_all(RMAP|RKEY|QMRK)) - { - size_t scalar_indentation = has_any(FLOW) ? 0 : m_state->scalar_col; - _c4dbgpf("extend_scalar: explicit key! indref={} scalar_indentation={} scalar_col={}", m_state->indref, scalar_indentation, m_state->scalar_col); - csubstr n = _scan_to_next_nonempty_line(scalar_indentation); - if(!n.empty()) - { - substr full = _scan_complex_key(s, n).trimr(" \t\r\n"); - if(full != s) - s = _filter_plain_scalar(full, scalar_indentation); - } - } - // deal with plain (unquoted) scalars that continue to the next line - else if(!s.begins_with_any("*")) // cannot be a plain scalar if it starts with * (that's an anchor reference) - { - _c4dbgpf("extend_scalar: line ended, scalar='{}'", s); - if(has_none(FLOW)) - { - size_t scalar_indentation = m_state->indref + 1; - if(has_all(RUNK) && scalar_indentation == 1) - scalar_indentation = 0; - csubstr n = _scan_to_next_nonempty_line(scalar_indentation); - if(!n.empty()) - { - _c4dbgpf("rscalar[IMPL]: state_indref={} state_indentation={} scalar_indentation={}", m_state->indref, m_state->line_contents.indentation, scalar_indentation); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->line_contents.full.is_super(n)); - substr full = _scan_plain_scalar_blck(s, n, scalar_indentation); - if(full.len >= s.len) - s = _filter_plain_scalar(full, scalar_indentation); - } - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(FLOW)); - csubstr n = _scan_to_next_nonempty_line(/*indentation*/0); - if(!n.empty()) - { - _c4dbgp("rscalar[FLOW]"); - substr full = _scan_plain_scalar_flow(s, n); - s = _filter_plain_scalar(full, /*indentation*/0); - } - } - } - - return s; -} - - -//----------------------------------------------------------------------------- - -substr Parser::_scan_plain_scalar_flow(csubstr currscalar, csubstr peeked_line) -{ - static constexpr const csubstr chars = "[]{}?#,"; - size_t pos = peeked_line.first_of(chars); - bool first = true; - while(pos != 0) - { - if(has_all(RMAP|RKEY) || has_any(RUNK)) - { - csubstr tpkl = peeked_line.triml(' ').trimr("\r\n"); - if(tpkl.begins_with(": ") || tpkl == ':') - { - _c4dbgpf("rscalar[FLOW]: map value starts on the peeked line: '{}'", peeked_line); - peeked_line = peeked_line.first(0); - break; - } - else - { - auto colon_pos = peeked_line.first_of_any(": ", ":"); - if(colon_pos && colon_pos.pos < pos) - { - peeked_line = peeked_line.first(colon_pos.pos); - _c4dbgpf("rscalar[FLOW]: found colon at {}. peeked='{}'", colon_pos.pos, peeked_line); - _RYML_CB_ASSERT(m_stack.m_callbacks, peeked_line.end() >= m_state->line_contents.rem.begin()); - _line_progressed(static_cast(peeked_line.end() - m_state->line_contents.rem.begin())); - break; - } - } - } - if(pos != npos) - { - _c4dbgpf("rscalar[FLOW]: found special character '{}' at {}, stopping: '{}'", peeked_line[pos], pos, peeked_line.left_of(pos).trimr("\r\n")); - peeked_line = peeked_line.left_of(pos); - _RYML_CB_ASSERT(m_stack.m_callbacks, peeked_line.end() >= m_state->line_contents.rem.begin()); - _line_progressed(static_cast(peeked_line.end() - m_state->line_contents.rem.begin())); - break; - } - _c4dbgpf("rscalar[FLOW]: append another line, full: '{}'", peeked_line.trimr("\r\n")); - if(!first) - { - RYML_CHECK(_advance_to_peeked()); - } - peeked_line = _scan_to_next_nonempty_line(/*indentation*/0); - if(peeked_line.empty()) - { - _c4err("expected token or continuation"); - } - pos = peeked_line.first_of(chars); - first = false; - } - substr full(m_buf.str + (currscalar.str - m_buf.str), m_buf.begin() + m_state->pos.offset); - full = full.trimr("\n\r "); - return full; -} - - -//----------------------------------------------------------------------------- - -substr Parser::_scan_plain_scalar_blck(csubstr currscalar, csubstr peeked_line, size_t indentation) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.is_super(currscalar)); - // NOTE. there's a problem with _scan_to_next_nonempty_line(), as it counts newlines twice - // size_t offs = m_state->pos.offset; // so we workaround by directly counting from the end of the given scalar - _RYML_CB_ASSERT(m_stack.m_callbacks, currscalar.end() >= m_buf.begin()); - size_t offs = static_cast(currscalar.end() - m_buf.begin()); - _RYML_CB_ASSERT(m_stack.m_callbacks, peeked_line.begins_with(' ', indentation)); - while(true) - { - _c4dbgpf("rscalar[IMPL]: continuing... ref_indentation={}", indentation); - if(peeked_line.begins_with("...") || peeked_line.begins_with("---")) - { - _c4dbgpf("rscalar[IMPL]: document termination next -- bail now '{}'", peeked_line.trimr("\r\n")); - break; - } - else if(( ! peeked_line.begins_with(' ', indentation))) // is the line deindented? - { - if(!peeked_line.trim(" \r\n\t").empty()) // is the line not blank? - { - _c4dbgpf("rscalar[IMPL]: deindented line, not blank -- bail now '{}'", peeked_line.trimr("\r\n")); - break; - } - _c4dbgpf("rscalar[IMPL]: line is blank and has less indentation: ref={} line={}: '{}'", indentation, peeked_line.first_not_of(' ') == csubstr::npos ? 0 : peeked_line.first_not_of(' '), peeked_line.trimr("\r\n")); - _c4dbgpf("rscalar[IMPL]: ... searching for a line starting at indentation {}", indentation); - csubstr next_peeked = _scan_to_next_nonempty_line(indentation); - if(next_peeked.empty()) - { - _c4dbgp("rscalar[IMPL]: ... finished."); - break; - } - _c4dbgp("rscalar[IMPL]: ... continuing."); - peeked_line = next_peeked; - } - - _c4dbgpf("rscalar[IMPL]: line contents: '{}'", peeked_line.right_of(indentation, true).trimr("\r\n")); - size_t token_pos; - if(peeked_line.find(": ") != npos) - { - _line_progressed(peeked_line.find(": ")); - _c4err("': ' is not a valid token in plain flow (unquoted) scalars"); - } - else if(peeked_line.ends_with(':')) - { - _line_progressed(peeked_line.find(':')); - _c4err("lines cannot end with ':' in plain flow (unquoted) scalars"); - } - else if((token_pos = peeked_line.find(" #")) != npos) - { - _line_progressed(token_pos); - break; - //_c4err("' #' is not a valid token in plain flow (unquoted) scalars"); - } - - _c4dbgpf("rscalar[IMPL]: append another line: (len={})'{}'", peeked_line.len, peeked_line.trimr("\r\n")); - if(!_advance_to_peeked()) - { - _c4dbgp("rscalar[IMPL]: file finishes after the scalar"); - break; - } - peeked_line = m_state->line_contents.rem; - } - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.offset >= offs); - substr full(m_buf.str + (currscalar.str - m_buf.str), - currscalar.len + (m_state->pos.offset - offs)); - full = full.trimr("\r\n "); - return full; -} - -substr Parser::_scan_complex_key(csubstr currscalar, csubstr peeked_line) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.is_super(currscalar)); - // NOTE. there's a problem with _scan_to_next_nonempty_line(), as it counts newlines twice - // size_t offs = m_state->pos.offset; // so we workaround by directly counting from the end of the given scalar - _RYML_CB_ASSERT(m_stack.m_callbacks, currscalar.end() >= m_buf.begin()); - size_t offs = static_cast(currscalar.end() - m_buf.begin()); - while(true) - { - _c4dbgp("rcplxkey: continuing..."); - if(peeked_line.begins_with("...") || peeked_line.begins_with("---")) - { - _c4dbgpf("rcplxkey: document termination next -- bail now '{}'", peeked_line.trimr("\r\n")); - break; - } - else - { - size_t pos = peeked_line.first_of("?:[]{}"); - if(pos == csubstr::npos) - { - pos = peeked_line.find("- "); - } - if(pos != csubstr::npos) - { - _c4dbgpf("rcplxkey: found special characters at pos={}: '{}'", pos, peeked_line.trimr("\r\n")); - _line_progressed(pos); - break; - } - } - - _c4dbgpf("rcplxkey: no special chars found '{}'", peeked_line.trimr("\r\n")); - csubstr next_peeked = _scan_to_next_nonempty_line(0); - if(next_peeked.empty()) - { - _c4dbgp("rcplxkey: empty ... finished."); - break; - } - _c4dbgp("rcplxkey: ... continuing."); - peeked_line = next_peeked; - - _c4dbgpf("rcplxkey: line contents: '{}'", peeked_line.trimr("\r\n")); - size_t colpos; - if((colpos = peeked_line.find(": ")) != npos) - { - _c4dbgp("rcplxkey: found ': ', stopping."); - _line_progressed(colpos); - break; - } - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - else if((colpos = peeked_line.ends_with(':'))) - { - _c4dbgp("rcplxkey: ends with ':', stopping."); - _line_progressed(colpos); - break; - } - #endif - _c4dbgpf("rcplxkey: append another line: (len={})'{}'", peeked_line.len, peeked_line.trimr("\r\n")); - if(!_advance_to_peeked()) - { - _c4dbgp("rcplxkey: file finishes after the scalar"); - break; - } - peeked_line = m_state->line_contents.rem; - } - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.offset >= offs); - substr full(m_buf.str + (currscalar.str - m_buf.str), - currscalar.len + (m_state->pos.offset - offs)); - return full; -} - -//! scans to the next non-blank line starting with the given indentation -csubstr Parser::_scan_to_next_nonempty_line(size_t indentation) -{ - csubstr next_peeked; - while(true) - { - _c4dbgpf("rscalar: ... curr offset: {} indentation={}", m_state->pos.offset, indentation); - next_peeked = _peek_next_line(m_state->pos.offset); - csubstr next_peeked_triml = next_peeked.triml(' '); - _c4dbgpf("rscalar: ... next peeked line='{}'", next_peeked.trimr("\r\n")); - if(next_peeked_triml.begins_with('#')) - { - _c4dbgp("rscalar: ... first non-space character is #"); - return {}; - } - else if(next_peeked.begins_with(' ', indentation)) - { - _c4dbgpf("rscalar: ... begins at same indentation {}, assuming continuation", indentation); - _advance_to_peeked(); - return next_peeked; - } - else // check for de-indentation - { - csubstr trimmed = next_peeked_triml.trimr("\t\r\n"); - _c4dbgpf("rscalar: ... deindented! trimmed='{}'", trimmed); - if(!trimmed.empty()) - { - _c4dbgp("rscalar: ... and not empty. bailing out."); - return {}; - } - } - if(!_advance_to_peeked()) - { - _c4dbgp("rscalar: file finished"); - return {}; - } - } - return {}; -} - -// returns false when the file finished -bool Parser::_advance_to_peeked() -{ - _line_progressed(m_state->line_contents.rem.len); - _line_ended(); // advances to the peeked-at line, consuming all remaining (probably newline) characters on the current line - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->line_contents.rem.first_of("\r\n") == csubstr::npos); - _c4dbgpf("advance to peeked: scan more... pos={} len={}", m_state->pos.offset, m_buf.len); - _scan_line(); // puts the peeked-at line in the buffer - if(_finished_file()) - { - _c4dbgp("rscalar: finished file!"); - return false; - } - return true; -} - -//----------------------------------------------------------------------------- - -C4_ALWAYS_INLINE size_t _extend_from_combined_newline(char nl, char following) -{ - return (nl == '\n' && following == '\r') || (nl == '\r' && following == '\n'); -} - -//! look for the next newline chars, and jump to the right of those -csubstr from_next_line(csubstr rem) -{ - size_t nlpos = rem.first_of("\r\n"); - if(nlpos == csubstr::npos) - return {}; - const char nl = rem[nlpos]; - rem = rem.right_of(nlpos); - if(rem.empty()) - return {}; - if(_extend_from_combined_newline(nl, rem.front())) - rem = rem.sub(1); - return rem; -} - -csubstr Parser::_peek_next_line(size_t pos) const -{ - csubstr rem{}; // declare here because of the goto - size_t nlpos{}; // declare here because of the goto - pos = pos == npos ? m_state->pos.offset : pos; - if(pos >= m_buf.len) - goto next_is_empty; - - // look for the next newline chars, and jump to the right of those - rem = from_next_line(m_buf.sub(pos)); - if(rem.empty()) - goto next_is_empty; - - // now get everything up to and including the following newline chars - nlpos = rem.first_of("\r\n"); - if((nlpos != csubstr::npos) && (nlpos + 1 < rem.len)) - nlpos += _extend_from_combined_newline(rem[nlpos], rem[nlpos+1]); - rem = rem.left_of(nlpos, /*include_pos*/true); - - _c4dbgpf("peek next line @ {}: (len={})'{}'", pos, rem.len, rem.trimr("\r\n")); - return rem; - -next_is_empty: - _c4dbgpf("peek next line @ {}: (len=0)''", pos); - return {}; -} - - -//----------------------------------------------------------------------------- -void Parser::LineContents::reset_with_next_line(csubstr buf, size_t offset) -{ - RYML_ASSERT(offset <= buf.len); - char const* C4_RESTRICT b = &buf[offset]; - char const* C4_RESTRICT e = b; - // get the current line stripped of newline chars - while(e < buf.end() && (*e != '\n' && *e != '\r')) - ++e; - RYML_ASSERT(e >= b); - const csubstr stripped_ = buf.sub(offset, static_cast(e - b)); - // advance pos to include the first line ending - if(e != buf.end() && *e == '\r') - ++e; - if(e != buf.end() && *e == '\n') - ++e; - RYML_ASSERT(e >= b); - const csubstr full_ = buf.sub(offset, static_cast(e - b)); - reset(full_, stripped_); -} - -void Parser::_scan_line() -{ - if(m_state->pos.offset >= m_buf.len) - { - m_state->line_contents.reset(m_buf.last(0), m_buf.last(0)); - return; - } - m_state->line_contents.reset_with_next_line(m_buf, m_state->pos.offset); -} - - -//----------------------------------------------------------------------------- -void Parser::_line_progressed(size_t ahead) -{ - _c4dbgpf("line[{}] ({} cols) progressed by {}: col {}-->{} offset {}-->{}", m_state->pos.line, m_state->line_contents.full.len, ahead, m_state->pos.col, m_state->pos.col+ahead, m_state->pos.offset, m_state->pos.offset+ahead); - m_state->pos.offset += ahead; - m_state->pos.col += ahead; - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.col <= m_state->line_contents.stripped.len+1); - m_state->line_contents.rem = m_state->line_contents.rem.sub(ahead); -} - -void Parser::_line_ended() -{ - _c4dbgpf("line[{}] ({} cols) ended! offset {}-->{}", m_state->pos.line, m_state->line_contents.full.len, m_state->pos.offset, m_state->pos.offset+m_state->line_contents.full.len - m_state->line_contents.stripped.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.col == m_state->line_contents.stripped.len+1); - m_state->pos.offset += m_state->line_contents.full.len - m_state->line_contents.stripped.len; - ++m_state->pos.line; - m_state->pos.col = 1; -} - -void Parser::_line_ended_undo() -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.col == 1u); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.line > 0u); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.offset >= m_state->line_contents.full.len - m_state->line_contents.stripped.len); - size_t delta = m_state->line_contents.full.len - m_state->line_contents.stripped.len; - _c4dbgpf("line[{}] undo ended! line {}-->{}, offset {}-->{}", m_state->pos.line, m_state->pos.line, m_state->pos.line - 1, m_state->pos.offset, m_state->pos.offset - delta); - m_state->pos.offset -= delta; - --m_state->pos.line; - m_state->pos.col = m_state->line_contents.stripped.len + 1u; - // don't forget to undo also the changes to the remainder of the line - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.offset >= m_buf.len || m_buf[m_state->pos.offset] == '\n' || m_buf[m_state->pos.offset] == '\r'); - m_state->line_contents.rem = m_buf.sub(m_state->pos.offset, 0); -} - - -//----------------------------------------------------------------------------- -void Parser::_set_indentation(size_t indentation) -{ - m_state->indref = indentation; - _c4dbgpf("state[{}]: saving indentation: {}", m_state-m_stack.begin(), m_state->indref); -} - -void Parser::_save_indentation(size_t behind) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->line_contents.rem.begin() >= m_state->line_contents.full.begin()); - m_state->indref = static_cast(m_state->line_contents.rem.begin() - m_state->line_contents.full.begin()); - _RYML_CB_ASSERT(m_stack.m_callbacks, behind <= m_state->indref); - m_state->indref -= behind; - _c4dbgpf("state[{}]: saving indentation: {}", m_state-m_stack.begin(), m_state->indref); -} - -bool Parser::_maybe_set_indentation_from_anchor_or_tag() -{ - if(m_key_anchor.not_empty()) - { - _c4dbgpf("set indentation from key anchor: {}", m_key_anchor_indentation); - _set_indentation(m_key_anchor_indentation); // this is the column where the anchor starts - return true; - } - else if(m_key_tag.not_empty()) - { - _c4dbgpf("set indentation from key tag: {}", m_key_tag_indentation); - _set_indentation(m_key_tag_indentation); // this is the column where the tag starts - return true; - } - return false; -} - - -//----------------------------------------------------------------------------- -void Parser::_write_key_anchor(size_t node_id) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->has_key(node_id)); - if( ! m_key_anchor.empty()) - { - _c4dbgpf("node={}: set key anchor to '{}'", node_id, m_key_anchor); - m_tree->set_key_anchor(node_id, m_key_anchor); - m_key_anchor.clear(); - m_key_anchor_was_before = false; - m_key_anchor_indentation = 0; - } - else if( ! m_tree->is_key_quoted(node_id)) - { - csubstr r = m_tree->key(node_id); - if(r.begins_with('*')) - { - _c4dbgpf("node={}: set key reference: '{}'", node_id, r); - m_tree->set_key_ref(node_id, r.sub(1)); - } - else if(r == "<<") - { - m_tree->set_key_ref(node_id, r); - _c4dbgpf("node={}: it's an inheriting reference", node_id); - if(m_tree->is_seq(node_id)) - { - _c4dbgpf("node={}: inheriting from seq of {}", node_id, m_tree->num_children(node_id)); - for(size_t i = m_tree->first_child(node_id); i != NONE; i = m_tree->next_sibling(i)) - { - if( ! (m_tree->val(i).begins_with('*'))) - _c4err("malformed reference: '{}'", m_tree->val(i)); - } - } - else if( ! m_tree->val(node_id).begins_with('*')) - { - _c4err("malformed reference: '{}'", m_tree->val(node_id)); - } - //m_tree->set_key_ref(node_id, r); - } - } -} - -//----------------------------------------------------------------------------- -void Parser::_write_val_anchor(size_t node_id) -{ - if( ! m_val_anchor.empty()) - { - _c4dbgpf("node={}: set val anchor to '{}'", node_id, m_val_anchor); - m_tree->set_val_anchor(node_id, m_val_anchor); - m_val_anchor.clear(); - } - csubstr r = m_tree->has_val(node_id) ? m_tree->val(node_id) : ""; - if(!m_tree->is_val_quoted(node_id) && r.begins_with('*')) - { - _c4dbgpf("node={}: set val reference: '{}'", node_id, r); - RYML_CHECK(!m_tree->has_val_anchor(node_id)); - m_tree->set_val_ref(node_id, r.sub(1)); - } -} - -//----------------------------------------------------------------------------- -void Parser::_push_level(bool explicit_flow_chars) -{ - _c4dbgpf("pushing level! currnode={} currlevel={} stacksize={} stackcap={}", m_state->node_id, m_state->level, m_stack.size(), m_stack.capacity()); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state == &m_stack.top()); - if(node(m_state) == nullptr) - { - _c4dbgp("pushing level! actually no, current node is null"); - //_RYML_CB_ASSERT(m_stack.m_callbacks, ! explicit_flow_chars); - return; - } - flag_t st = RUNK; - if(explicit_flow_chars || has_all(FLOW)) - { - st |= FLOW; - } - m_stack.push_top(); - m_state = &m_stack.top(); - set_flags(st); - m_state->node_id = (size_t)NONE; - m_state->indref = (size_t)NONE; - ++m_state->level; - _c4dbgpf("pushing level: now, currlevel={}", m_state->level); -} - -void Parser::_pop_level() -{ - _c4dbgpf("popping level! currnode={} currlevel={}", m_state->node_id, m_state->level); - if(has_any(RMAP) || m_tree->is_map(m_state->node_id)) - { - _stop_map(); - } - if(has_any(RSEQ) || m_tree->is_seq(m_state->node_id)) - { - _stop_seq(); - } - if(m_tree->is_doc(m_state->node_id)) - { - _stop_doc(); - } - _RYML_CB_ASSERT(m_stack.m_callbacks, m_stack.size() > 1); - _prepare_pop(); - m_stack.pop(); - m_state = &m_stack.top(); - /*if(has_any(RMAP)) - { - _toggle_key_val(); - }*/ - if(m_state->line_contents.indentation == 0) - { - //_RYML_CB_ASSERT(m_stack.m_callbacks, has_none(RTOP)); - add_flags(RTOP); - } - _c4dbgpf("popping level: now, currnode={} currlevel={}", m_state->node_id, m_state->level); -} - -//----------------------------------------------------------------------------- -void Parser::_start_unk(bool /*as_child*/) -{ - _c4dbgp("start_unk"); - _push_level(); - _move_scalar_from_top(); -} - -//----------------------------------------------------------------------------- -void Parser::_start_doc(bool as_child) -{ - _c4dbgpf("start_doc (as child={})", as_child); - _RYML_CB_ASSERT(m_stack.m_callbacks, node(m_stack.bottom()) == node(m_root_id)); - size_t parent_id = m_stack.size() < 2 ? m_root_id : m_stack.top(1).node_id; - _RYML_CB_ASSERT(m_stack.m_callbacks, parent_id != NONE); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_root(parent_id)); - _RYML_CB_ASSERT(m_stack.m_callbacks, node(m_state) == nullptr || node(m_state) == node(m_root_id)); - if(as_child) - { - _c4dbgpf("start_doc: parent={}", parent_id); - if( ! m_tree->is_stream(parent_id)) - { - _c4dbgp("start_doc: rearranging with root as STREAM"); - m_tree->set_root_as_stream(); - } - m_state->node_id = m_tree->append_child(parent_id); - m_tree->to_doc(m_state->node_id); - } - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_seq(parent_id) || m_tree->empty(parent_id)); - m_state->node_id = parent_id; - if( ! m_tree->is_doc(parent_id)) - { - m_tree->to_doc(parent_id, DOC); - } - } - #endif - _c4dbgpf("start_doc: id={}", m_state->node_id); - add_flags(RUNK|RTOP|NDOC); - _handle_types(); - rem_flags(NDOC); -} - -void Parser::_stop_doc() -{ - size_t doc_node = m_state->node_id; - _c4dbgpf("stop_doc[{}]", doc_node); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_doc(doc_node)); - if(!m_tree->is_seq(doc_node) && !m_tree->is_map(doc_node) && !m_tree->is_val(doc_node)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(SSCL)); - _c4dbgpf("stop_doc[{}]: there was nothing; adding null val", doc_node); - m_tree->to_val(doc_node, {}, DOC); - } -} - -void Parser::_end_stream() -{ - _c4dbgpf("end_stream, level={} node_id={}", m_state->level, m_state->node_id); - _RYML_CB_ASSERT(m_stack.m_callbacks, ! m_stack.empty()); - NodeData *added = nullptr; - if(has_any(SSCL)) - { - if(m_tree->is_seq(m_state->node_id)) - { - _c4dbgp("append val..."); - added = _append_val(_consume_scalar()); - } - else if(m_tree->is_map(m_state->node_id)) - { - _c4dbgp("append null key val..."); - added = _append_key_val_null(m_state->line_contents.rem.str); - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - if(has_any(RSEQIMAP)) - { - _stop_seqimap(); - _pop_level(); - } - #endif - } - else if(m_tree->is_doc(m_state->node_id) || m_tree->type(m_state->node_id) == NOTYPE) - { - NodeType_e quoted = has_any(QSCL) ? VALQUO : NOTYPE; // do this before consuming the scalar - csubstr scalar = _consume_scalar(); - _c4dbgpf("node[{}]: to docval '{}'{}", m_state->node_id, scalar, quoted == VALQUO ? ", quoted" : ""); - m_tree->to_val(m_state->node_id, scalar, DOC|quoted); - added = m_tree->get(m_state->node_id); - } - else - { - _c4err("internal error"); - } - } - else if(has_all(RSEQ|RVAL) && has_none(FLOW)) - { - _c4dbgp("add last..."); - added = _append_val_null(m_state->line_contents.rem.str); - } - else if(!m_val_tag.empty() && (m_tree->is_doc(m_state->node_id) || m_tree->type(m_state->node_id) == NOTYPE)) - { - csubstr scalar = m_state->line_contents.rem.first(0); - _c4dbgpf("node[{}]: add null scalar as docval", m_state->node_id); - m_tree->to_val(m_state->node_id, scalar, DOC); - added = m_tree->get(m_state->node_id); - } - - if(added) - { - size_t added_id = m_tree->id(added); - if(m_tree->is_seq(m_state->node_id) || m_tree->is_doc(m_state->node_id)) - { - if(!m_key_anchor.empty()) - { - _c4dbgpf("node[{}]: move key to val anchor: '{}'", added_id, m_key_anchor); - m_val_anchor = m_key_anchor; - m_key_anchor = {}; - } - if(!m_key_tag.empty()) - { - _c4dbgpf("node[{}]: move key to val tag: '{}'", added_id, m_key_tag); - m_val_tag = m_key_tag; - m_key_tag = {}; - } - } - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - if(!m_key_anchor.empty()) - { - _c4dbgpf("node[{}]: set key anchor='{}'", added_id, m_key_anchor); - m_tree->set_key_anchor(added_id, m_key_anchor); - m_key_anchor = {}; - } - #endif - if(!m_val_anchor.empty()) - { - _c4dbgpf("node[{}]: set val anchor='{}'", added_id, m_val_anchor); - m_tree->set_val_anchor(added_id, m_val_anchor); - m_val_anchor = {}; - } - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - if(!m_key_tag.empty()) - { - _c4dbgpf("node[{}]: set key tag='{}' -> '{}'", added_id, m_key_tag, normalize_tag(m_key_tag)); - m_tree->set_key_tag(added_id, normalize_tag(m_key_tag)); - m_key_tag = {}; - } - #endif - if(!m_val_tag.empty()) - { - _c4dbgpf("node[{}]: set val tag='{}' -> '{}'", added_id, m_val_tag, normalize_tag(m_val_tag)); - m_tree->set_val_tag(added_id, normalize_tag(m_val_tag)); - m_val_tag = {}; - } - } - - while(m_stack.size() > 1) - { - _c4dbgpf("popping level: {} (stack sz={})", m_state->level, m_stack.size()); - _RYML_CB_ASSERT(m_stack.m_callbacks, ! has_any(SSCL, &m_stack.top())); - if(has_all(RSEQ|FLOW)) - _err("closing ] not found"); - _pop_level(); - } - add_flags(NDOC); -} - -void Parser::_start_new_doc(csubstr rem) -{ - _c4dbgp("_start_new_doc"); - _RYML_CB_ASSERT(m_stack.m_callbacks, rem.begins_with("---")); - C4_UNUSED(rem); - - _end_stream(); - - size_t indref = m_state->indref; - _c4dbgpf("start a document, indentation={}", indref); - _line_progressed(3); - _push_level(); - _start_doc(); - _set_indentation(indref); -} - - -//----------------------------------------------------------------------------- -void Parser::_start_map(bool as_child) -{ - _c4dbgpf("start_map (as child={})", as_child); - addrem_flags(RMAP|RVAL, RKEY|RUNK); - _RYML_CB_ASSERT(m_stack.m_callbacks, node(m_stack.bottom()) == node(m_root_id)); - size_t parent_id = m_stack.size() < 2 ? m_root_id : m_stack.top(1).node_id; - _RYML_CB_ASSERT(m_stack.m_callbacks, parent_id != NONE); - _RYML_CB_ASSERT(m_stack.m_callbacks, node(m_state) == nullptr || node(m_state) == node(m_root_id)); - if(as_child) - { - m_state->node_id = m_tree->append_child(parent_id); - if(has_all(SSCL)) - { - type_bits key_quoted = NOTYPE; - if(m_state->flags & QSCL) // before consuming the scalar - key_quoted |= KEYQUO; - csubstr key = _consume_scalar(); - m_tree->to_map(m_state->node_id, key, key_quoted); - _c4dbgpf("start_map: id={} key='{}'", m_state->node_id, m_tree->key(m_state->node_id)); - _write_key_anchor(m_state->node_id); - if( ! m_key_tag.empty()) - { - _c4dbgpf("node[{}]: set key tag='{}' -> '{}'", m_state->node_id, m_key_tag, normalize_tag(m_key_tag)); - m_tree->set_key_tag(m_state->node_id, normalize_tag(m_key_tag)); - m_key_tag.clear(); - } - } - else - { - m_tree->to_map(m_state->node_id); - _c4dbgpf("start_map: id={}", m_state->node_id); - } - m_tree->_p(m_state->node_id)->m_val.scalar.str = m_state->line_contents.rem.str; - _write_val_anchor(m_state->node_id); - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, parent_id != NONE); - m_state->node_id = parent_id; - _c4dbgpf("start_map: id={}", m_state->node_id); - type_bits as_doc = 0; - if(m_tree->is_doc(m_state->node_id)) - as_doc |= DOC; - if(!m_tree->is_map(parent_id)) - { - RYML_CHECK(!m_tree->has_children(parent_id)); - m_tree->to_map(parent_id, as_doc); - } - else - { - m_tree->_add_flags(parent_id, as_doc); - } - _move_scalar_from_top(); - if(m_key_anchor.not_empty()) - m_key_anchor_was_before = true; - _write_val_anchor(parent_id); - if(m_stack.size() >= 2) - { - State const& parent_state = m_stack.top(1); - if(parent_state.flags & RSET) - add_flags(RSET); - } - m_tree->_p(parent_id)->m_val.scalar.str = m_state->line_contents.rem.str; - } - if( ! m_val_tag.empty()) - { - _c4dbgpf("node[{}]: set val tag='{}' -> '{}'", m_state->node_id, m_val_tag, normalize_tag(m_val_tag)); - m_tree->set_val_tag(m_state->node_id, normalize_tag(m_val_tag)); - m_val_tag.clear(); - } -} - -void Parser::_start_map_unk(bool as_child) -{ - if(!m_key_anchor_was_before) - { - _c4dbgpf("stash key anchor before starting map... '{}'", m_key_anchor); - csubstr ka = m_key_anchor; - m_key_anchor = {}; - _start_map(as_child); - m_key_anchor = ka; - } - else - { - _start_map(as_child); - m_key_anchor_was_before = false; - } - if(m_key_tag2.not_empty()) - { - m_key_tag = m_key_tag2; - m_key_tag_indentation = m_key_tag2_indentation; - m_key_tag2.clear(); - m_key_tag2_indentation = 0; - } -} - -void Parser::_stop_map() -{ - _c4dbgpf("stop_map[{}]", m_state->node_id); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_map(m_state->node_id)); - if(has_all(QMRK|RKEY) && !has_all(SSCL)) - { - _c4dbgpf("stop_map[{}]: RKEY", m_state->node_id); - _store_scalar_null(m_state->line_contents.rem.str); - _append_key_val_null(m_state->line_contents.rem.str); - } -} - - -//----------------------------------------------------------------------------- -void Parser::_start_seq(bool as_child) -{ - _c4dbgpf("start_seq (as child={})", as_child); - if(has_all(RTOP|RUNK)) - { - _c4dbgpf("start_seq: moving key tag to val tag: '{}'", m_key_tag); - m_val_tag = m_key_tag; - m_key_tag.clear(); - } - addrem_flags(RSEQ|RVAL, RUNK); - _RYML_CB_ASSERT(m_stack.m_callbacks, node(m_stack.bottom()) == node(m_root_id)); - size_t parent_id = m_stack.size() < 2 ? m_root_id : m_stack.top(1).node_id; - _RYML_CB_ASSERT(m_stack.m_callbacks, parent_id != NONE); - _RYML_CB_ASSERT(m_stack.m_callbacks, node(m_state) == nullptr || node(m_state) == node(m_root_id)); - if(as_child) - { - m_state->node_id = m_tree->append_child(parent_id); - if(has_all(SSCL)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_map(parent_id)); - type_bits key_quoted = 0; - if(m_state->flags & QSCL) // before consuming the scalar - key_quoted |= KEYQUO; - csubstr key = _consume_scalar(); - m_tree->to_seq(m_state->node_id, key, key_quoted); - _c4dbgpf("start_seq: id={} name='{}'", m_state->node_id, m_tree->key(m_state->node_id)); - _write_key_anchor(m_state->node_id); - if( ! m_key_tag.empty()) - { - _c4dbgpf("start_seq[{}]: set key tag='{}' -> '{}'", m_state->node_id, m_key_tag, normalize_tag(m_key_tag)); - m_tree->set_key_tag(m_state->node_id, normalize_tag(m_key_tag)); - m_key_tag.clear(); - } - } - else - { - type_bits as_doc = 0; - _RYML_CB_ASSERT(m_stack.m_callbacks, !m_tree->is_doc(m_state->node_id)); - m_tree->to_seq(m_state->node_id, as_doc); - _c4dbgpf("start_seq: id={}{}", m_state->node_id, as_doc ? " as doc" : ""); - } - _write_val_anchor(m_state->node_id); - m_tree->_p(m_state->node_id)->m_val.scalar.str = m_state->line_contents.rem.str; - } - else - { - m_state->node_id = parent_id; - type_bits as_doc = 0; - if(m_tree->is_doc(m_state->node_id)) - as_doc |= DOC; - if(!m_tree->is_seq(parent_id)) - { - RYML_CHECK(!m_tree->has_children(parent_id)); - m_tree->to_seq(parent_id, as_doc); - } - else - { - m_tree->_add_flags(parent_id, as_doc); - } - _move_scalar_from_top(); - _c4dbgpf("start_seq: id={}{}", m_state->node_id, as_doc ? " as_doc" : ""); - _write_val_anchor(parent_id); - m_tree->_p(parent_id)->m_val.scalar.str = m_state->line_contents.rem.str; - } - if( ! m_val_tag.empty()) - { - _c4dbgpf("start_seq[{}]: set val tag='{}' -> '{}'", m_state->node_id, m_val_tag, normalize_tag(m_val_tag)); - m_tree->set_val_tag(m_state->node_id, normalize_tag(m_val_tag)); - m_val_tag.clear(); - } -} - -void Parser::_stop_seq() -{ - _c4dbgp("stop_seq"); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_seq(m_state->node_id)); -} - - -//----------------------------------------------------------------------------- -void Parser::_start_seqimap() -{ - _c4dbgpf("start_seqimap at node={}. has_children={}", m_state->node_id, m_tree->has_children(m_state->node_id)); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(RSEQ|FLOW)); - // create a map, and turn the last scalar of this sequence - // into the key of the map's first child. This scalar was - // understood to be a value in the sequence, but it is - // actually a key of a map, implicitly opened here. - // Eg [val, key: val] - // - // Yep, YAML is crazy. - if(m_tree->has_children(m_state->node_id) && m_tree->has_val(m_tree->last_child(m_state->node_id))) - { - size_t prev = m_tree->last_child(m_state->node_id); - NodeType ty = m_tree->_p(prev)->m_type; // don't use type() because it masks out the quotes - NodeScalar tmp = m_tree->valsc(prev); - _c4dbgpf("has children and last child={} has val. saving the scalars, val='{}' quoted={}", prev, tmp.scalar, ty.is_val_quoted()); - m_tree->remove(prev); - _push_level(); - _start_map(); - _store_scalar(tmp.scalar, ty.is_val_quoted()); - m_key_anchor = tmp.anchor; - m_key_tag = tmp.tag; - } - else - { - _c4dbgpf("node {} has no children yet, using empty key", m_state->node_id); - _push_level(); - _start_map(); - _store_scalar_null(m_state->line_contents.rem.str); - } - add_flags(RSEQIMAP|FLOW); -} - -void Parser::_stop_seqimap() -{ - _c4dbgp("stop_seqimap"); - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(RSEQIMAP)); -} - - -//----------------------------------------------------------------------------- -NodeData* Parser::_append_val(csubstr val, flag_t quoted) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, ! has_all(SSCL)); - _RYML_CB_ASSERT(m_stack.m_callbacks, node(m_state) != nullptr); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_seq(m_state->node_id)); - type_bits additional_flags = quoted ? VALQUO : NOTYPE; - _c4dbgpf("append val: '{}' to parent id={} (level={}){}", val, m_state->node_id, m_state->level, quoted ? " VALQUO!" : ""); - size_t nid = m_tree->append_child(m_state->node_id); - m_tree->to_val(nid, val, additional_flags); - - _c4dbgpf("append val: id={} val='{}'", nid, m_tree->get(nid)->m_val.scalar); - if( ! m_val_tag.empty()) - { - _c4dbgpf("append val[{}]: set val tag='{}' -> '{}'", nid, m_val_tag, normalize_tag(m_val_tag)); - m_tree->set_val_tag(nid, normalize_tag(m_val_tag)); - m_val_tag.clear(); - } - _write_val_anchor(nid); - return m_tree->get(nid); -} - -NodeData* Parser::_append_key_val(csubstr val, flag_t val_quoted) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, m_tree->is_map(m_state->node_id)); - type_bits additional_flags = 0; - if(m_state->flags & QSCL) - additional_flags |= KEYQUO; - if(val_quoted) - additional_flags |= VALQUO; - - csubstr key = _consume_scalar(); - _c4dbgpf("append keyval: '{}' '{}' to parent id={} (level={}){}{}", key, val, m_state->node_id, m_state->level, (additional_flags & KEYQUO) ? " KEYQUO!" : "", (additional_flags & VALQUO) ? " VALQUO!" : ""); - size_t nid = m_tree->append_child(m_state->node_id); - m_tree->to_keyval(nid, key, val, additional_flags); - _c4dbgpf("append keyval: id={} key='{}' val='{}'", nid, m_tree->key(nid), m_tree->val(nid)); - if( ! m_key_tag.empty()) - { - _c4dbgpf("append keyval[{}]: set key tag='{}' -> '{}'", nid, m_key_tag, normalize_tag(m_key_tag)); - m_tree->set_key_tag(nid, normalize_tag(m_key_tag)); - m_key_tag.clear(); - } - if( ! m_val_tag.empty()) - { - _c4dbgpf("append keyval[{}]: set val tag='{}' -> '{}'", nid, m_val_tag, normalize_tag(m_val_tag)); - m_tree->set_val_tag(nid, normalize_tag(m_val_tag)); - m_val_tag.clear(); - } - _write_key_anchor(nid); - _write_val_anchor(nid); - rem_flags(QMRK); - return m_tree->get(nid); -} - - -//----------------------------------------------------------------------------- -void Parser::_store_scalar(csubstr s, flag_t is_quoted) -{ - _c4dbgpf("state[{}]: storing scalar '{}' (flag: {}) (old scalar='{}')", - m_state-m_stack.begin(), s, m_state->flags & SSCL, m_state->scalar); - RYML_CHECK(has_none(SSCL)); - add_flags(SSCL | (is_quoted * QSCL)); - m_state->scalar = s; -} - -csubstr Parser::_consume_scalar() -{ - _c4dbgpf("state[{}]: consuming scalar '{}' (flag: {}))", m_state-m_stack.begin(), m_state->scalar, m_state->flags & SSCL); - RYML_CHECK(m_state->flags & SSCL); - csubstr s = m_state->scalar; - rem_flags(SSCL | QSCL); - m_state->scalar.clear(); - return s; -} - -void Parser::_move_scalar_from_top() -{ - if(m_stack.size() < 2) return; - State &prev = m_stack.top(1); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state == &m_stack.top()); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state != &prev); - if(prev.flags & SSCL) - { - _c4dbgpf("moving scalar '{}' from state[{}] to state[{}] (overwriting '{}')", prev.scalar, &prev-m_stack.begin(), m_state-m_stack.begin(), m_state->scalar); - add_flags(prev.flags & (SSCL | QSCL)); - m_state->scalar = prev.scalar; - rem_flags(SSCL | QSCL, &prev); - prev.scalar.clear(); - } -} - -//----------------------------------------------------------------------------- -/** @todo this function is a monster and needs love. Likely, it needs - * to be split like _scan_scalar_*() */ -bool Parser::_handle_indentation() -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(FLOW)); - if( ! _at_line_begin()) - return false; - - size_t ind = m_state->line_contents.indentation; - csubstr rem = m_state->line_contents.rem; - /** @todo instead of trimming, we should use the indentation index from above */ - csubstr remt = rem.triml(' '); - - if(remt.empty() || remt.begins_with('#')) // this is a blank or comment line - { - _line_progressed(rem.size()); - return true; - } - - _c4dbgpf("indentation? ind={} indref={}", ind, m_state->indref); - if(ind == m_state->indref) - { - _c4dbgpf("same indentation: {}", ind); - if(!rem.sub(ind).begins_with('-')) - { - _c4dbgp("does not begin with -"); - if(has_any(RMAP)) - { - if(has_all(SSCL|RVAL)) - { - _c4dbgp("add with null val"); - _append_key_val_null(rem.str + ind - 1); - addrem_flags(RKEY, RVAL); - } - } - else if(has_any(RSEQ)) - { - if(m_stack.size() > 2) // do not pop to root level - { - if(has_any(RNXT)) - { - _c4dbgp("end the indentless seq"); - _pop_level(); - return true; - } - else if(has_any(RVAL)) - { - _c4dbgp("add with null val"); - _append_val_null(rem.str); - _c4dbgp("end the indentless seq"); - _pop_level(); - return true; - } - } - } - } - _line_progressed(ind); - return ind > 0; - } - else if(ind < m_state->indref) - { - _c4dbgpf("smaller indentation ({} < {})!!!", ind, m_state->indref); - if(has_all(RVAL)) - { - _c4dbgp("there was an empty val -- appending"); - if(has_all(RMAP)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_all(SSCL)); - _append_key_val_null(rem.sub(ind).str - 1); - } - else if(has_all(RSEQ)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, has_none(SSCL)); - _append_val_null(rem.sub(ind).str - 1); - } - } - // search the stack frame to jump to based on its indentation - State const* popto = nullptr; - _RYML_CB_ASSERT(m_stack.m_callbacks, m_stack.is_contiguous()); // this search relies on the stack being contiguous - for(State const* s = m_state-1; s >= m_stack.begin(); --s) - { - _c4dbgpf("searching for state with indentation {}. curr={} (level={},node={})", ind, s->indref, s->level, s->node_id); - if(s->indref == ind) - { - _c4dbgpf("gotit!!! level={} node={}", s->level, s->node_id); - popto = s; - // while it may be tempting to think we're done at this - // point, we must still determine whether we're jumping to a - // parent with the same indentation. Consider this case with - // an indentless sequence: - // - // product: - // - sku: BL394D - // quantity: 4 - // description: Basketball - // price: 450.00 - // - sku: BL4438H - // quantity: 1 - // description: Super Hoop - // price: 2392.00 # jumping one level here would be wrong. - // tax: 1234.5 # we must jump two levels - if(popto > m_stack.begin()) - { - auto parent = popto - 1; - if(parent->indref == popto->indref) - { - _c4dbgpf("the parent (level={},node={}) has the same indentation ({}). is this in an indentless sequence?", parent->level, parent->node_id, popto->indref); - _c4dbgpf("isseq(popto)={} ismap(parent)={}", m_tree->is_seq(popto->node_id), m_tree->is_map(parent->node_id)); - if(m_tree->is_seq(popto->node_id) && m_tree->is_map(parent->node_id)) - { - if( ! remt.begins_with('-')) - { - _c4dbgp("this is an indentless sequence"); - popto = parent; - } - else - { - _c4dbgp("not an indentless sequence"); - } - } - } - } - break; - } - } - if(!popto || popto >= m_state || popto->level >= m_state->level) - { - _c4err("parse error: incorrect indentation?"); - } - _c4dbgpf("popping {} levels: from level {} to level {}", m_state->level-popto->level, m_state->level, popto->level); - while(m_state != popto) - { - _c4dbgpf("popping level {} (indentation={})", m_state->level, m_state->indref); - _pop_level(); - } - _RYML_CB_ASSERT(m_stack.m_callbacks, ind == m_state->indref); - _line_progressed(ind); - return true; - } - else - { - _c4dbgpf("larger indentation ({} > {})!!!", ind, m_state->indref); - _RYML_CB_ASSERT(m_stack.m_callbacks, ind > m_state->indref); - if(has_all(RMAP|RVAL)) - { - if(_is_scalar_next__rmap_val(remt) && remt.first_of(":?") == npos) - { - _c4dbgpf("actually it seems a value: '{}'", remt); - } - else - { - addrem_flags(RKEY, RVAL); - _start_unk(); - //_move_scalar_from_top(); - _line_progressed(ind); - _save_indentation(); - return true; - } - } - else if(has_all(RSEQ|RVAL)) - { - // nothing to do here - } - else - { - _c4err("parse error - indentation should not increase at this point"); - } - } - - return false; -} - -//----------------------------------------------------------------------------- -csubstr Parser::_scan_comment() -{ - csubstr s = m_state->line_contents.rem; - _RYML_CB_ASSERT(m_stack.m_callbacks, s.begins_with('#')); - _line_progressed(s.len); - // skip the # character - s = s.sub(1); - // skip leading whitespace - s = s.right_of(s.first_not_of(' '), /*include_pos*/true); - _c4dbgpf("comment was '{}'", s); - return s; -} - -//----------------------------------------------------------------------------- -csubstr Parser::_scan_squot_scalar() -{ - // quoted scalars can spread over multiple lines! - // nice explanation here: http://yaml-multiline.info/ - - // a span to the end of the file - size_t b = m_state->pos.offset; - substr s = m_buf.sub(b); - if(s.begins_with(' ')) - { - s = s.triml(' '); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.sub(b).is_super(s)); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.begin() >= m_buf.sub(b).begin()); - _line_progressed((size_t)(s.begin() - m_buf.sub(b).begin())); - } - b = m_state->pos.offset; // take this into account - _RYML_CB_ASSERT(m_stack.m_callbacks, s.begins_with('\'')); - - // skip the opening quote - _line_progressed(1); - s = s.sub(1); - - bool needs_filter = false; - - size_t numlines = 1; // we already have one line - size_t pos = npos; // find the pos of the matching quote - while( ! _finished_file()) - { - const csubstr line = m_state->line_contents.rem; - bool line_is_blank = true; - _c4dbgpf("scanning single quoted scalar @ line[{}]: ~~~{}~~~", m_state->pos.line, line); - for(size_t i = 0; i < line.len; ++i) - { - const char curr = line.str[i]; - if(curr == '\'') // single quotes are escaped with two single quotes - { - const char next = i+1 < line.len ? line.str[i+1] : '~'; - if(next != '\'') // so just look for the first quote - { // without another after it - pos = i; - break; - } - else - { - needs_filter = true; // needs filter to remove escaped quotes - ++i; // skip the escaped quote - } - } - else if(curr != ' ') - { - line_is_blank = false; - } - } - - // leading whitespace also needs filtering - needs_filter = needs_filter - || (numlines > 1) - || line_is_blank - || (_at_line_begin() && line.begins_with(' ')); - - if(pos == npos) - { - _line_progressed(line.len); - ++numlines; - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, pos >= 0 && pos < m_buf.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf[m_state->pos.offset + pos] == '\''); - _line_progressed(pos + 1); // progress beyond the quote - pos = m_state->pos.offset - b - 1; // but we stop before it - break; - } - - _line_ended(); - _scan_line(); - } - - if(pos == npos) - { - _c4err("reached end of file while looking for closing quote"); - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, pos > 0); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.end() >= m_buf.begin() && s.end() <= m_buf.end()); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.end() == m_buf.end() || *s.end() == '\''); - s = s.sub(0, pos-1); - } - - if(needs_filter) - { - csubstr ret = _filter_squot_scalar(s); - _RYML_CB_ASSERT(m_stack.m_callbacks, ret.len <= s.len || s.empty() || s.trim(' ').empty()); - _c4dbgpf("final scalar: \"{}\"", ret); - return ret; - } - - _c4dbgpf("final scalar: \"{}\"", s); - - return s; -} - -//----------------------------------------------------------------------------- -csubstr Parser::_scan_dquot_scalar() -{ - // quoted scalars can spread over multiple lines! - // nice explanation here: http://yaml-multiline.info/ - - // a span to the end of the file - size_t b = m_state->pos.offset; - substr s = m_buf.sub(b); - if(s.begins_with(' ')) - { - s = s.triml(' '); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.sub(b).is_super(s)); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.begin() >= m_buf.sub(b).begin()); - _line_progressed((size_t)(s.begin() - m_buf.sub(b).begin())); - } - b = m_state->pos.offset; // take this into account - _RYML_CB_ASSERT(m_stack.m_callbacks, s.begins_with('"')); - - // skip the opening quote - _line_progressed(1); - s = s.sub(1); - - bool needs_filter = false; - - size_t numlines = 1; // we already have one line - size_t pos = npos; // find the pos of the matching quote - while( ! _finished_file()) - { - const csubstr line = m_state->line_contents.rem; - bool line_is_blank = true; - _c4dbgpf("scanning double quoted scalar @ line[{}]: line='{}'", m_state->pos.line, line); - for(size_t i = 0; i < line.len; ++i) - { - const char curr = line.str[i]; - if(curr != ' ') - line_is_blank = false; - // every \ is an escape - if(curr == '\\') - { - const char next = i+1 < line.len ? line.str[i+1] : '~'; - needs_filter = true; - if(next == '"' || next == '\\') - ++i; - } - else if(curr == '"') - { - pos = i; - break; - } - } - - // leading whitespace also needs filtering - needs_filter = needs_filter - || (numlines > 1) - || line_is_blank - || (_at_line_begin() && line.begins_with(' ')); - - if(pos == npos) - { - _line_progressed(line.len); - ++numlines; - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, pos >= 0 && pos < m_buf.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf[m_state->pos.offset + pos] == '"'); - _line_progressed(pos + 1); // progress beyond the quote - pos = m_state->pos.offset - b - 1; // but we stop before it - break; - } - - _line_ended(); - _scan_line(); - } - - if(pos == npos) - { - _c4err("reached end of file looking for closing quote"); - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, pos > 0); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.end() == m_buf.end() || *s.end() == '"'); - _RYML_CB_ASSERT(m_stack.m_callbacks, s.end() >= m_buf.begin() && s.end() <= m_buf.end()); - s = s.sub(0, pos-1); - } - - if(needs_filter) - { - csubstr ret = _filter_dquot_scalar(s); - _c4dbgpf("final scalar: [{}]\"{}\"", ret.len, ret); - _RYML_CB_ASSERT(m_stack.m_callbacks, ret.len <= s.len || s.empty() || s.trim(' ').empty()); - return ret; - } - - _c4dbgpf("final scalar: \"{}\"", s); - - return s; -} - -//----------------------------------------------------------------------------- -csubstr Parser::_scan_block() -{ - // nice explanation here: http://yaml-multiline.info/ - csubstr s = m_state->line_contents.rem; - csubstr trimmed = s.triml(' '); - if(trimmed.str > s.str) - { - _c4dbgp("skipping whitespace"); - _RYML_CB_ASSERT(m_stack.m_callbacks, trimmed.str >= s.str); - _line_progressed(static_cast(trimmed.str - s.str)); - s = trimmed; - } - _RYML_CB_ASSERT(m_stack.m_callbacks, s.begins_with('|') || s.begins_with('>')); - - _c4dbgpf("scanning block: specs=\"{}\"", s); - - // parse the spec - BlockStyle_e newline = s.begins_with('>') ? BLOCK_FOLD : BLOCK_LITERAL; - BlockChomp_e chomp = CHOMP_CLIP; // default to clip unless + or - are used - size_t indentation = npos; // have to find out if no spec is given - csubstr digits; - if(s.len > 1) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, s.begins_with_any("|>")); - csubstr t = s.sub(1); - _c4dbgpf("scanning block: spec is multichar: '{}'", t); - _RYML_CB_ASSERT(m_stack.m_callbacks, t.len >= 1); - size_t pos = t.first_of("-+"); - _c4dbgpf("scanning block: spec chomp char at {}", pos); - if(pos != npos) - { - if(t[pos] == '-') - chomp = CHOMP_STRIP; - else if(t[pos] == '+') - chomp = CHOMP_KEEP; - if(pos == 0) - t = t.sub(1); - else - t = t.first(pos); - } - // from here to the end, only digits are considered - digits = t.left_of(t.first_not_of("0123456789")); - if( ! digits.empty()) - { - if( ! c4::atou(digits, &indentation)) - _c4err("parse error: could not read decimal"); - _c4dbgpf("scanning block: indentation specified: {}. add {} from curr state -> {}", indentation, m_state->indref, indentation+m_state->indref); - indentation += m_state->indref; - } - } - - // finish the current line - _line_progressed(s.len); - _line_ended(); - _scan_line(); - - _c4dbgpf("scanning block: style={} chomp={} indentation={}", newline==BLOCK_FOLD ? "fold" : "literal", chomp==CHOMP_CLIP ? "clip" : (chomp==CHOMP_STRIP ? "strip" : "keep"), indentation); - - // start with a zero-length block, already pointing at the right place - substr raw_block(m_buf.data() + m_state->pos.offset, size_t(0));// m_state->line_contents.full.sub(0, 0); - _RYML_CB_ASSERT(m_stack.m_callbacks, raw_block.begin() == m_state->line_contents.full.begin()); - - // read every full line into a raw block, - // from which newlines are to be stripped as needed. - // - // If no explicit indentation was given, pick it from the first - // non-empty line. See - // https://yaml.org/spec/1.2.2/#8111-block-indentation-indicator - size_t num_lines = 0, first = m_state->pos.line, provisional_indentation = npos; - LineContents lc; - while(( ! _finished_file())) - { - // peek next line, but do not advance immediately - lc.reset_with_next_line(m_buf, m_state->pos.offset); - _c4dbgpf("scanning block: peeking at '{}'", lc.stripped); - // evaluate termination conditions - if(indentation != npos) - { - // stop when the line is deindented and not empty - if(lc.indentation < indentation && ( ! lc.rem.trim(" \t\r\n").empty())) - { - _c4dbgpf("scanning block: indentation decreased ref={} thisline={}", indentation, lc.indentation); - break; - } - else if(indentation == 0) - { - if((lc.rem == "..." || lc.rem.begins_with("... ")) - || - (lc.rem == "---" || lc.rem.begins_with("--- "))) - { - _c4dbgp("scanning block: stop. indentation=0 and stream ended"); - break; - } - } - } - else - { - _c4dbgpf("scanning block: indentation ref not set. firstnonws={}", lc.stripped.first_not_of(' ')); - if(lc.stripped.first_not_of(' ') != npos) // non-empty line - { - _c4dbgpf("scanning block: line not empty. indref={} indprov={} indentation={}", m_state->indref, provisional_indentation, lc.indentation); - if(provisional_indentation == npos) - { - if(lc.indentation < m_state->indref) - { - _c4dbgpf("scanning block: block terminated indentation={} < indref={}", lc.indentation, m_state->indref); - if(raw_block.len == 0) - { - _c4dbgp("scanning block: was empty, undo next line"); - _line_ended_undo(); - } - break; - } - else if(lc.indentation == m_state->indref) - { - if(has_any(RSEQ|RMAP)) - { - _c4dbgpf("scanning block: block terminated. reading container and indentation={}==indref={}", lc.indentation, m_state->indref); - break; - } - } - _c4dbgpf("scanning block: set indentation ref from this line: ref={}", lc.indentation); - indentation = lc.indentation; - } - else - { - if(lc.indentation >= provisional_indentation) - { - _c4dbgpf("scanning block: set indentation ref from provisional indentation: provisional_ref={}, thisline={}", provisional_indentation, lc.indentation); - //indentation = provisional_indentation ? provisional_indentation : lc.indentation; - indentation = lc.indentation; - } - else - { - break; - //_c4err("parse error: first non-empty block line should have at least the original indentation"); - } - } - } - else // empty line - { - _c4dbgpf("scanning block: line empty or {} spaces. line_indentation={} prov_indentation={}", lc.stripped.len, lc.indentation, provisional_indentation); - if(provisional_indentation != npos) - { - if(lc.stripped.len >= provisional_indentation) - { - _c4dbgpf("scanning block: increase provisional_ref {} -> {}", provisional_indentation, lc.stripped.len); - provisional_indentation = lc.stripped.len; - } - #ifdef RYML_NO_COVERAGE__TO_BE_DELETED - else if(lc.indentation >= provisional_indentation && lc.indentation != npos) - { - _c4dbgpf("scanning block: increase provisional_ref {} -> {}", provisional_indentation, lc.indentation); - provisional_indentation = lc.indentation; - } - #endif - } - else - { - provisional_indentation = lc.indentation ? lc.indentation : has_any(RSEQ|RVAL); - _c4dbgpf("scanning block: initialize provisional_ref={}", provisional_indentation); - if(provisional_indentation == npos) - { - provisional_indentation = lc.stripped.len ? lc.stripped.len : has_any(RSEQ|RVAL); - _c4dbgpf("scanning block: initialize provisional_ref={}", provisional_indentation); - } - } - } - } - // advance now that we know the folded scalar continues - m_state->line_contents = lc; - _c4dbgpf("scanning block: append '{}'", m_state->line_contents.rem); - raw_block.len += m_state->line_contents.full.len; - _line_progressed(m_state->line_contents.rem.len); - _line_ended(); - ++num_lines; - } - _RYML_CB_ASSERT(m_stack.m_callbacks, m_state->pos.line == (first + num_lines) || (raw_block.len == 0)); - C4_UNUSED(num_lines); - C4_UNUSED(first); - - if(indentation == npos) - { - _c4dbgpf("scanning block: set indentation from provisional: {}", provisional_indentation); - indentation = provisional_indentation; - } - - if(num_lines) - _line_ended_undo(); - - _c4dbgpf("scanning block: raw=~~~{}~~~", raw_block); - - // ok! now we strip the newlines and spaces according to the specs - s = _filter_block_scalar(raw_block, newline, chomp, indentation); - - _c4dbgpf("scanning block: final=~~~{}~~~", s); - - return s; -} - - -//----------------------------------------------------------------------------- - -template -bool Parser::_filter_nl(substr r, size_t *C4_RESTRICT i, size_t *C4_RESTRICT pos, size_t indentation) -{ - // a debugging scaffold: - #if 0 - #define _c4dbgfnl(fmt, ...) _c4dbgpf("filter_nl[{}]: " fmt, *i, __VA_ARGS__) - #else - #define _c4dbgfnl(...) - #endif - - const char curr = r[*i]; - bool replaced = false; - - _RYML_CB_ASSERT(m_stack.m_callbacks, indentation != npos); - _RYML_CB_ASSERT(m_stack.m_callbacks, curr == '\n'); - - _c4dbgfnl("found newline. sofar=[{}]~~~{}~~~", *pos, m_filter_arena.first(*pos)); - size_t ii = *i; - size_t numnl_following = count_following_newlines(r, &ii, indentation); - if(numnl_following) - { - _c4dbgfnl("{} consecutive (empty) lines {} in the middle. totalws={}", 1+numnl_following, ii < r.len ? "in the middle" : "at the end", ii - *i); - for(size_t j = 0; j < numnl_following; ++j) - m_filter_arena.str[(*pos)++] = '\n'; - } - else - { - if(r.first_not_of(" \t", *i+1) != npos) - { - m_filter_arena.str[(*pos)++] = ' '; - _c4dbgfnl("single newline. convert to space. ii={}/{}. sofar=[{}]~~~{}~~~", ii, r.len, *pos, m_filter_arena.first(*pos)); - replaced = true; - } - else - { - if C4_IF_CONSTEXPR (keep_trailing_whitespace) - { - m_filter_arena.str[(*pos)++] = ' '; - _c4dbgfnl("single newline. convert to space. ii={}/{}. sofar=[{}]~~~{}~~~", ii, r.len, *pos, m_filter_arena.first(*pos)); - replaced = true; - } - else - { - _c4dbgfnl("last newline, everything else is whitespace. ii={}/{}", ii, r.len); - *i = r.len; - } - } - if C4_IF_CONSTEXPR (backslash_is_escape) - { - if(ii < r.len && r.str[ii] == '\\') - { - const char next = ii+1 < r.len ? r.str[ii+1] : '\0'; - if(next == ' ' || next == '\t') - { - _c4dbgfnl("extend skip to backslash{}", ""); - ++ii; - } - } - } - } - *i = ii - 1; // correct for the loop increment - - #undef _c4dbgfnl - - return replaced; -} - - -//----------------------------------------------------------------------------- - -template -void Parser::_filter_ws(substr r, size_t *C4_RESTRICT i, size_t *C4_RESTRICT pos) -{ - // a debugging scaffold: - #if 0 - #define _c4dbgfws(fmt, ...) _c4dbgpf("filt_nl[{}]: " fmt, *i, __VA_ARGS__) - #else - #define _c4dbgfws(...) - #endif - - const char curr = r[*i]; - _c4dbgfws("found whitespace '{}'", _c4prc(curr)); - _RYML_CB_ASSERT(m_stack.m_callbacks, curr == ' ' || curr == '\t'); - - size_t first = *i > 0 ? r.first_not_of(" \t", *i) : r.first_not_of(' ', *i); - if(first != npos) - { - if(r[first] == '\n' || r[first] == '\r') // skip trailing whitespace - { - _c4dbgfws("whitespace is trailing on line. firstnonws='{}'@{}", _c4prc(r[first]), first); - *i = first - 1; // correct for the loop increment - } - else // a legit whitespace - { - m_filter_arena.str[(*pos)++] = curr; - _c4dbgfws("legit whitespace. sofar=[{}]~~~{}~~~", *pos, m_filter_arena.first(*pos)); - } - } - else - { - _c4dbgfws("... everything else is trailing whitespace{}", ""); - if C4_IF_CONSTEXPR (keep_trailing_whitespace) - for(size_t j = *i; j < r.len; ++j) - m_filter_arena.str[(*pos)++] = r[j]; - *i = r.len; - } - - #undef _c4dbgfws -} - - -//----------------------------------------------------------------------------- -csubstr Parser::_filter_plain_scalar(substr s, size_t indentation) -{ - // a debugging scaffold: - #if 0 - #define _c4dbgfps(...) _c4dbgpf("filt_plain_scalar" __VA_ARGS__) - #else - #define _c4dbgfps(...) - #endif - - _c4dbgfps("before=~~~{}~~~", s); - - substr r = s.triml(" \t"); - _grow_filter_arena(r.len); - size_t pos = 0; // the filtered size - bool filtered_chars = false; - for(size_t i = 0; i < r.len; ++i) - { - const char curr = r.str[i]; - _c4dbgfps("[{}]: '{}'", i, _c4prc(curr)); - if(curr == ' ' || curr == '\t') - { - _filter_ws(r, &i, &pos); - } - else if(curr == '\n') - { - filtered_chars = _filter_nl(r, &i, &pos, indentation); - } - else if(curr == '\r') // skip \r --- https://stackoverflow.com/questions/1885900 - { - ; - } - else - { - m_filter_arena.str[pos++] = r[i]; - } - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= m_filter_arena.len); - if(pos < r.len || filtered_chars) - { - r = _finish_filter_arena(r, pos); - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len >= r.len); - _c4dbgfps("#filteredchars={} after=~~~{}~~~", s.len - r.len, r); - - #undef _c4dbgfps - return r; -} - - -//----------------------------------------------------------------------------- -csubstr Parser::_filter_squot_scalar(substr s) -{ - // a debugging scaffold: - #if 0 - #define _c4dbgfsq(...) _c4dbgpf("filt_squo_scalar") - #else - #define _c4dbgfsq(...) - #endif - - // from the YAML spec for double-quoted scalars: - // https://yaml.org/spec/1.2-old/spec.html#style/flow/single-quoted - - _c4dbgfsq(": before=~~~{}~~~", s); - - _grow_filter_arena(s.len); - substr r = s; - size_t pos = 0; // the filtered size - bool filtered_chars = false; - for(size_t i = 0; i < r.len; ++i) - { - const char curr = r[i]; - _c4dbgfsq("[{}]: '{}'", i, _c4prc(curr)); - if(curr == ' ' || curr == '\t') - { - _filter_ws(r, &i, &pos); - } - else if(curr == '\n') - { - filtered_chars = _filter_nl(r, &i, &pos, /*indentation*/0); - } - else if(curr == '\r') // skip \r --- https://stackoverflow.com/questions/1885900 - { - ; - } - else if(curr == '\'') - { - char next = i+1 < r.len ? r[i+1] : '\0'; - if(next == '\'') - { - _c4dbgfsq("[{}]: two consecutive quotes", i); - filtered_chars = true; - m_filter_arena.str[pos++] = '\''; - ++i; - } - } - else - { - m_filter_arena.str[pos++] = curr; - } - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= m_filter_arena.len); - if(pos < r.len || filtered_chars) - { - r = _finish_filter_arena(r, pos); - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len >= r.len); - _c4dbgpf(": #filteredchars={} after=~~~{}~~~", s.len - r.len, r); - - #undef _c4dbgfsq - return r; -} - - -//----------------------------------------------------------------------------- -csubstr Parser::_filter_dquot_scalar(substr s) -{ - // a debugging scaffold: - #if 0 - #define _c4dbgfdq(...) _c4dbgpf("filt_dquo_scalar" __VA_ARGS__) - #else - #define _c4dbgfdq(...) - #endif - - _c4dbgfdq(": before=~~~{}~~~", s); - - // from the YAML spec for double-quoted scalars: - // https://yaml.org/spec/1.2-old/spec.html#style/flow/double-quoted - // - // All leading and trailing white space characters are excluded - // from the content. Each continuation line must therefore contain - // at least one non-space character. Empty lines, if any, are - // consumed as part of the line folding. - - _grow_filter_arena(s.len + 2u * s.count('\\')); - substr r = s; - size_t pos = 0; // the filtered size - bool filtered_chars = false; - for(size_t i = 0; i < r.len; ++i) - { - const char curr = r[i]; - _c4dbgfdq("[{}]: '{}'", i, _c4prc(curr)); - if(curr == ' ' || curr == '\t') - { - _filter_ws(r, &i, &pos); - } - else if(curr == '\n') - { - filtered_chars = _filter_nl(r, &i, &pos, /*indentation*/0); - } - else if(curr == '\r') // skip \r --- https://stackoverflow.com/questions/1885900 - { - ; - } - else if(curr == '\\') - { - char next = i+1 < r.len ? r[i+1] : '\0'; - _c4dbgfdq("[{}]: backslash, next='{}'", i, _c4prc(next)); - filtered_chars = true; - if(next == '\r') - { - if(i+2 < r.len && r[i+2] == '\n') - { - ++i; // newline escaped with \ -- skip both (add only one as i is loop-incremented) - next = '\n'; - _c4dbgfdq("[{}]: was \\r\\n, now next='\\n'", i); - } - } - // remember the loop will also increment i - if(next == '\n') - { - size_t ii = i + 2; - for( ; ii < r.len; ++ii) - { - if(r.str[ii] == ' ' || r.str[ii] == '\t') // skip leading whitespace - ; - else - break; - } - i += ii - i - 1; - } - else if(next == '"' || next == '/' || next == ' ' || next == '\t') // escapes for json compatibility - { - m_filter_arena.str[pos++] = next; - ++i; - } - else if(next == '\r') - { - //++i; - } - else if(next == 'n') - { - m_filter_arena.str[pos++] = '\n'; - ++i; - } - else if(next == 'r') - { - m_filter_arena.str[pos++] = '\r'; - ++i; // skip - } - else if(next == 't') - { - m_filter_arena.str[pos++] = '\t'; - ++i; - } - else if(next == '\\') - { - m_filter_arena.str[pos++] = '\\'; - ++i; - } - else if(next == 'x') // UTF8 - { - if(i + 1u + 2u >= r.len) - _c4err("\\x requires 2 hex digits"); - uint8_t byteval = {}; - if(!read_hex(r.sub(i + 2u, 2u), &byteval)) - _c4err("failed to read \\x codepoint"); - m_filter_arena.str[pos++] = *(char*)&byteval; - i += 1u + 2u; - } - else if(next == 'u') // UTF16 - { - if(i + 1u + 4u >= r.len) - _c4err("\\u requires 4 hex digits"); - char readbuf[8]; - csubstr codepoint = r.sub(i + 2u, 4u); - uint32_t codepoint_val = {}; - if(!read_hex(codepoint, &codepoint_val)) - _c4err("failed to parse \\u codepoint"); - size_t numbytes = decode_code_point((uint8_t*)readbuf, sizeof(readbuf), codepoint_val); - C4_ASSERT(numbytes <= 4); - memcpy(m_filter_arena.str + pos, readbuf, numbytes); - pos += numbytes; - i += 1u + 4u; - } - else if(next == 'U') // UTF32 - { - if(i + 1u + 8u >= r.len) - _c4err("\\U requires 8 hex digits"); - char readbuf[8]; - csubstr codepoint = r.sub(i + 2u, 8u); - uint32_t codepoint_val = {}; - if(!read_hex(codepoint, &codepoint_val)) - _c4err("failed to parse \\U codepoint"); - size_t numbytes = decode_code_point((uint8_t*)readbuf, sizeof(readbuf), codepoint_val); - C4_ASSERT(numbytes <= 4); - memcpy(m_filter_arena.str + pos, readbuf, numbytes); - pos += numbytes; - i += 1u + 8u; - } - // https://yaml.org/spec/1.2.2/#rule-c-ns-esc-char - else if(next == '0') - { - m_filter_arena.str[pos++] = '\0'; - ++i; - } - else if(next == 'b') // backspace - { - m_filter_arena.str[pos++] = '\b'; - ++i; - } - else if(next == 'f') // form feed - { - m_filter_arena.str[pos++] = '\f'; - ++i; - } - else if(next == 'a') // bell character - { - m_filter_arena.str[pos++] = '\a'; - ++i; - } - else if(next == 'v') // vertical tab - { - m_filter_arena.str[pos++] = '\v'; - ++i; - } - else if(next == 'e') // escape character - { - m_filter_arena.str[pos++] = '\x1b'; - ++i; - } - else if(next == '_') // unicode non breaking space \u00a0 - { - // https://www.compart.com/en/unicode/U+00a0 - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x3e, 0xc2); - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x60, 0xa0); - ++i; - } - else if(next == 'N') // unicode next line \u0085 - { - // https://www.compart.com/en/unicode/U+0085 - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x3e, 0xc2); - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x7b, 0x85); - ++i; - } - else if(next == 'L') // unicode line separator \u2028 - { - // https://www.utf8-chartable.de/unicode-utf8-table.pl?start=8192&number=1024&names=-&utf8=0x&unicodeinhtml=hex - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x1e, 0xe2); - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x80, 0x80); - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x58, 0xa8); - ++i; - } - else if(next == 'P') // unicode paragraph separator \u2029 - { - // https://www.utf8-chartable.de/unicode-utf8-table.pl?start=8192&number=1024&names=-&utf8=0x&unicodeinhtml=hex - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x1e, 0xe2); - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x80, 0x80); - m_filter_arena.str[pos++] = _RYML_CHCONST(-0x57, 0xa9); - ++i; - } - _c4dbgfdq("[{}]: backslash...sofar=[{}]~~~{}~~~", i, pos, m_filter_arena.first(pos)); - } - else - { - m_filter_arena.str[pos++] = curr; - } - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= m_filter_arena.len); - if(pos < r.len || filtered_chars) - { - r = _finish_filter_arena(r, pos); - } - - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len >= r.len); - _c4dbgpf(": #filteredchars={} after=~~~{}~~~", s.len - r.len, r); - - #undef _c4dbgfdq - - return r; -} - - -//----------------------------------------------------------------------------- -bool Parser::_apply_chomp(substr buf, size_t *C4_RESTRICT pos, BlockChomp_e chomp) -{ - substr trimmed = buf.first(*pos).trimr('\n'); - bool added_newline = false; - switch(chomp) - { - case CHOMP_KEEP: - if(trimmed.len == *pos) - { - _c4dbgpf("chomp=KEEP: add missing newline @{}", *pos); - //m_filter_arena.str[(*pos)++] = '\n'; - added_newline = true; - } - break; - case CHOMP_CLIP: - if(trimmed.len == *pos) - { - _c4dbgpf("chomp=CLIP: add missing newline @{}", *pos); - m_filter_arena.str[(*pos)++] = '\n'; - added_newline = true; - } - else - { - _c4dbgpf("chomp=CLIP: include single trailing newline @{}", trimmed.len+1); - *pos = trimmed.len + 1; - } - break; - case CHOMP_STRIP: - _c4dbgpf("chomp=STRIP: strip {}-{}-{} newlines", *pos, trimmed.len, *pos-trimmed.len); - *pos = trimmed.len; - break; - default: - _c4err("unknown chomp style"); - } - return added_newline; -} - - -//----------------------------------------------------------------------------- -csubstr Parser::_filter_block_scalar(substr s, BlockStyle_e style, BlockChomp_e chomp, size_t indentation) -{ - // a debugging scaffold: - #if 0 - #define _c4dbgfbl(fmt, ...) _c4dbgpf("filt_block" fmt, __VA_ARGS__) - #else - #define _c4dbgfbl(...) - #endif - - _c4dbgfbl(": indentation={} before=[{}]~~~{}~~~", indentation, s.len, s); - - if(chomp != CHOMP_KEEP && s.trim(" \n\r").len == 0u) - { - _c4dbgp("filt_block: empty scalar"); - return s.first(0); - } - - substr r = s; - - switch(style) - { - case BLOCK_LITERAL: - { - _c4dbgp("filt_block: style=literal"); - // trim leading whitespace up to indentation - { - size_t numws = r.first_not_of(' '); - if(numws != npos) - { - if(numws > indentation) - r = r.sub(indentation); - else - r = r.sub(numws); - _c4dbgfbl(": after triml=[{}]~~~{}~~~", r.len, r); - } - else - { - if(chomp != CHOMP_KEEP || r.len == 0) - { - _c4dbgfbl(": all spaces {}, return empty", r.len); - return r.first(0); - } - else - { - r[0] = '\n'; - return r.first(1); - } - } - } - _grow_filter_arena(s.len + 2u); // use s.len! because we may need to add a newline at the end, so the leading indentation will allow space for that newline - size_t pos = 0; // the filtered size - for(size_t i = 0; i < r.len; ++i) - { - const char curr = r.str[i]; - _c4dbgfbl("[{}]='{}' pos={}", i, _c4prc(curr), pos); - if(curr == '\r') - continue; - m_filter_arena.str[pos++] = curr; - if(curr == '\n') - { - _c4dbgfbl("[{}]: found newline", i); - // skip indentation on the next line - csubstr rem = r.sub(i+1); - size_t first = rem.first_not_of(' '); - if(first != npos) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, first < rem.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, i+1+first < r.len); - _c4dbgfbl("[{}]: {} spaces follow before next nonws character @ [{}]='{}'", i, first, i+1+first, rem.str[first]); - if(first < indentation) - { - _c4dbgfbl("[{}]: skip {}<{} spaces from indentation", i, first, indentation); - i += first; - } - else - { - _c4dbgfbl("[{}]: skip {} spaces from indentation", i, indentation); - i += indentation; - } - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, i+1 <= r.len); - first = rem.len; - _c4dbgfbl("[{}]: {} spaces to the end", i, first); - if(first) - { - if(first < indentation) - { - _c4dbgfbl("[{}]: skip everything", i); - --pos; - break; - } - else - { - _c4dbgfbl("[{}]: skip {} spaces from indentation", i, indentation); - i += indentation; - } - } - else if(i+1 == r.len) - { - if(chomp == CHOMP_STRIP) - --pos; - break; - } - } - } - } - _RYML_CB_ASSERT(m_stack.m_callbacks, s.len >= pos); - _c4dbgfbl(": #filteredchars={} after=~~~{}~~~", s.len - r.len, r); - bool changed = _apply_chomp(m_filter_arena, &pos, chomp); - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= m_filter_arena.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= s.len); - if(pos < r.len || changed) - { - r = _finish_filter_arena(s, pos); // write into s - } - break; - } - case BLOCK_FOLD: - { - _c4dbgp("filt_block: style=fold"); - _grow_filter_arena(r.len + 2); - size_t pos = 0; // the filtered size - bool filtered_chars = false; - bool started = false; - bool is_indented = false; - size_t i = r.first_not_of(' '); - _c4dbgfbl(": first non space at {}", i); - if(i > indentation) - { - is_indented = true; - i = indentation; - } - _c4dbgfbl(": start folding at {}, is_indented={}", i, (int)is_indented); - auto on_change_indentation = [&](size_t numnl_following, size_t last_newl, size_t first_non_whitespace){ - _c4dbgfbl("[{}]: add 1+{} newlines", i, numnl_following); - for(size_t j = 0; j < 1 + numnl_following; ++j) - m_filter_arena.str[pos++] = '\n'; - for(i = last_newl + 1 + indentation; i < first_non_whitespace; ++i) - { - if(r.str[i] == '\r') - continue; - _c4dbgfbl("[{}]: add '{}'", i, _c4prc(r.str[i])); - m_filter_arena.str[pos++] = r.str[i]; - } - --i; - }; - for( ; i < r.len; ++i) - { - const char curr = r.str[i]; - _c4dbgfbl("[{}]='{}'", i, _c4prc(curr)); - if(curr == '\n') - { - filtered_chars = true; - // skip indentation on the next line, and advance over the next non-indented blank lines as well - size_t first_non_whitespace; - size_t numnl_following = (size_t)-1; - while(r[i] == '\n') - { - ++numnl_following; - csubstr rem = r.sub(i+1); - size_t first = rem.first_not_of(' '); - _c4dbgfbl("[{}]: found newline. first={} rem.len={}", i, first, rem.len); - if(first != npos) - { - first_non_whitespace = first + i+1; - while(first_non_whitespace < r.len && r[first_non_whitespace] == '\r') - ++first_non_whitespace; - _RYML_CB_ASSERT(m_stack.m_callbacks, first < rem.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, i+1+first < r.len); - _c4dbgfbl("[{}]: {} spaces follow before next nonws character @ [{}]='{}'", i, first, i+1+first, _c4prc(rem.str[first])); - if(first < indentation) - { - _c4dbgfbl("[{}]: skip {}<{} spaces from indentation", i, first, indentation); - i += first; - } - else - { - _c4dbgfbl("[{}]: skip {} spaces from indentation", i, indentation); - i += indentation; - if(first > indentation) - { - _c4dbgfbl("[{}]: {} further indented than {}, stop newlining", i, first, indentation); - goto finished_counting_newlines; - } - } - // prepare the next while loop iteration - // by setting i at the next newline after - // an empty line - if(r[first_non_whitespace] == '\n') - i = first_non_whitespace; - else - goto finished_counting_newlines; - } - else - { - _RYML_CB_ASSERT(m_stack.m_callbacks, i+1 <= r.len); - first = rem.len; - first_non_whitespace = first + i+1; - if(first) - { - _c4dbgfbl("[{}]: {} spaces to the end", i, first); - if(first < indentation) - { - _c4dbgfbl("[{}]: skip everything", i); - i += first; - } - else - { - _c4dbgfbl("[{}]: skip {} spaces from indentation", i, indentation); - i += indentation; - if(first > indentation) - { - _c4dbgfbl("[{}]: {} spaces missing. not done yet", i, indentation - first); - goto finished_counting_newlines; - } - } - } - else // if(i+1 == r.len) - { - _c4dbgfbl("[{}]: it's the final newline", i); - _RYML_CB_ASSERT(m_stack.m_callbacks, i+1 == r.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, rem.len == 0); - } - goto end_of_scalar; - } - } - end_of_scalar: - // Write all the trailing newlines. Since we're - // at the end no folding is needed, so write every - // newline (add 1). - _c4dbgfbl("[{}]: add {} trailing newlines", i, 1+numnl_following); - for(size_t j = 0; j < 1 + numnl_following; ++j) - m_filter_arena.str[pos++] = '\n'; - break; - finished_counting_newlines: - _c4dbgfbl("[{}]: #newlines={} firstnonws={}", i, numnl_following, first_non_whitespace); - while(first_non_whitespace < r.len && r[first_non_whitespace] == '\t') - ++first_non_whitespace; - _c4dbgfbl("[{}]: #newlines={} firstnonws={}", i, numnl_following, first_non_whitespace); - _RYML_CB_ASSERT(m_stack.m_callbacks, first_non_whitespace <= r.len); - size_t last_newl = r.last_of('\n', first_non_whitespace); - size_t this_indentation = first_non_whitespace - last_newl - 1; - _c4dbgfbl("[{}]: #newlines={} firstnonws={} lastnewl={} this_indentation={} vs indentation={}", i, numnl_following, first_non_whitespace, last_newl, this_indentation, indentation); - _RYML_CB_ASSERT(m_stack.m_callbacks, first_non_whitespace >= last_newl + 1); - _RYML_CB_ASSERT(m_stack.m_callbacks, this_indentation >= indentation); - if(!started) - { - _c4dbgfbl("[{}]: #newlines={}. write all leading newlines", i, numnl_following); - for(size_t j = 0; j < 1 + numnl_following; ++j) - m_filter_arena.str[pos++] = '\n'; - if(this_indentation > indentation) - { - is_indented = true; - _c4dbgfbl("[{}]: advance ->{}", i, last_newl + indentation); - i = last_newl + indentation; - } - else - { - i = first_non_whitespace - 1; - _c4dbgfbl("[{}]: advance ->{}", i, first_non_whitespace); - } - } - else if(this_indentation == indentation) - { - _c4dbgfbl("[{}]: same indentation", i); - if(!is_indented) - { - if(numnl_following == 0) - { - _c4dbgfbl("[{}]: fold!", i); - m_filter_arena.str[pos++] = ' '; - } - else - { - _c4dbgfbl("[{}]: add {} newlines", i, 1 + numnl_following); - for(size_t j = 0; j < numnl_following; ++j) - m_filter_arena.str[pos++] = '\n'; - } - i = first_non_whitespace - 1; - _c4dbgfbl("[{}]: advance {}->{}", i, i, first_non_whitespace); - } - else - { - _c4dbgfbl("[{}]: back to ref indentation", i); - is_indented = false; - on_change_indentation(numnl_following, last_newl, first_non_whitespace); - _c4dbgfbl("[{}]: advance {}->{}", i, i, first_non_whitespace); - } - } - else - { - _c4dbgfbl("[{}]: increased indentation.", i); - is_indented = true; - _RYML_CB_ASSERT(m_stack.m_callbacks, this_indentation > indentation); - on_change_indentation(numnl_following, last_newl, first_non_whitespace); - _c4dbgfbl("[{}]: advance {}->{}", i, i, first_non_whitespace); - } - } - else if(curr != '\r') - { - if(curr != '\t') - started = true; - m_filter_arena.str[pos++] = curr; - } - } - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= m_filter_arena.len); - _c4dbgfbl(": #filteredchars={} after=[{}]~~~{}~~~", (int)s.len - (int)pos, pos, m_filter_arena.first(pos)); - bool changed = _apply_chomp(m_filter_arena, &pos, chomp); - if(pos < r.len || filtered_chars || changed) - { - r = _finish_filter_arena(s, pos); // write into s - } - } - break; - default: - _c4err("unknown block style"); - } - - _c4dbgfbl(": final=[{}]~~~{}~~~", r.len, r); - - #undef _c4dbgfbl - - return r; -} - -//----------------------------------------------------------------------------- -size_t Parser::_count_nlines(csubstr src) -{ - return 1 + src.count('\n'); -} - -//----------------------------------------------------------------------------- -void Parser::_handle_directive(csubstr directive_) -{ - csubstr directive = directive_; - if(directive.begins_with("%TAG")) - { - TagDirective td; - _c4dbgpf("%TAG directive: {}", directive_); - directive = directive.sub(4); - if(!directive.begins_with(' ')) - _c4err("malformed tag directive: {}", directive_); - directive = directive.triml(' '); - size_t pos = directive.find(' '); - if(pos == npos) - _c4err("malformed tag directive: {}", directive_); - td.handle = directive.first(pos); - directive = directive.sub(td.handle.len).triml(' '); - pos = directive.find(' '); - if(pos != npos) - directive = directive.first(pos); - td.prefix = directive; - td.next_node_id = m_tree->size(); - if(m_tree->size() > 0) - { - size_t prev = m_tree->size() - 1; - if(m_tree->is_root(prev) && m_tree->type(prev) != NOTYPE && !m_tree->is_stream(prev)) - ++td.next_node_id; - } - _c4dbgpf("%TAG: handle={} prefix={} next_node={}", td.handle, td.prefix, td.next_node_id); - m_tree->add_tag_directive(td); - } - else if(directive.begins_with("%YAML")) - { - _c4dbgpf("%YAML directive! ignoring...: {}", directive); - } -} - -//----------------------------------------------------------------------------- -void Parser::set_flags(flag_t f, State * s) -{ -#ifdef RYML_DBG - char buf1_[64], buf2_[64]; - csubstr buf1 = _prfl(buf1_, f); - csubstr buf2 = _prfl(buf2_, s->flags); - _c4dbgpf("state[{}]: setting flags to {}: before={}", s-m_stack.begin(), buf1, buf2); -#endif - s->flags = f; -} - -void Parser::add_flags(flag_t on, State * s) -{ -#ifdef RYML_DBG - char buf1_[64], buf2_[64], buf3_[64]; - csubstr buf1 = _prfl(buf1_, on); - csubstr buf2 = _prfl(buf2_, s->flags); - csubstr buf3 = _prfl(buf3_, s->flags|on); - _c4dbgpf("state[{}]: adding flags {}: before={} after={}", s-m_stack.begin(), buf1, buf2, buf3); -#endif - s->flags |= on; -} - -void Parser::addrem_flags(flag_t on, flag_t off, State * s) -{ -#ifdef RYML_DBG - char buf1_[64], buf2_[64], buf3_[64], buf4_[64]; - csubstr buf1 = _prfl(buf1_, on); - csubstr buf2 = _prfl(buf2_, off); - csubstr buf3 = _prfl(buf3_, s->flags); - csubstr buf4 = _prfl(buf4_, ((s->flags|on)&(~off))); - _c4dbgpf("state[{}]: adding flags {} / removing flags {}: before={} after={}", s-m_stack.begin(), buf1, buf2, buf3, buf4); -#endif - s->flags |= on; - s->flags &= ~off; -} - -void Parser::rem_flags(flag_t off, State * s) -{ -#ifdef RYML_DBG - char buf1_[64], buf2_[64], buf3_[64]; - csubstr buf1 = _prfl(buf1_, off); - csubstr buf2 = _prfl(buf2_, s->flags); - csubstr buf3 = _prfl(buf3_, s->flags&(~off)); - _c4dbgpf("state[{}]: removing flags {}: before={} after={}", s-m_stack.begin(), buf1, buf2, buf3); -#endif - s->flags &= ~off; -} - -//----------------------------------------------------------------------------- - -csubstr Parser::_prfl(substr buf, flag_t flags) -{ - size_t pos = 0; - bool gotone = false; - - #define _prflag(fl) \ - if((flags & fl) == (fl)) \ - { \ - if(gotone) \ - { \ - if(pos + 1 < buf.len) \ - buf[pos] = '|'; \ - ++pos; \ - } \ - csubstr fltxt = #fl; \ - if(pos + fltxt.len <= buf.len) \ - memcpy(buf.str + pos, fltxt.str, fltxt.len); \ - pos += fltxt.len; \ - gotone = true; \ - } - - _prflag(RTOP); - _prflag(RUNK); - _prflag(RMAP); - _prflag(RSEQ); - _prflag(FLOW); - _prflag(QMRK); - _prflag(RKEY); - _prflag(RVAL); - _prflag(RNXT); - _prflag(SSCL); - _prflag(QSCL); - _prflag(RSET); - _prflag(NDOC); - _prflag(RSEQIMAP); - - #undef _prflag - - RYML_ASSERT(pos <= buf.len); - - return buf.first(pos); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -void Parser::_grow_filter_arena(size_t num_characters_needed) -{ - _c4dbgpf("grow: arena={} numchars={}", m_filter_arena.len, num_characters_needed); - if(num_characters_needed <= m_filter_arena.len) - return; - size_t sz = m_filter_arena.len << 1; - _c4dbgpf("grow: sz={}", sz); - sz = num_characters_needed > sz ? num_characters_needed : sz; - _c4dbgpf("grow: sz={}", sz); - sz = sz < 128u ? 128u : sz; - _c4dbgpf("grow: sz={}", sz); - _RYML_CB_ASSERT(m_stack.m_callbacks, sz >= num_characters_needed); - _resize_filter_arena(sz); -} - -void Parser::_resize_filter_arena(size_t num_characters) -{ - if(num_characters > m_filter_arena.len) - { - _c4dbgpf("resize: sz={}", num_characters); - char *prev = m_filter_arena.str; - if(m_filter_arena.str) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, m_filter_arena.len > 0); - _RYML_CB_FREE(m_stack.m_callbacks, m_filter_arena.str, char, m_filter_arena.len); - } - m_filter_arena.str = _RYML_CB_ALLOC_HINT(m_stack.m_callbacks, char, num_characters, prev); - m_filter_arena.len = num_characters; - } -} - -substr Parser::_finish_filter_arena(substr dst, size_t pos) -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= m_filter_arena.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, pos <= dst.len); - memcpy(dst.str, m_filter_arena.str, pos); - return dst.first(pos); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -csubstr Parser::location_contents(Location const& loc) const -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, loc.offset < m_buf.len); - return m_buf.sub(loc.offset); -} - -Location Parser::location(ConstNodeRef node) const -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, node.valid()); - return location(*node.tree(), node.id()); -} - -Location Parser::location(Tree const& tree, size_t node) const -{ - // try hard to avoid getting the location from a null string. - Location loc; - if(_location_from_node(tree, node, &loc, 0)) - return loc; - return val_location(m_buf.str); -} - -bool Parser::_location_from_node(Tree const& tree, size_t node, Location *C4_RESTRICT loc, size_t level) const -{ - if(tree.has_key(node)) - { - csubstr k = tree.key(node); - if(C4_LIKELY(k.str != nullptr)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, k.is_sub(m_buf)); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.is_super(k)); - *loc = val_location(k.str); - return true; - } - } - - if(tree.has_val(node)) - { - csubstr v = tree.val(node); - if(C4_LIKELY(v.str != nullptr)) - { - _RYML_CB_ASSERT(m_stack.m_callbacks, v.is_sub(m_buf)); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.is_super(v)); - *loc = val_location(v.str); - return true; - } - } - - if(tree.is_container(node)) - { - if(_location_from_cont(tree, node, loc)) - return true; - } - - if(tree.type(node) != NOTYPE && level == 0) - { - // try the prev sibling - { - const size_t prev = tree.prev_sibling(node); - if(prev != NONE) - { - if(_location_from_node(tree, prev, loc, level+1)) - return true; - } - } - // try the next sibling - { - const size_t next = tree.next_sibling(node); - if(next != NONE) - { - if(_location_from_node(tree, next, loc, level+1)) - return true; - } - } - // try the parent - { - const size_t parent = tree.parent(node); - if(parent != NONE) - { - if(_location_from_node(tree, parent, loc, level+1)) - return true; - } - } - } - - return false; -} - -bool Parser::_location_from_cont(Tree const& tree, size_t node, Location *C4_RESTRICT loc) const -{ - _RYML_CB_ASSERT(m_stack.m_callbacks, tree.is_container(node)); - if(!tree.is_stream(node)) - { - const char *node_start = tree._p(node)->m_val.scalar.str; // this was stored in the container - if(tree.has_children(node)) - { - size_t child = tree.first_child(node); - if(tree.has_key(child)) - { - // when a map starts, the container was set after the key - csubstr k = tree.key(child); - if(k.str && node_start > k.str) - node_start = k.str; - } - } - *loc = val_location(node_start); - return true; - } - else // it's a stream - { - *loc = val_location(m_buf.str); // just return the front of the buffer - } - return true; -} - - -Location Parser::val_location(const char *val) const -{ - if(C4_UNLIKELY(val == nullptr)) - return {m_file, 0, 0, 0}; - - _RYML_CB_CHECK(m_stack.m_callbacks, m_options.locations()); - // NOTE: if any of these checks fails, the parser needs to be - // instantiated with locations enabled. - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.str == m_newline_offsets_buf.str); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_buf.len == m_newline_offsets_buf.len); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_options.locations()); - _RYML_CB_ASSERT(m_stack.m_callbacks, !_locations_dirty()); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_newline_offsets != nullptr); - _RYML_CB_ASSERT(m_stack.m_callbacks, m_newline_offsets_size > 0); - // NOTE: the pointer needs to belong to the buffer that was used to parse. - csubstr src = m_buf; - _RYML_CB_CHECK(m_stack.m_callbacks, val != nullptr || src.str == nullptr); - _RYML_CB_CHECK(m_stack.m_callbacks, (val >= src.begin() && val <= src.end()) || (src.str == nullptr && val == nullptr)); - // ok. search the first stored newline after the given ptr - using lineptr_type = size_t const* C4_RESTRICT; - lineptr_type lineptr = nullptr; - size_t offset = (size_t)(val - src.begin()); - if(m_newline_offsets_size < 30) // TODO magic number - { - // just do a linear search if the size is small. - for(lineptr_type curr = m_newline_offsets, last = m_newline_offsets + m_newline_offsets_size; curr < last; ++curr) - { - if(*curr > offset) - { - lineptr = curr; - break; - } - } - } - else - { - // do a bisection search if the size is not small. - // - // We could use std::lower_bound but this is simple enough and - // spares the include of . - size_t count = m_newline_offsets_size; - size_t step; - lineptr_type it; - lineptr = m_newline_offsets; - while(count) - { - step = count >> 1; - it = lineptr + step; - if(*it < offset) - { - lineptr = ++it; - count -= step + 1; - } - else - { - count = step; - } - } - } - _RYML_CB_ASSERT(m_stack.m_callbacks, lineptr >= m_newline_offsets); - _RYML_CB_ASSERT(m_stack.m_callbacks, lineptr <= m_newline_offsets + m_newline_offsets_size); - _RYML_CB_ASSERT(m_stack.m_callbacks, *lineptr > offset); - Location loc; - loc.name = m_file; - loc.offset = offset; - loc.line = (size_t)(lineptr - m_newline_offsets); - if(lineptr > m_newline_offsets) - loc.col = (offset - *(lineptr-1) - 1u); - else - loc.col = offset; - return loc; -} - -void Parser::_prepare_locations() -{ - m_newline_offsets_buf = m_buf; - size_t numnewlines = 1u + m_buf.count('\n'); - _resize_locations(numnewlines); - m_newline_offsets_size = 0; - for(size_t i = 0; i < m_buf.len; i++) - if(m_buf[i] == '\n') - m_newline_offsets[m_newline_offsets_size++] = i; - m_newline_offsets[m_newline_offsets_size++] = m_buf.len; - _RYML_CB_ASSERT(m_stack.m_callbacks, m_newline_offsets_size == numnewlines); -} - -void Parser::_resize_locations(size_t numnewlines) -{ - if(numnewlines > m_newline_offsets_capacity) - { - if(m_newline_offsets) - _RYML_CB_FREE(m_stack.m_callbacks, m_newline_offsets, size_t, m_newline_offsets_capacity); - m_newline_offsets = _RYML_CB_ALLOC_HINT(m_stack.m_callbacks, size_t, numnewlines, m_newline_offsets); - m_newline_offsets_capacity = numnewlines; - } -} - -bool Parser::_locations_dirty() const -{ - return !m_newline_offsets_size; -} - -} // namespace yml -} // namespace c4 - - -#if defined(_MSC_VER) -# pragma warning(pop) -#elif defined(__clang__) -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#endif - -#endif /* RYML_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/parse.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/node.cpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef RYML_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//#include "c4/yml/node.hpp" -#if !defined(C4_YML_NODE_HPP_) && !defined(_C4_YML_NODE_HPP_) -#error "amalgamate: file c4/yml/node.hpp must have been included at this point" -#endif /* C4_YML_NODE_HPP_ */ - - -namespace c4 { -namespace yml { - - - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -size_t NodeRef::set_key_serialized(c4::fmt::const_base64_wrapper w) -{ - _apply_seed(); - csubstr encoded = this->to_arena(w); - this->set_key(encoded); - return encoded.len; -} - -size_t NodeRef::set_val_serialized(c4::fmt::const_base64_wrapper w) -{ - _apply_seed(); - csubstr encoded = this->to_arena(w); - this->set_val(encoded); - return encoded.len; -} - -} // namespace yml -} // namespace c4 - -#endif /* RYML_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/node.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/preprocess.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/preprocess.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_PREPROCESS_HPP_ -#define _C4_YML_PREPROCESS_HPP_ - -/** @file preprocess.hpp Functions for preprocessing YAML prior to parsing. */ - -/** @defgroup Preprocessors Preprocessor functions - * - * These are the existing preprocessors: - * - * @code{.cpp} - * size_t preprocess_json(csubstr json, substr buf) - * size_t preprocess_rxmap(csubstr json, substr buf) - * @endcode - */ - -#ifndef _C4_YML_COMMON_HPP_ -//included above: -//#include "./common.hpp" -#endif -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/substr.hpp -//#include -#if !defined(C4_SUBSTR_HPP_) && !defined(_C4_SUBSTR_HPP_) -#error "amalgamate: file c4/substr.hpp must have been included at this point" -#endif /* C4_SUBSTR_HPP_ */ - - - -namespace c4 { -namespace yml { - -namespace detail { -using Preprocessor = size_t(csubstr, substr); -template -substr preprocess_into_container(csubstr input, CharContainer *out) -{ - // try to write once. the preprocessor will stop writing at the end of - // the container, but will process all the input to determine the - // required container size. - size_t sz = PP(input, to_substr(*out)); - // if the container size is not enough, resize, and run again in the - // resized container - if(sz > out->size()) - { - out->resize(sz); - sz = PP(input, to_substr(*out)); - } - return to_substr(*out).first(sz); -} -} // namespace detail - - -//----------------------------------------------------------------------------- - -/** @name preprocess_rxmap - * Convert flow-type relaxed maps (with implicit bools) into strict YAML - * flow map. - * - * @code{.yaml} - * {a, b, c, d: [e, f], g: {a, b}} - * # is converted into this: - * {a: 1, b: 1, c: 1, d: [e, f], g: {a, b}} - * @endcode - - * @note this is NOT recursive - conversion happens only in the top-level map - * @param rxmap A relaxed map - * @param buf output buffer - * @param out output container - */ - -//@{ - -/** Write into a given output buffer. This function is safe to call with - * empty or small buffers; it won't write beyond the end of the buffer. - * - * @return the number of characters required for output - */ -RYML_EXPORT size_t preprocess_rxmap(csubstr rxmap, substr buf); - - -/** Write into an existing container. It is resized to contained the output. - * @return a substr of the container - * @overload preprocess_rxmap */ -template -substr preprocess_rxmap(csubstr rxmap, CharContainer *out) -{ - return detail::preprocess_into_container(rxmap, out); -} - - -/** Create a container with the result. - * @overload preprocess_rxmap */ -template -CharContainer preprocess_rxmap(csubstr rxmap) -{ - CharContainer out; - preprocess_rxmap(rxmap, &out); - return out; -} - -//@} - -} // namespace yml -} // namespace c4 - -#endif /* _C4_YML_PREPROCESS_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/preprocess.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/preprocess.cpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/preprocess.cpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifdef RYML_SINGLE_HDR_DEFINE_NOW -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/preprocess.hpp -//#include "c4/yml/preprocess.hpp" -#if !defined(C4_YML_PREPROCESS_HPP_) && !defined(_C4_YML_PREPROCESS_HPP_) -#error "amalgamate: file c4/yml/preprocess.hpp must have been included at this point" -#endif /* C4_YML_PREPROCESS_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/parser_dbg.hpp -//#include "c4/yml/detail/parser_dbg.hpp" -#if !defined(C4_YML_DETAIL_PARSER_DBG_HPP_) && !defined(_C4_YML_DETAIL_PARSER_DBG_HPP_) -#error "amalgamate: file c4/yml/detail/parser_dbg.hpp must have been included at this point" -#endif /* C4_YML_DETAIL_PARSER_DBG_HPP_ */ - - -/** @file preprocess.hpp Functions for preprocessing YAML prior to parsing. */ - -namespace c4 { -namespace yml { - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -namespace { -C4_ALWAYS_INLINE bool _is_idchar(char c) -{ - return (c >= 'a' && c <= 'z') - || (c >= 'A' && c <= 'Z') - || (c >= '0' && c <= '9') - || (c == '_' || c == '-' || c == '~' || c == '$'); -} - -typedef enum { kReadPending = 0, kKeyPending = 1, kValPending = 2 } _ppstate; -C4_ALWAYS_INLINE _ppstate _next(_ppstate s) -{ - int n = (int)s + 1; - return (_ppstate)(n <= (int)kValPending ? n : 0); -} -} // empty namespace - - -//----------------------------------------------------------------------------- - -size_t preprocess_rxmap(csubstr s, substr buf) -{ - detail::_SubstrWriter writer(buf); - _ppstate state = kReadPending; - size_t last = 0; - - if(s.begins_with('{')) - { - RYML_CHECK(s.ends_with('}')); - s = s.offs(1, 1); - } - - writer.append('{'); - - for(size_t i = 0; i < s.len; ++i) - { - const char curr = s[i]; - const char next = i+1 < s.len ? s[i+1] : '\0'; - - if(curr == '\'' || curr == '"') - { - csubstr ss = s.sub(i).pair_range_esc(curr, '\\'); - i += static_cast(ss.end() - (s.str + i)); - state = _next(state); - } - else if(state == kReadPending && _is_idchar(curr)) - { - state = _next(state); - } - - switch(state) - { - case kKeyPending: - { - if(curr == ':' && next == ' ') - { - state = _next(state); - } - else if(curr == ',' && next == ' ') - { - writer.append(s.range(last, i)); - writer.append(": 1, "); - last = i + 2; - } - break; - } - case kValPending: - { - if(curr == '[' || curr == '{' || curr == '(') - { - csubstr ss = s.sub(i).pair_range_nested(curr, '\\'); - i += static_cast(ss.end() - (s.str + i)); - state = _next(state); - } - else if(curr == ',' && next == ' ') - { - state = _next(state); - } - break; - } - default: - // nothing to do - break; - } - } - - writer.append(s.sub(last)); - if(state == kKeyPending) - writer.append(": 1"); - writer.append('}'); - - return writer.pos; -} - - -} // namespace yml -} // namespace c4 - -#endif /* RYML_SINGLE_HDR_DEFINE_NOW */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/preprocess.cpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/detail/checks.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/checks.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef C4_YML_DETAIL_CHECKS_HPP_ -#define C4_YML_DETAIL_CHECKS_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp -//#include "c4/yml/tree.hpp" -#if !defined(C4_YML_TREE_HPP_) && !defined(_C4_YML_TREE_HPP_) -#error "amalgamate: file c4/yml/tree.hpp must have been included at this point" -#endif /* C4_YML_TREE_HPP_ */ - - -#ifdef __clang__ -# pragma clang diagnostic push -#elif defined(__GNUC__) -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wtype-limits" // error: comparison of unsigned expression >= 0 is always true -#elif defined(_MSC_VER) -# pragma warning(push) -# pragma warning(disable: 4296/*expression is always 'boolean_value'*/) -#endif - -namespace c4 { -namespace yml { - - -void check_invariants(Tree const& t, size_t node=NONE); -void check_free_list(Tree const& t); -void check_arena(Tree const& t); - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -inline void check_invariants(Tree const& t, size_t node) -{ - if(node == NONE) - { - if(t.size() == 0) return; - node = t.root_id(); - } - - auto const& n = *t._p(node); -#ifdef RYML_DBG - if(n.m_first_child != NONE || n.m_last_child != NONE) - { - printf("check(%zu): fc=%zu lc=%zu\n", node, n.m_first_child, n.m_last_child); - } - else - { - printf("check(%zu)\n", node); - } -#endif - - C4_CHECK(n.m_parent != node); - if(n.m_parent == NONE) - { - C4_CHECK(t.is_root(node)); - } - else //if(n.m_parent != NONE) - { - C4_CHECK(t.has_child(n.m_parent, node)); - - auto const& p = *t._p(n.m_parent); - if(n.m_prev_sibling == NONE) - { - C4_CHECK(p.m_first_child == node); - C4_CHECK(t.first_sibling(node) == node); - } - else - { - C4_CHECK(p.m_first_child != node); - C4_CHECK(t.first_sibling(node) != node); - } - - if(n.m_next_sibling == NONE) - { - C4_CHECK(p.m_last_child == node); - C4_CHECK(t.last_sibling(node) == node); - } - else - { - C4_CHECK(p.m_last_child != node); - C4_CHECK(t.last_sibling(node) != node); - } - } - - C4_CHECK(n.m_first_child != node); - C4_CHECK(n.m_last_child != node); - if(n.m_first_child != NONE || n.m_last_child != NONE) - { - C4_CHECK(n.m_first_child != NONE); - C4_CHECK(n.m_last_child != NONE); - } - - C4_CHECK(n.m_prev_sibling != node); - C4_CHECK(n.m_next_sibling != node); - if(n.m_prev_sibling != NONE) - { - C4_CHECK(t._p(n.m_prev_sibling)->m_next_sibling == node); - C4_CHECK(t._p(n.m_prev_sibling)->m_prev_sibling != node); - } - if(n.m_next_sibling != NONE) - { - C4_CHECK(t._p(n.m_next_sibling)->m_prev_sibling == node); - C4_CHECK(t._p(n.m_next_sibling)->m_next_sibling != node); - } - - size_t count = 0; - for(size_t i = n.m_first_child; i != NONE; i = t.next_sibling(i)) - { -#ifdef RYML_DBG - printf("check(%zu): descend to child[%zu]=%zu\n", node, count, i); -#endif - auto const& ch = *t._p(i); - C4_CHECK(ch.m_parent == node); - C4_CHECK(ch.m_next_sibling != i); - ++count; - } - C4_CHECK(count == t.num_children(node)); - - if(n.m_prev_sibling == NONE && n.m_next_sibling == NONE) - { - if(n.m_parent != NONE) - { - C4_CHECK(t.num_children(n.m_parent) == 1); - C4_CHECK(t.num_siblings(node) == 1); - } - } - - if(node == t.root_id()) - { - C4_CHECK(t.size() == t.m_size); - C4_CHECK(t.capacity() == t.m_cap); - C4_CHECK(t.m_cap == t.m_size + t.slack()); - check_free_list(t); - check_arena(t); - } - - for(size_t i = t.first_child(node); i != NONE; i = t.next_sibling(i)) - { - check_invariants(t, i); - } -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -inline void check_free_list(Tree const& t) -{ - if(t.m_free_head == NONE) - { - C4_CHECK(t.m_free_tail == t.m_free_head); - return; - } - - C4_CHECK(t.m_free_head >= 0 && t.m_free_head < t.m_cap); - C4_CHECK(t.m_free_tail >= 0 && t.m_free_tail < t.m_cap); - - auto const& head = *t._p(t.m_free_head); - //auto const& tail = *t._p(t.m_free_tail); - - //C4_CHECK(head.m_prev_sibling == NONE); - //C4_CHECK(tail.m_next_sibling == NONE); - - size_t count = 0; - for(size_t i = t.m_free_head, prev = NONE; i != NONE; i = t._p(i)->m_next_sibling) - { - auto const& elm = *t._p(i); - if(&elm != &head) - { - C4_CHECK(elm.m_prev_sibling == prev); - } - prev = i; - ++count; - } - C4_CHECK(count == t.slack()); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -inline void check_arena(Tree const& t) -{ - C4_CHECK(t.m_arena.len == 0 || (t.m_arena_pos >= 0 && t.m_arena_pos <= t.m_arena.len)); - C4_CHECK(t.arena_size() == t.m_arena_pos); - C4_CHECK(t.arena_slack() + t.m_arena_pos == t.m_arena.len); -} - - -} /* namespace yml */ -} /* namespace c4 */ - -#ifdef __clang__ -# pragma clang diagnostic pop -#elif defined(__GNUC__) -# pragma GCC diagnostic pop -#elif defined(_MSC_VER) -# pragma warning(pop) -#endif - -#endif /* C4_YML_DETAIL_CHECKS_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/detail/checks.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/detail/print.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/detail/print.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef C4_YML_DETAIL_PRINT_HPP_ -#define C4_YML_DETAIL_PRINT_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp -//#include "c4/yml/tree.hpp" -#if !defined(C4_YML_TREE_HPP_) && !defined(_C4_YML_TREE_HPP_) -#error "amalgamate: file c4/yml/tree.hpp must have been included at this point" -#endif /* C4_YML_TREE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//#include "c4/yml/node.hpp" -#if !defined(C4_YML_NODE_HPP_) && !defined(_C4_YML_NODE_HPP_) -#error "amalgamate: file c4/yml/node.hpp must have been included at this point" -#endif /* C4_YML_NODE_HPP_ */ - - - -namespace c4 { -namespace yml { - - -inline size_t print_node(Tree const& p, size_t node, int level, size_t count, bool print_children) -{ - printf("[%zd]%*s[%zd] %p", count, (2*level), "", node, (void*)p.get(node)); - if(p.is_root(node)) - { - printf(" [ROOT]"); - } - printf(" %s:", p.type_str(node)); - if(p.has_key(node)) - { - if(p.has_key_anchor(node)) - { - csubstr ka = p.key_anchor(node); - printf(" &%.*s", (int)ka.len, ka.str); - } - if(p.has_key_tag(node)) - { - csubstr kt = p.key_tag(node); - csubstr k = p.key(node); - printf(" %.*s '%.*s'", (int)kt.len, kt.str, (int)k.len, k.str); - } - else - { - csubstr k = p.key(node); - printf(" '%.*s'", (int)k.len, k.str); - } - } - else - { - RYML_ASSERT( ! p.has_key_tag(node)); - } - if(p.has_val(node)) - { - if(p.has_val_tag(node)) - { - csubstr vt = p.val_tag(node); - csubstr v = p.val(node); - printf(" %.*s '%.*s'", (int)vt.len, vt.str, (int)v.len, v.str); - } - else - { - csubstr v = p.val(node); - printf(" '%.*s'", (int)v.len, v.str); - } - } - else - { - if(p.has_val_tag(node)) - { - csubstr vt = p.val_tag(node); - printf(" %.*s", (int)vt.len, vt.str); - } - } - if(p.has_val_anchor(node)) - { - auto &a = p.val_anchor(node); - printf(" valanchor='&%.*s'", (int)a.len, a.str); - } - printf(" (%zd sibs)", p.num_siblings(node)); - - ++count; - - if(p.is_container(node)) - { - printf(" %zd children:\n", p.num_children(node)); - if(print_children) - { - for(size_t i = p.first_child(node); i != NONE; i = p.next_sibling(i)) - { - count = print_node(p, i, level+1, count, print_children); - } - } - } - else - { - printf("\n"); - } - - return count; -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -inline void print_node(ConstNodeRef const& p, int level=0) -{ - print_node(*p.tree(), p.id(), level, 0, true); -} - - -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- -//----------------------------------------------------------------------------- - -inline size_t print_tree(Tree const& p, size_t node=NONE) -{ - printf("--------------------------------------\n"); - size_t ret = 0; - if(!p.empty()) - { - if(node == NONE) - node = p.root_id(); - ret = print_node(p, node, 0, 0, true); - } - printf("#nodes=%zd vs #printed=%zd\n", p.size(), ret); - printf("--------------------------------------\n"); - return ret; -} - - -} /* namespace yml */ -} /* namespace c4 */ - - -#endif /* C4_YML_DETAIL_PRINT_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/detail/print.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/c4/yml/yml.hpp -// https://github.com/biojppm/rapidyaml/src/c4/yml/yml.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _C4_YML_YML_HPP_ -#define _C4_YML_YML_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/tree.hpp -//#include "c4/yml/tree.hpp" -#if !defined(C4_YML_TREE_HPP_) && !defined(_C4_YML_TREE_HPP_) -#error "amalgamate: file c4/yml/tree.hpp must have been included at this point" -#endif /* C4_YML_TREE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/node.hpp -//#include "c4/yml/node.hpp" -#if !defined(C4_YML_NODE_HPP_) && !defined(_C4_YML_NODE_HPP_) -#error "amalgamate: file c4/yml/node.hpp must have been included at this point" -#endif /* C4_YML_NODE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/emit.hpp -//#include "c4/yml/emit.hpp" -#if !defined(C4_YML_EMIT_HPP_) && !defined(_C4_YML_EMIT_HPP_) -#error "amalgamate: file c4/yml/emit.hpp must have been included at this point" -#endif /* C4_YML_EMIT_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/parse.hpp -//#include "c4/yml/parse.hpp" -#if !defined(C4_YML_PARSE_HPP_) && !defined(_C4_YML_PARSE_HPP_) -#error "amalgamate: file c4/yml/parse.hpp must have been included at this point" -#endif /* C4_YML_PARSE_HPP_ */ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/preprocess.hpp -//#include "c4/yml/preprocess.hpp" -#if !defined(C4_YML_PREPROCESS_HPP_) && !defined(_C4_YML_PREPROCESS_HPP_) -#error "amalgamate: file c4/yml/preprocess.hpp must have been included at this point" -#endif /* C4_YML_PREPROCESS_HPP_ */ - - -#endif // _C4_YML_YML_HPP_ - - -// (end https://github.com/biojppm/rapidyaml/src/c4/yml/yml.hpp) - - - -//******************************************************************************** -//-------------------------------------------------------------------------------- -// src/ryml.hpp -// https://github.com/biojppm/rapidyaml/src/ryml.hpp -//-------------------------------------------------------------------------------- -//******************************************************************************** - -#ifndef _RYML_HPP_ -#define _RYML_HPP_ - -// amalgamate: removed include of -// https://github.com/biojppm/rapidyaml/src/c4/yml/yml.hpp -//#include "c4/yml/yml.hpp" -#if !defined(C4_YML_YML_HPP_) && !defined(_C4_YML_YML_HPP_) -#error "amalgamate: file c4/yml/yml.hpp must have been included at this point" -#endif /* C4_YML_YML_HPP_ */ - - -namespace ryml { -using namespace c4::yml; -using namespace c4; -} - -#endif /* _RYML_HPP_ */ - - -// (end https://github.com/biojppm/rapidyaml/src/ryml.hpp) - -#endif /* _RYML_SINGLE_HEADER_AMALGAMATED_HPP_ */ - diff --git a/tests/Python/test_repo_hygiene.py b/tests/Python/test_repo_hygiene.py new file mode 100644 index 00000000..fba8d18b --- /dev/null +++ b/tests/Python/test_repo_hygiene.py @@ -0,0 +1,121 @@ +""" +Repository hygiene tests (issue #127). + +Validates that binary artifacts and dead code stubs are not +git-tracked in locations where they do not belong. + +Run with: + python -m pytest tests/Python/test_repo_hygiene.py -v +""" + +import subprocess +import sys +from pathlib import Path + + +def _git_ls_files(*patterns: str) -> list[str]: + """Return list of git-tracked files matching the given pathspec patterns.""" + result = subprocess.run( + ["git", "ls-files", "--", *patterns], + capture_output=True, + text=True, + check=True, + ) + lines = [ln.strip() for ln in result.stdout.splitlines() if ln.strip()] + return lines + + +# --------------------------------------------------------------------------- +# Binary artifacts should NOT be tracked in CommonLib/ +# --------------------------------------------------------------------------- + +def test_no_mexw64_in_commonlib(): + """No .mexw64 MEX binaries should be tracked in CommonLib/.""" + tracked = _git_ls_files("CommonLib/*.mexw64") + assert tracked == [], ( + f"Unexpected .mexw64 files tracked in CommonLib/: {tracked}\n" + "These are build artifacts generated by the MEX build script and copied " + "to build/CommonLib/. Remove them with `git rm --cached` and add " + "CommonLib/*.mexw64 to .gitignore." + ) + + +def test_no_lib_in_commonlib_root(): + """No .lib static libraries should be tracked directly in CommonLib/ (top level). + + Note: CommonLib/libsumo/bin/*.lib are intentionally tracked as prebuilt + third-party binaries for the libsumo embedded library. Only the top-level + CommonLib/*.lib files (e.g., VirtualEnvironment.lib) are build artifacts + that must not be tracked. + """ + # git ls-files glob matches recursively, so filter to only top-level files + # (i.e., exactly one path component after "CommonLib/"). + all_tracked = _git_ls_files("CommonLib/*.lib") + top_level = [ + p for p in all_tracked + if p.count("/") == 1 # "CommonLib/foo.lib" has exactly one slash + ] + assert top_level == [], ( + f"Unexpected .lib files tracked at the top level of CommonLib/: {top_level}\n" + "These are build artifacts (e.g., VirtualEnvironment.lib) copied to build/ " + "by dispatch.bat. Remove them with `git rm --cached` and ensure " + "CommonLib/*.lib is in .gitignore." + ) + + +def test_no_dot_a_in_commonlib(): + """No .a static libraries should be tracked in CommonLib/.""" + tracked = _git_ls_files("CommonLib/*.a") + assert tracked == [], ( + f"Unexpected .a files tracked in CommonLib/: {tracked}\n" + "These are dSPACE build artifacts built in CommonLib/ and copied to " + "build/CarMaker/CM*/ by dispatch.bat. Remove them with `git rm --cached` " + "and add CommonLib/*.a to .gitignore." + ) + + +# --------------------------------------------------------------------------- +# ryml_all.hpp — single-header amalgamation, not used in any source file +# --------------------------------------------------------------------------- + +def test_ryml_all_hpp_not_tracked(): + """ryml_all.hpp amalgamation header should not be git-tracked.""" + tracked = _git_ls_files("CommonLib/ryml_all.hpp") + assert tracked == [], ( + "CommonLib/ryml_all.hpp is tracked in git but is not used by any " + "source file. Remove it with `git rm --cached CommonLib/ryml_all.hpp` " + "and add it to .gitignore." + ) + + +# --------------------------------------------------------------------------- +# tests/Applications/ should not exist as an empty stub directory +# --------------------------------------------------------------------------- + +def test_no_empty_applications_stub(): + """tests/Applications/ should not exist as an empty placeholder directory.""" + tracked = _git_ls_files("tests/Applications/") + assert tracked == [], ( + f"tests/Applications/ contains tracked files: {tracked}\n" + "If this directory is an empty stub left over from removed test scenarios, " + "delete it. If it contains real content, this test needs updating." + ) + + +# --------------------------------------------------------------------------- +# tests/UserScenarios/ must have its placeholder files but no scenario content +# --------------------------------------------------------------------------- + +def test_user_scenarios_only_has_placeholder_files(): + """tests/UserScenarios/ should only track .gitkeep and README.md.""" + tracked = _git_ls_files("tests/UserScenarios/") + allowed = { + "tests/UserScenarios/.gitkeep", + "tests/UserScenarios/README.md", + } + unexpected = set(tracked) - allowed + assert unexpected == set(), ( + f"Unexpected files tracked in tests/UserScenarios/: {unexpected}\n" + "This directory should only contain .gitkeep and README.md. " + "Proprietary user scenario files must not be committed (see issue #80)." + )

    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

  • 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%0D%PDwx-ow*;K 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
    `lll$%i~Fh;2&rHk@0u;lJKmCi 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