Changes in / [64c4b4d:3db78b89]
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/bibliography/pl.bib
r64c4b4d r3db78b89 219 219 title = {Actor Benchmarks}, 220 220 author = {Peter A. Buhr and Colby A. Parsons}, 221 howpublished= {\ url{https://github.com/pabuhr/ActorExperiments}},221 howpublished= {\href{https://github.com/pabuhr/ActorExperiments}{https://\-github.com/\-pabuhr/\-ActorExperiments}}, 222 222 year = 2022, 223 223 } … … 296 296 contributer = {pabuhr@plg}, 297 297 author = {Ada16}, 298 title = {Ada Reference Manual ISO/IEC 8652:2012(E) with COR.1:2016},298 title = {Ada Reference Manual ISO/IEC 8652:2012(E) with COR.1:2016}, 299 299 edition = {3rd with Technical Corrigendum 1 for Ada 2012}, 300 300 organization= {AXE Consultants}, … … 416 416 address = {Waterloo, Ontario, Canada, N2L 3G1}, 417 417 optnote = {\textsf{http://uwspace.uwaterloo.ca/\-bitstream/10012/\-5751\-/1/Krischer\_Roy.pdf}}, 418 note = {\ url{http://uwspace.uwaterloo.ca/bitstream/10012/5751/1/Krischer_Roy.pdf}},418 note = {\href{http://uwspace.uwaterloo.ca/bitstream/10012/5751/1/Krischer_Roy.pdf}{http://uwspace.uwaterloo.ca/\-bitstream/10012/\-5751\-/1/Krischer\_Roy.pdf}}, 419 419 } 420 420 … … 430 430 number = 5, 431 431 pages = {1005-1042}, 432 optnote = {\ url{https://onlinelibrary.wiley.com/doi/10.1002/spe.2925}},432 optnote = {\href{https://onlinelibrary.wiley.com/doi/10.1002/spe.2925}{https://\-onlinelibrary.wiley.com/\-doi/\-10.1002/\-spe.2925}}, 433 433 } 434 434 … … 761 761 pages = {145-160}, 762 762 publisher = {{USENIX} Association}, 763 note = {\ url{https://www.usenix.org/conference/osdi18/presentation/qin}},763 note = {\href{https://www.usenix.org/conference/osdi18/presentation/qin}{https://\-www.usenix.org/\-conference/\-osdi18/\-presentation/\-qin}}, 764 764 } 765 765 … … 839 839 title = {Async Await}, 840 840 author = {{WikipediA}}, 841 howpublished= {\ url{https://en.wikipedia.org/wiki/Async/await}},841 howpublished= {\href{https://en.wikipedia.org/wiki/Async/await}{https://\-en.wikipedia.org/\-wiki/\-Async/\-await}}, 842 842 year = 2022, 843 843 } … … 928 928 institution = {Carnegie Mellon University}, 929 929 address = {California Institute of Technology, Pasadena, CA, USA}, 930 note = {\ url{http://www.cs.cmu.edu/~acw/15740/paper.pdf}},930 note = {\href{http://www.cs.cmu.edu/~acw/15740/paper.pdf}{http://\-www.cs.cmu.edu/\-$\sim$acw/\-15740/\-paper.pdf}, Accessed May 2014}, 931 931 year = 2009, 932 932 } … … 1034 1034 title = {Boost Coroutine Library}, 1035 1035 year = 2015, 1036 howpublished= {\url{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html}}, 1036 howpublished= {\href{http://www.boost.org/doc/libs/1_61_0/libs/coroutine/doc/html/index.html} 1037 {http://www.boost.org/\-doc/\-libs/1\_61\_0/\-libs/\-coroutine/\-doc/\-html/\-index.html}}, 1037 1038 } 1038 1039 … … 1043 1044 title = {Boost Thread Library}, 1044 1045 year = 2015, 1045 howpublished= {\url{https://www.boost.org/doc/libs/1_61_0/doc/html/thread.html}}, 1046 howpublished= {\href{https://www.boost.org/doc/libs/1_61_0/doc/html/thread.html} 1047 {https://\-www.boost.org/\-doc/\-libs/\-1\_61\_0/\-doc/\-html/\-thread.html}}, 1046 1048 } 1047 1049 … … 1054 1056 month = oct, 1055 1057 type = {Diplomarbeit}, 1056 note = {\ url{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}},1058 note = {\href{https://plg.uwaterloo.ca/~usystem/theses/KrischerThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-KrischerThesis.pdf}}, 1057 1059 } 1058 1060 … … 1146 1148 address = {Geneva, Switzerland}, 1147 1149 year = 1999, 1148 note = {\ url{https://webstore.ansi.org/Standards/INCITS/INCITSISOIEC98991999R2005}},1150 note = {\href{https://webstore.ansi.org/Standards/INCITS/INCITSISOIEC98991999R2005}{https://webstore.ansi.org/\-Standards/\-INCITS/\-INCITSISOIEC98991999R2005}}, 1149 1151 } 1150 1152 … … 1158 1160 address = {Geneva, Switzerland}, 1159 1161 year = 2012, 1160 note = {\ url{https://www.iso.org/standard/57853.html}},1162 note = {\href{https://www.iso.org/standard/57853.html}{https://\-www.iso.org/\-standard/\-57853.html}}, 1161 1163 } 1162 1164 … … 1169 1171 address = {Geneva, Switzerland}, 1170 1172 year = 2015, 1171 note = {\ url{https://www.iso.org/standard/64031.html}},1173 note = {\href{https://www.iso.org/standard/64031.html}{https://\-www.iso.org/\-standard/\-64031.html}}, 1172 1174 } 1173 1175 … … 1196 1198 month = aug, 1197 1199 year = {2020}, 1198 note = {\ url{https://cforall.uwaterloo.ca/doc/Fangren_Yu_Report_S20.pdf}},1200 note = {\href{https://cforall.uwaterloo.ca/doc/Fangren_Yu_Report_S20.pdf}{https://\-cforall.uwaterloo.ca/\-doc/\-Fangren\_Yu\_Report\_S20.pdf}}, 1199 1201 } 1200 1202 … … 1210 1212 year = 2018, 1211 1213 pages = {2111-2146}, 1212 optnote = {\ url{http://dx.doi.org/10.1002/spe.2624}},1214 optnote = {\href{http://dx.doi.org/10.1002/spe.2624}{http://\-dx.doi.org/\-10.1002/\-spe.2624}}, 1213 1215 } 1214 1216 … … 1217 1219 key = {Cforall Benchmarks}, 1218 1220 author = {{\textsf{C}{$\mathbf{\forall}$} Benchmarks}}, 1219 howpublished= {\ url{https://github.com/cforall/ConcurrentBenchmarks_SPE20}},1221 howpublished= {\href{https://github.com/cforall/ConcurrentBenchmarks_SPE20}{https://\-github.com/\-cforall/\-ConcurrentBenchmarks\_SPE20}}, 1220 1222 } 1221 1223 … … 1224 1226 key = {Cforall}, 1225 1227 author = {{\textsf{C}{$\mathbf{\forall}$} Features}}, 1226 howpublished= {\ url{https://plg.uwaterloo.ca/~cforall/features}},1228 howpublished= {\href{https://plg.uwaterloo.ca/~cforall/features}{https://\-plg.uwaterloo.ca/\-$\sim$cforall/\-features}}, 1227 1229 } 1228 1230 … … 1243 1245 title = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs}, 1244 1246 year = 2018, 1245 howpublished= {\ url{https://cforall.uwaterloo.ca/CFAStackEvaluation.zip}},1247 howpublished= {\href{https://cforall.uwaterloo.ca/CFAStackEvaluation.zip}{https://cforall.uwaterloo.ca/\-CFAStackEvaluation.zip}}, 1246 1248 } 1247 1249 … … 1254 1256 year = 2004, 1255 1257 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1256 note = {\ url{http://plg.uwaterloo.ca/theses/EstevesThesis.pdf}},1258 note = {\href{http://plg.uwaterloo.ca/theses/EstevesThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-EstevesThesis.pdf}}, 1257 1259 } 1258 1260 … … 1264 1266 year = 2019, 1265 1267 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, 1266 note = {\ url{https://uwspace.uwaterloo.ca/handle/10012/14584}},1268 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/14584}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-14584}}, 1267 1269 } 1268 1270 … … 1421 1423 month = oct, 1422 1424 year = 2001, 1423 note = {\ url{http://plg.uwaterloo.ca/~cforall/cfa.ps}},1425 note = {\href{http://plg.uwaterloo.ca/~cforall/cfa.ps}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-cfa.ps}}, 1424 1426 } 1425 1427 … … 1459 1461 contributer = {a3moss@uwaterloo.ca}, 1460 1462 title = {Clang: a {C} language family frontend for {LLVM}}, 1461 howpublished= {\ url{https://clang.llvm.org/}}1463 howpublished= {\href{https://clang.llvm.org/}{https://\-clang.llvm.org/}} 1462 1464 } 1463 1465 … … 1525 1527 address = {Geneva, Switzerland}, 1526 1528 year = 2014, 1527 note = {\ url{https://www.iso.org/standard/51416.html}},1529 note = {\href{https://www.iso.org/standard/51416.html}{https://\-www.iso.org/\-standard/\-51416.html}}, 1528 1530 } 1529 1531 … … 1666 1668 publisher = {Prentice-Hall}, 1667 1669 address = {Upper Saddle River, NJ, USA}, 1668 note = {\ url{http://www.usingcsp.com/cspbook.pdf}},1670 note = {\href{http://www.usingcsp.com/cspbook.pdf}{http://\-www.usingcsp.com/\-cspbook.pdf}}, 1669 1671 } 1670 1672 … … 1731 1733 month = sep, 1732 1734 address = {Waterloo, Ontario, Canada, N2L 3G1}, 1733 note = {\ url{http://plg.uwaterloo.ca/theses/MokThesis.pdf}},1735 note = {\href{http://plg.uwaterloo.ca/theses/MokThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-MokThesis.pdf}}, 1734 1736 } 1735 1737 … … 1806 1808 author = {Peter A. Buhr and David Dice and Wim H. Hesselink}, 1807 1809 title = {concurrent-locking}, 1808 howpublished= {\ url{https://github.com/pabuhr/concurrent-locking}},1810 howpublished= {\href{https://github.com/pabuhr/concurrent-locking}{https://\-github.com/\-pabuhr/\-concurrent-locking}}, 1809 1811 } 1810 1812 … … 1956 1958 year = 2015, 1957 1959 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, 1958 note = {\ url{https://uwspace.uwaterloo.ca/handle/10012/10013}},1960 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/10013}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-10013}}, 1959 1961 } 1960 1962 … … 2096 2098 month = oct, 2097 2099 year = 2010, 2098 howpublished= {\url{https://www.airs.com/blog/archives/428}}, 2100 howpublished= {\href{https://www.airs.com/blog/archives/428} 2101 {https://www.airs.com/\-blog/\-archives/\-428}}, 2099 2102 } 2100 2103 … … 2107 2110 year = 1992, 2108 2111 address = {Waterloo, Ontario, Canada, N2L 3G1}, 2109 note = {\ url{http://plg.uwaterloo.ca/theses/DitchfieldThesis.pdf}}2112 note = {\href{http://plg.uwaterloo.ca/theses/DitchfieldThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-DitchfieldThesis.pdf}} 2110 2113 } 2111 2114 … … 2177 2180 author = {Glen Ditchfield}, 2178 2181 title = {Conversions for \textsf{C}$\mathbf{\forall}$}, 2179 note = {\ url{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}},2182 note = {\href{http://plg.uwaterloo.ca/~cforall/Conversions/index.html}{http://\-plg.uwaterloo.ca/\-$\sim$cforall/\-Conversions/\-index.html}}, 2180 2183 month = {Nov}, 2181 2184 year = {2002}, … … 2214 2217 year = 2019, 2215 2218 month = feb, 2216 howpublished= {\url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0912r5.html}}, 2219 howpublished= {\href{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p0912r5.html} 2220 {http://\-www.open-std.org/\-jtc1/\-sc22/\-wg21/\-docs/\-papers/\-2019/p0912r5.html}}, 2217 2221 } 2218 2222 … … 2225 2229 month = jun, 2226 2230 year = 2022, 2227 note = {\ url{https://en.cppreference.com/w/cpp/language/coroutines}},2231 note = {\href{https://en.cppreference.com/w/cpp/language/coroutines}{https://\-en.cppreference.com/\-w/\-cpp/\-language/\-coroutines}}, 2228 2232 } 2229 2233 … … 2279 2283 title = {CS343}, 2280 2284 year = 2018, 2281 howpublished= {\ url{https://www.student.cs.uwaterloo.ca/~cs343}},2285 howpublished= {\href{https://www.student.cs.uwaterloo.ca/~cs343}{https://\-www.student.cs.uwaterloo.ca/\-$\sim$cs343}}, 2282 2286 } 2283 2287 … … 2305 2309 address = {Vienna Virginia, U.S.A.}, 2306 2310 year = 2016, 2307 note = {\ url{http://dlang.org/spec/spec.html}},2311 note = {\href{http://dlang.org/spec/spec.html}{http://\-dlang.org/\-spec/\-spec.html}}, 2308 2312 } 2309 2313 … … 2782 2786 author = {Martin Odersky}, 2783 2787 title = {Dotty}, 2784 howpublished= {\ url{https://github.com/lampepfl/dotty}},2788 howpublished= {\href{https://github.com/lampepfl/dotty}{https://\-github.com/\-lampepfl/\-dotty}}, 2785 2789 note = {Acessed: 2019-02-22} 2786 2790 } … … 2793 2797 month = nov, 2794 2798 year = 1983, 2795 note = {\ url{http://www.lysator.liu.se/c/duffs-device.html}}2799 note = {\href{http://www.lysator.liu.se/c/duffs-device.html}{http://\-www.lysator.liu.se/\-c/\-duffs-device.html}} 2796 2800 } 2797 2801 … … 3029 3033 month = aug, 3030 3034 note = {WikipediA}, 3031 howpublished= {\url{http://www.akkadia.org/drepper/tls.pdf}}, 3035 howpublished= {\href{http://www.akkadia.org/drepper/tls.pdf} 3036 {http://\-www.akkadia.org/\-drepper/\-tls.pdf}}, 3032 3037 } 3033 3038 … … 3040 3045 month = may, 3041 3046 note = {Electronic Engineering Times}, 3042 howpublished= {\url{https://www.eetimes.com/author.asp?sectionid=36&doc_id=1287712}}, 3047 howpublished= {\href{https://www.eetimes.com/author.asp?sectionid=36&doc_id=1287712} 3048 {https://\-www.eetimes.com/\-author.asp?sectionid=\-36&doc_id=1287712}}, 3043 3049 } 3044 3050 … … 3153 3159 month = sep, 3154 3160 year = 2016, 3155 note = {\ url{http://erlang.org/doc/pdf/otp-system-documentation.pdf}},3161 note = {\href{http://erlang.org/doc/pdf/otp-system-documentation.pdf}{http://\-erlang.org/\-doc/\-pdf/\-otp-system-documentation.pdf}}, 3156 3162 } 3157 3163 … … 3476 3482 title = {Extensions to the {C} Language Family}, 3477 3483 year = 2014, 3478 howpublished= {\ url{https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/C-Extensions.html}},3484 howpublished= {\href{https://gcc.gnu.org/onlinedocs/gcc-4.7.2/gcc/C-Extensions.html}{https://\-gcc.gnu.org/\-onlinedocs/\-gcc-4.7.2/\-gcc/\-C\-Extensions.html}}, 3479 3485 } 3480 3486 … … 3559 3565 month = feb, 3560 3566 publisher = {John Wiley \& Sons}, 3561 note = {\ url{https://doi.org/10.1002/cpe.4183}}3567 note = {\href{https://doi.org/10.1002/cpe.4183}{https://\-doi.org/\-10.1002/\-cpe.4183}} 3562 3568 } 3563 3569 … … 3581 3587 title = {Fibers}, 3582 3588 organization= {Microsoft, Windows Development Center}, 3583 address = {\ url{https://docs.microsoft.com/en-us/windows/desktop/ProcThread/fibers}},3589 address = {\href{https://docs.microsoft.com/en-us/windows/desktop/ProcThread/fibers}{https://\-docs.microsoft.com/\-en-us/\-windows/\-desktop/\-ProcThread/\-fibers}}, 3584 3590 year = 2018, 3585 3591 } … … 3603 3609 month = jan, 3604 3610 address = {Waterloo, Ontario, Canada, N2L 3G1}, 3605 note = {\ url{http://uwspace.uwaterloo.ca/bitstream/10012/3501/1/Thesis.pdf}},3611 note = {\href{http://uwspace.uwaterloo.ca/bitstream/10012/3501/1/Thesis.pdf}{http://\-uwspace.uwaterloo.ca/\-bitstream/\-10012/\-3501/\-1/\-Thesis.pdf}}, 3606 3612 } 3607 3613 … … 3638 3644 title = {Facebook Open-source Library}, 3639 3645 organization= {Facebook}, 3640 address = {\ url{https://github.com/facebook/folly}},3646 address = {\href{https://github.com/facebook/folly}{https://\-github.com/\-facebook/\-folly}}, 3641 3647 year = 2018, 3642 3648 } … … 3679 3685 address = {Geneva, Switzerland}, 3680 3686 year = 2010, 3681 note = {\ url{https://www.iso.org/standard/50459.html}},3687 note = {\href{https://www.iso.org/standard/50459.html}{https://\-www.iso.org/\-standard/\-50459.html}}, 3682 3688 } 3683 3689 … … 3691 3697 address = {Geneva, Switzerland}, 3692 3698 year = 2018, 3693 note = {\ url{https://www.iso.org/standard/72320.html}},3699 note = {\href{https://www.iso.org/standard/72320.html}{https://\-www.iso.org/\-standard/\-72320.html}}, 3694 3700 } 3695 3701 … … 3922 3928 address = {GNU}, 3923 3929 year = 2016, 3924 note = {\ url{https://gmplib.org}},3930 note = {\href{https://gmplib.org}{https://\-gmplib.org}}, 3925 3931 } 3926 3932 … … 3933 3939 organization= {Google}, 3934 3940 year = 2009, 3935 note = {\ url{http://golang.org/ref/spec}},3941 note = {\href{http://golang.org/ref/spec}{http://\-golang.org/\-ref/\-spec}}, 3936 3942 } 3937 3943 … … 4037 4043 edition = {{S}imon {M}arlow}, 4038 4044 year = 2010, 4039 note = {\ url{https://haskell.org/definition/haskell2010.pdf}},4045 note = {\href{https://haskell.org/definition/haskell2010.pdf}{https://\-haskell.org/\-definition/\-haskell2010.pdf}}, 4040 4046 } 4041 4047 … … 4112 4118 number = 12, 4113 4119 pages = {2463-2500}, 4114 note = {\url{https://onlinelibrary.wiley.com/doi/10.1002/spe.3262} },4120 note = {\url{https://onlinelibrary.wiley.com/doi/10.1002/spe.3262}, 4115 4121 } 4116 4122 … … 4121 4127 year = 2019, 4122 4128 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, 4123 note = {\ url{https://uwspace.uwaterloo.ca/handle/10012/14706}},4129 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/14706}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-14706}}, 4124 4130 } 4125 4131 … … 4180 4186 month = sep, 4181 4187 publisher = {John Wiley \& Sons}, 4182 note = {\ url{https://doi.org/10.1002/cpe.4475}},4188 note = {\href{https://doi.org/10.1002/cpe.4475}{https://\-doi.org/\-10.1002/\-cpe.4475}}, 4183 4189 } 4184 4190 … … 4314 4320 year = 2003, 4315 4321 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, 4316 note = {\ url{http://plg.uwaterloo.ca/theses/BilsonThesis.pdf}},4322 note = {\href{http://plg.uwaterloo.ca/theses/BilsonThesis.pdf}{http://\-plg.uwaterloo.ca/\-theses/\-BilsonThesis.pdf}}, 4317 4323 } 4318 4324 … … 4727 4733 title = {JDK 1.1 for Solaris Developer's Guide}, 4728 4734 publisher = {Oracle}, 4729 address = {\ url{https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqk/index.html#ch2mt-41}},4735 address = {\href{https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqk/index.html#ch2mt-41}{https://\-docs.oracle.com/\-cd/\-E19455-01/\-806-3461/\-6jck06gqk/\-index.html\#ch2mt-41}}, 4730 4736 year = 2010, 4731 4737 } … … 4738 4744 organization= {Oracle}, 4739 4745 year = 2014, 4740 note = {\ url{http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html}},4746 note = {\href{http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/package-summary.html}{http://docs.oracle.com/\-javase/7/\-docs/\-api/\-java/\-util/\-concurrent/\-package-summary.html}}, 4741 4747 } 4742 4748 … … 4867 4873 title = {Labels as Values}, 4868 4874 year = {since gcc-3}, 4869 howpublished= {\url{https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html}}, 4875 howpublished= {\href{https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html} 4876 {https:\-//gcc.gnu.org/\-onlinedocs/\-gcc/\-Labels-as-Values.html}}, 4870 4877 } 4871 4878 … … 4924 4931 title = {libdill Thread Library}, 4925 4932 year = 2019, 4926 howpublished= {\url{http://libdill.org/libdill-2.14.tar.gz}}, 4933 howpublished= {\href{http://libdill.org/libdill-2.14.tar.gz} 4934 {http://\-libdill.org/\-libdill-2.14.tar.gz}}, 4927 4935 } 4928 4936 … … 4931 4939 author = {Martin Karsten}, 4932 4940 title = {{libfibre:~User-Level Threading Runtime}}, 4933 howpublished= {\ url{https://git.uwaterloo.ca/mkarsten/libfibre}},4941 howpublished= {\href{https://git.uwaterloo.ca/mkarsten/libfibre}{https://\-git.uwaterloo.ca/\-mkarsten/\-libfibre}}, 4934 4942 note = {[Online; accessed 2020-04-15]}, 4935 4943 } … … 4954 4962 title = {{G}o-style concurrency in {C}, Version 1.18}, 4955 4963 organization= {libmill}, 4956 address = {\ url{http://libmill.org/documentation.html}},4964 address = {\href{http://libmill.org/documentation.html}{http://\-libmill.org/\-documentation.html}}, 4957 4965 month = jan, 4958 4966 year = 2017, … … 5030 5038 month = jan, 5031 5039 year = 2017, 5032 howpublished= {\url{http://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/}}, 5040 howpublished= {\href{http://smallcultfollowing.com/babysteps/blog/2017/01/26/lowering-rust-traits-to-logic/} 5041 {http://smallcultfollowing.com/\-babysteps/\-blog/\-2017/\-01/\-26/\-lowering-rust-traits-to-logic/}}, 5033 5042 optnote = {Accessed: 2019-01}, 5034 5043 } … … 5054 5063 title = {Lua 5.4 Reference Manual}, 5055 5064 organization= {Pontifical Catholic University}, 5056 address = {\ url{https://www.lua.org/manual/5.4}},5065 address = {\href{https://www.lua.org/manual/5.4}{https://\-www.lua.org/\-manual/\-5.4}}, 5057 5066 year = 2020, 5058 5067 } … … 5075 5084 title = {Making arbitrarily-large binaries from fixed-size {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} code}, 5076 5085 year = 2016, 5077 howpublished= {\url{http://blog.reverberate.org/2016/01/making-arbitrarily-large-binaries-from.html}}, 5086 howpublished= {\href{http://blog.reverberate.org/2016/01/making-arbitrarily-large-binaries-from.html} 5087 {http://blog.reverberate.org/\-2016/\-01/\-making-arbitrarily-large-binaries-from.html}}, 5078 5088 optnote = {Accessed: 2016-09}, 5079 5089 } … … 5108 5118 title = {Marcel Thread Library}, 5109 5119 year = 2011, 5110 howpublished= {\url{https://gforge.inria.fr/frs/download.php/file/28643/marcel-2.99.3.tar.gz}}, 5120 howpublished= {\href{https://gforge.inria.fr/frs/download.php/file/28643/marcel-2.99.3.tar.gz} 5121 {https://\-gforge.inria.fr/\-frs/\-download.php/\-file/\-28643/\-marcel-2.99.3.tar.gz}}, 5111 5122 } 5112 5123 … … 5253 5264 month = sep, 5254 5265 year = 1994, 5255 note = {\ url{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}},5266 note = {\href{https://plg.uwaterloo.ca/~usystem/pub/uSystem/uSystem.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-pub/\-uSystem/\-uSystem.pdf}}, 5256 5267 } 5257 5268 … … 5452 5463 month = jun, 5453 5464 year = 2015, 5454 note = {\ url{http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf}},5465 note = {\href{http://www.mpi-forum.org/docs/mpi-3.1/mpi31-report.pdf}{http://www.mpi-forum.org/\-docs/\-mpi-3.1/\-mpi31-report.pdf}}, 5455 5466 } 5456 5467 … … 5602 5613 year = 1980, 5603 5614 pages = {833-842}, 5604 note = {\ url{http://groups.csail.mit.edu/tds/papers/Lynch/allertonconf.pdf}},5615 note = {\href{http://groups.csail.mit.edu/tds/papers/Lynch/allertonconf.pdf}{http://\-groups.csail.mit.edu/\-tds/\-papers/\-Lynch/\-allertonconf.pdf} [Accessed on March 2014]}, 5605 5616 optnote = {\textsf{http://\-groups.csail.mit.edu/\-tds/\-papers/\-Lynch/\-allertonconf.pdf}}, 5606 5617 } … … 5628 5639 institution = {Red Hat}, 5629 5640 year = 2003, 5630 note = {\ url{http://www.cs.utexas.edu/~witchel/372/lectures/POSIX_Linux_Threading.pdf}},5641 note = {\href{http://www.cs.utexas.edu/~witchel/372/lectures/POSIX_Linux_Threading.pdf}{http://www.cs.utexas.edu/\-$\sim$witchel/\-372/\-lectures/\-POSIX\_Linux\_Threading.pdf}}, 5631 5642 } 5632 5643 … … 5638 5649 organization= {{gcc} 9.3 Manual}, 5639 5650 year = 2019, 5640 note = {\ url{https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Nested-Functions.html}},5651 note = {\href{https://gcc.gnu.org/onlinedocs/gcc-9.3.0/gcc/Nested-Functions.html}{https://\-gcc.gnu.org/\-onlinedocs/\-gcc-9.3.0/\-gcc/\-Nested-Functions.html}}, 5641 5652 } 5642 5653 … … 5707 5718 year = 1990, 5708 5719 pages = {41-51}, 5709 note = {\ url{http://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compiler.pdf}},5720 note = {\href{http://doc.cat-v.org/bell_labs/new_c_compilers/new_c_compiler.pdf}{http://\-doc.cat-v.org/\-bell\_labs/\-new\_c\_compilers/\-new\_c\_compiler.pdf}}, 5710 5721 } 5711 5722 … … 5770 5781 key = {nginx}, 5771 5782 author = {{NGINX}}, 5772 howpublished= {\ url{https://www.nginx.com}},5783 howpublished= {\href{https://www.nginx.com}{https://\-www.nginx.com}}, 5773 5784 } 5774 5785 … … 5899 5910 publisher = {Apple Inc.}, 5900 5911 year = 2014, 5901 howpublished= {\ url{https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC}},5912 howpublished= {\href{https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC}{https://\-developer.apple.com/\-library/archive/\-documentation/\-Cocoa/\-Conceptual/\-ProgrammingWithObjectiveC}}, 5902 5913 } 5903 5914 … … 5908 5919 title = {{X}code 7 Release Notes}, 5909 5920 year = 2015, 5910 howpublished= {\ url{https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html}},5921 howpublished= {\href{https://developer.apple.com/library/content/documentation/Xcode/Conceptual/RN-Xcode-Archive/Chapters/xc7_release_notes.html}{https://\-developer.apple.com/\-library/\-content/\-documentation/\-Xcode/\-Conceptual/\-RN-Xcode-Archive/\-Chapters/\-xc7\_release\_notes.html}}, 5911 5922 } 5912 5923 … … 6041 6052 month = nov, 6042 6053 year = 2015, 6043 note = {\ url{https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf}},6054 note = {\href{https://www.openmp.org/wp-content/uploads/openmp-4.5.pdf}{https://\-www.openmp.org/\-wp-content/\-uploads/\-openmp-4.5.pdf}}, 6044 6055 } 6045 6056 … … 6049 6060 title = {OpenTelemetry}, 6050 6061 author = {{Asynkron AB}}, 6051 howpublished= {\ url{https://proto.actor/docs/tracing}},6062 howpublished= {\href{https://proto.actor/docs/tracing}{https://\-proto.actor/\-docs/\-tracing}}, 6052 6063 year = 2022, 6053 6064 } … … 6450 6461 key = {perf}, 6451 6462 author = {perf}, 6452 howpublished= {\ url{https://perf.wiki.kernel.org/index.php/Tutorial}},6463 howpublished= {\href{https://perf.wiki.kernel.org/index.php/Tutorial}{https://\-perf.wiki.kernel.org/\-index.php/\-Tutorial}}, 6453 6464 } 6454 6465 … … 6459 6470 month = may, 6460 6471 year = 2012, 6461 howpublished= {\ url{http://cs.brown.edu/research/pubs/theses/masters/2012/verch.pdf}},6472 howpublished= {\href{http://cs.brown.edu/research/pubs/theses/masters/2012/verch.pdf}{http://cs.brown.edu/\-research/\-pubs/\-theses/\-masters/\-2012/\-verch.pdf}}, 6462 6473 } 6463 6474 … … 6858 6869 address = {Geneva, Switzerland}, 6859 6870 year = 1998, 6860 note = {\ url{https://www.iso.org/standard/25845.html}},6871 note = {\href{https://www.iso.org/standard/25845.html}{https://\-www.iso.org/\-standard/\-25845.html}}, 6861 6872 } 6862 6873 … … 6870 6881 address = {Geneva, Switzerland}, 6871 6882 year = 2014, 6872 note = {\ url{https://www.iso.org/standard/64029.html}},6883 note = {\href{https://www.iso.org/standard/64029.html}{https://\-www.iso.org/\-standard/\-64029.html}}, 6873 6884 } 6874 6885 … … 6882 6893 address = {Geneva, Switzerland}, 6883 6894 year = 2017, 6884 note = {\ url{https://www.iso.org/standard/68564.html}},6895 note = {\href{https://www.iso.org/standard/68564.html}{https://\-www.iso.org/\-standard/\-68564.html}}, 6885 6896 } 6886 6897 … … 7162 7173 author = {IEEE and {The Open Group}}, 7163 7174 year = 2018, 7164 howpublished= {\url{http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/pthread.h.html}}, 7175 howpublished= {\href{http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/pthread.h.html} 7176 {http://\-pubs.opengroup.org/\-onlinepubs/\-9699919799/\-basedefs/\-pthread.h.html}}, 7165 7177 } 7166 7178 … … 7171 7183 title = {Python Language Reference, Release 3.7.2}, 7172 7184 organization= {Python Software Foundation}, 7173 address = {\ url{https://docs.python.org/3/reference/index.html}},7185 address = {\href{https://docs.python.org/3/reference/index.html}{https://\-docs.python.org/\-3/\-reference/\-index.html}}, 7174 7186 year = 2018, 7175 7187 } … … 7226 7238 title = {Quasar Documentation, Release 0.8.0}, 7227 7239 organization= {Parallel Universe}, 7228 address = {\ url{http://docs.paralleluniverse.co/quasar}},7240 address = {\href{http://docs.paralleluniverse.co/quasar}{http://\-docs.paralleluniverse.co/\-quasar}}, 7229 7241 year = 2018, 7230 7242 } … … 7366 7378 month = apr, 7367 7379 type = {Diplomarbeit}, 7368 note = {\ url{https://plg.uwaterloo.ca/~usystem/theses/SchusterThesis.pdf}},7380 note = {\href{https://plg.uwaterloo.ca/~usystem/theses/SchusterThesis.pdf}{https://\-plg.uwaterloo.ca/\-$\sim$usystem/\-theses/\-SchusterThesis.pdf}}, 7369 7381 } 7370 7382 … … 7401 7413 year = 2017, 7402 7414 optaddress = {Waterloo, Ontario, Canada, N2L 3G1}, 7403 note = {\ url{https://uwspace.uwaterloo.ca/handle/10012/11830}},7415 note = {\href{https://uwspace.uwaterloo.ca/handle/10012/11830}{https://\-uwspace.uwaterloo.ca/\-handle/\-10012/\-11830}}, 7404 7416 } 7405 7417 … … 7479 7491 month = apr, 7480 7492 year = 2022, 7481 howpublished= {\ url{https://github.com/mjansson/rpmalloc}},7493 howpublished= {\href{https://github.com/mjansson/rpmalloc}{https://\-github.com/\-mjansson/\-rpmalloc}}, 7482 7494 } 7483 7495 … … 7489 7501 optaddress = {Rust Project Developers}, 7490 7502 year = 2015, 7491 note = {\ url{https://doc.rust-lang.org/reference.html}},7503 note = {\href{https://doc.rust-lang.org/reference.html}{https://\-doc.rust-lang\-.org/\-reference.html}}, 7492 7504 } 7493 7505 … … 7498 7510 title = {Ruby Documentation, Release 2.6.0}, 7499 7511 organization= {Python Software Foundation}, 7500 address = {\ url{https://www.ruby-lang.org/en/documentation}},7512 address = {\href{https://www.ruby-lang.org/en/documentation}{https://\-www.ruby-lang.org/\-en/\-documentation}}, 7501 7513 year = 2018, 7502 7514 } … … 7526 7538 address = {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne}, 7527 7539 year = 2016, 7528 note = {\ url{http://www.scala-lang.org/files/archive/spec/2.11}},7540 note = {\href{http://www.scala-lang.org/files/archive/spec/2.11}{http://\-www.scala-lang.org/\-files/\-archive/\-spec/\-2.11}}, 7529 7541 } 7530 7542 … … 7687 7699 month = sep, 7688 7700 year = 1995, 7689 note = {\ url{http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-7.pdf}},7701 note = {\href{http://www.hpl.hp.com/techreports/Compaq-DEC/WRL-95-7.pdf}{http://www.hpl.hp.com/\-techreports/\-Compaq-DEC/\-WRL-95-7.pdf}, Reprinted in \cite{Adve95reprint}.}, 7690 7702 } 7691 7703 … … 7761 7773 month = may, 7762 7774 year = 2001, 7763 note = {\ url{http://www.python.org/peps/pep-0255.html}},7775 note = {\href{http://www.python.org/peps/pep-0255.html}{http://\-www.python.org/\-peps/\-pep-0255.html}}, 7764 7776 } 7765 7777 … … 8064 8076 organization= {IEEE and The Open Group}, 8065 8077 year = 2017, 8066 note = {\ url{https://pubs.opengroup.org/onlinepubs/9699919799}},8078 note = {\href{https://pubs.opengroup.org/onlinepubs/9699919799}{https://\-pubs.opengroup.org/\-onlinepubs/\-9699919799}}, 8067 8079 } 8068 8080 … … 8131 8143 pages = {1-6}, 8132 8144 numpages = {6}, 8133 howpublished= {\ url{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf}},8145 howpublished= {\href{http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/p0144r0.pdf}{http://\-www.open-std.org/\-jtc1/\-sc22/\-wg21/\-docs/\-papers/\-2015/\-p0144r0.pdf}}, 8134 8146 } 8135 8147 … … 8441 8453 key = {TIOBE Index}, 8442 8454 author = {{TIOBE Index}}, 8443 howpublished= {\ url{http://www.tiobe.com/tiobe_index}},8455 howpublished= {\href{http://www.tiobe.com/tiobe_index}{http://\-www.tiobe.com/\-tiobe\_index}}, 8444 8456 } 8445 8457 … … 8449 8461 title = {Thread (computing)}, 8450 8462 author = {{Threading Model}}, 8451 howpublished= {\ url{https://en.wikipedia.org/wiki/Thread_(computing)}},8463 howpublished= {\href{https://en.wikipedia.org/wiki/Thread_(computing)}{https://\-en.wikipedia.org/\-wiki/\-Thread\_\-(computing)}}, 8452 8464 } 8453 8465 … … 8457 8469 title = {{T}okio Asynchronous Runtime for {R}ust}, 8458 8470 author = {Tokio}, 8459 howpublished= {\ url{https://tokio.rs}},8471 howpublished= {\href{https://tokio.rs}{https://\-tokio.rs}}, 8460 8472 } 8461 8473 … … 8597 8609 key = {Trace Compass}, 8598 8610 author = {{T}race {C}ompass}, 8599 howpublished= {\ url{https://projects.eclipse.org/proposals/trace-compass}},8611 howpublished= {\href{https://projects.eclipse.org/proposals/trace-compass}{https://\-projects.eclipse.org/\-proposals/\-trace-compass}}, 8600 8612 } 8601 8613 … … 8656 8668 title = {Typed Actors}, 8657 8669 author = {{Lightbend}}, 8658 howpublished= {\ url{https://doc.akka.io/docs/akka/2.5/typed-actors.html}},8670 howpublished= {\href{https://doc.akka.io/docs/akka/2.5/typed-actors.html}{https://\-doc.akka.io/\-docs/\-akka/\-2.5/\-typed-actors.html}}, 8659 8671 year = 2022, 8660 8672 } … … 8926 8938 year = 2020, 8927 8939 note = {WikipediA}, 8928 howpublished= {\url{https://en.wikipedia.org/wiki/Visitor\_pattern}}, 8940 howpublished= {\href{https://en.wikipedia.org/wiki/Visitor\_pattern} 8941 {https://\-en.wikipedia.org/\-wiki/\-Visitor\_pattern}}, 8929 8942 } 8930 8943 … … 9028 9041 month = jun, 9029 9042 year = 1985, 9030 note = {\ url{http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf}},9043 note = {\href{http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf}{http://www.hpl.hp.com/\-techreports/\-tandem/\-TR-85.7.pdf}}, 9031 9044 } 9032 9045 -
libcfa/src/iostream.hfa
r64c4b4d r3db78b89 10 10 // Created On : Wed May 27 17:56:53 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Sun Jan 21 22:42:40202413 // Update Count : 6 5512 // Last Modified On : Wed Jan 3 10:53:18 2024 13 // Update Count : 610 14 14 // 15 15 … … 196 196 // *********************************** integral *********************************** 197 197 198 // See 6.7.9. 19) The initialization shall occur in initializer list order, each initializer provided for a particular 199 // subobject overriding any previously listed initializer for the same subobject; ***all subobjects that are not 200 // initialized explicitly shall be initialized implicitly the same as objects that have static storage duration.*** 201 198 202 #define INTEGRAL_FMT_DECL( T, CODE ) \ 199 203 static inline { \ 200 _Ostream_Manip(T) bin( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :'b', { .all : 0 } }; } \201 _Ostream_Manip(T) oct( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :'o', { .all : 0 } }; } \202 _Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :'x', { .all : 0 } }; } \203 _Ostream_Manip(T) wd( unsigned int w d, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : 0, .base :CODE, { .all : 0 } }; } \204 _Ostream_Manip(T) wd( unsigned int w d, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : pc, .base :CODE, { .flags.pc : true } }; } \205 _Ostream_Manip(T) & wd( unsigned int w d, _Ostream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \206 _Ostream_Manip(T) & wd( unsigned int w d, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \204 _Ostream_Manip(T) bin( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'b', { .all : 0 } }; } \ 205 _Ostream_Manip(T) oct( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'o', { .all : 0 } }; } \ 206 _Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'x', { .all : 0 } }; } \ 207 _Ostream_Manip(T) wd( unsigned int w, T val ) { return (_Ostream_Manip(T))@{ val, w, 0, CODE, { .all : 0 } }; } \ 208 _Ostream_Manip(T) wd( unsigned int w, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ val, w, pc, CODE, { .flags.pc : true } }; } \ 209 _Ostream_Manip(T) & wd( unsigned int w, _Ostream_Manip(T) & fmt ) { fmt.wd = w; return fmt; } \ 210 _Ostream_Manip(T) & wd( unsigned int w, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \ 207 211 _Ostream_Manip(T) & left( _Ostream_Manip(T) & fmt ) { fmt.flags.left = true; return fmt; } \ 208 212 _Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; } \ 209 213 _Ostream_Manip(T) & nobase( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \ 210 214 _Ostream_Manip(T) & pad0( _Ostream_Manip(T) & fmt ) { fmt.flags.pad0 = true; return fmt; } \ 211 _Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :CODE, { .flags.sign : true } }; } \215 _Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, CODE, { .flags.sign : true } }; } \ 212 216 _Ostream_Manip(T) & sign( _Ostream_Manip(T) & fmt ) { fmt.flags.sign = true; return fmt; } \ 213 217 } /* distribution */ \ … … 237 241 #define FLOATING_POINT_FMT_DECL( T ) \ 238 242 static inline { \ 239 _Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'a', { .all : 0 } }; } \ 240 _Ostream_Manip(T) sci( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base : 'e', { .all : 0 } }; } \ 241 _Ostream_Manip(T) eng( T val ) { return (_Ostream_Manip(T))@{ .val : val, 1, -1, .base : 'g', { .flags.eng : true } }; } \ 242 _Ostream_Manip(T) wd( unsigned int wd, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : 0, .base : 'g', { .all : 0 } }; } \ 243 _Ostream_Manip(T) wd( unsigned int wd, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : pc, .base : 'f', { .flags.pc : true } }; } \ 244 _Ostream_Manip(T) ws( unsigned int wd, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : wd, .pc : pc, .base : 'g', { .flags.pc : true } }; } \ 245 _Ostream_Manip(T) & wd( unsigned int wd, _Ostream_Manip(T) & fmt ) { if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = wd; return fmt; } \ 246 _Ostream_Manip(T) & wd( unsigned int wd, unsigned int pc, _Ostream_Manip(T) & fmt ) { \ 247 if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \ 248 _Ostream_Manip(T) & ws( unsigned int wd, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \ 243 _Ostream_Manip(T) hex( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'a', { .all : 0 } }; } \ 244 _Ostream_Manip(T) sci( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'e', { .all : 0 } }; } \ 245 _Ostream_Manip(T) eng( T val ) { return (_Ostream_Manip(T))@{ val, 1, -1, 'g', { .flags.eng : true } }; } \ 246 _Ostream_Manip(T) wd( unsigned int w, T val ) { return (_Ostream_Manip(T))@{ val, w, 0, 'g', { .all : 0 } }; } \ 247 _Ostream_Manip(T) wd( unsigned int w, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ val, w, pc, 'f', { .flags.pc : true } }; } \ 248 _Ostream_Manip(T) ws( unsigned int w, unsigned int pc, T val ) { return (_Ostream_Manip(T))@{ val, w, pc, 'g', { .flags.pc : true } }; } \ 249 _Ostream_Manip(T) & wd( unsigned int w, _Ostream_Manip(T) & fmt ) { if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = w; return fmt; } \ 250 _Ostream_Manip(T) & wd( unsigned int w, unsigned int pc, _Ostream_Manip(T) & fmt ) { if ( fmt.flags.eng ) fmt.base = 'f'; fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \ 251 _Ostream_Manip(T) & ws( unsigned int w, unsigned int pc, _Ostream_Manip(T) & fmt ) { fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; } \ 249 252 _Ostream_Manip(T) & left( _Ostream_Manip(T) & fmt ) { fmt.flags.left = true; return fmt; } \ 250 _Ostream_Manip(T) upcase( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :'G', { .all : 0 } }; } \253 _Ostream_Manip(T) upcase( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'G', { .all : 0 } }; } \ 251 254 _Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { fmt.base -= 32; /* upper case */ return fmt; } \ 252 255 _Ostream_Manip(T) & pad0( _Ostream_Manip(T) & fmt ) { fmt.flags.pad0 = true; return fmt; } \ 253 _Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :'g', { .flags.sign : true } }; } \256 _Ostream_Manip(T) sign( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'g', { .flags.sign : true } }; } \ 254 257 _Ostream_Manip(T) & sign( _Ostream_Manip(T) & fmt ) { fmt.flags.sign = true; return fmt; } \ 255 _Ostream_Manip(T) nodp( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :'g', { .flags.nobsdp : true } }; } \258 _Ostream_Manip(T) nodp( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'g', { .flags.nobsdp : true } }; } \ 256 259 _Ostream_Manip(T) & nodp( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \ 257 _Ostream_Manip(T) unit( T val ) { return (_Ostream_Manip(T))@{ .val : val, .wd : 1, .pc : 0, .base :'g', { .flags.nobsdp : true } }; } \260 _Ostream_Manip(T) unit( T val ) { return (_Ostream_Manip(T))@{ val, 1, 0, 'g', { .flags.nobsdp : true } }; } \ 258 261 _Ostream_Manip(T) & unit( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \ 259 262 } /* distribution */ \ … … 269 272 270 273 static inline { 271 _Ostream_Manip(char) bin( char c ) { return (_Ostream_Manip(char))@{ .val : c, .wd : 1, .pc : 0, .base :'b', { .all : 0 } }; }272 _Ostream_Manip(char) oct( char c ) { return (_Ostream_Manip(char))@{ .val : c, .wd : 1, .pc : 0, .base :'o', { .all : 0 } }; }273 _Ostream_Manip(char) hex( char c ) { return (_Ostream_Manip(char))@{ .val : c, .wd : 1, .pc : 0, .base :'x', { .all : 0 } }; }274 _Ostream_Manip(char) wd( unsigned int w d, char c ) { return (_Ostream_Manip(char))@{ c, wd, 0, .base :'c', { .all : 0 } }; }275 _Ostream_Manip(char) & wd( unsigned int w d, _Ostream_Manip(char) & fmt ) { fmt.wd = wd; return fmt; }274 _Ostream_Manip(char) bin( char c ) { return (_Ostream_Manip(char))@{ c, 1, 0, 'b', { .all : 0 } }; } 275 _Ostream_Manip(char) oct( char c ) { return (_Ostream_Manip(char))@{ c, 1, 0, 'o', { .all : 0 } }; } 276 _Ostream_Manip(char) hex( char c ) { return (_Ostream_Manip(char))@{ c, 1, 0, 'x', { .all : 0 } }; } 277 _Ostream_Manip(char) wd( unsigned int w, char c ) { return (_Ostream_Manip(char))@{ c, w, 0, 'c', { .all : 0 } }; } 278 _Ostream_Manip(char) & wd( unsigned int w, _Ostream_Manip(char) & fmt ) { fmt.wd = w; return fmt; } 276 279 _Ostream_Manip(char) & left( _Ostream_Manip(char) & fmt ) { fmt.flags.left = true; return fmt; } 277 280 _Ostream_Manip(char) & upcase( _Ostream_Manip(char) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; } … … 286 289 287 290 static inline { 288 _Ostream_Manip(const char *) bin( const char s[] ) { return (_Ostream_Manip(const char *))@{ .val : s, .wd : 1, .pc : 0, .base :'b', { .all : 0 } }; }289 _Ostream_Manip(const char *) oct( const char s[] ) { return (_Ostream_Manip(const char *))@{ .val : s, .wd : 1, .pc : 0, .base :'o', { .all : 0 } }; }290 _Ostream_Manip(const char *) hex( const char s[] ) { return (_Ostream_Manip(const char *))@{ .val : s, .wd : 1, .pc : 0, .base :'x', { .all : 0 } }; }291 _Ostream_Manip(const char *) wd( unsigned int w d, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, wd, 0, .base :'s', { .all : 0 } }; }292 _Ostream_Manip(const char *) wd( unsigned int w d, unsigned int pc, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, .wd : wd, .pc : pc, .base :'s', { .flags.pc : true } }; }293 _Ostream_Manip(const char *) & wd( unsigned int w d, _Ostream_Manip(const char *) & fmt ) { fmt.wd = wd; return fmt; }294 _Ostream_Manip(const char *) & wd( unsigned int w d, unsigned int pc, _Ostream_Manip(const char *) & fmt ) { fmt.wd = wd; fmt.pc = pc; fmt.flags.pc = true; return fmt; }291 _Ostream_Manip(const char *) bin( const char s[] ) { return (_Ostream_Manip(const char *))@{ s, 1, 0, 'b', { .all : 0 } }; } 292 _Ostream_Manip(const char *) oct( const char s[] ) { return (_Ostream_Manip(const char *))@{ s, 1, 0, 'o', { .all : 0 } }; } 293 _Ostream_Manip(const char *) hex( const char s[] ) { return (_Ostream_Manip(const char *))@{ s, 1, 0, 'x', { .all : 0 } }; } 294 _Ostream_Manip(const char *) wd( unsigned int w, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, w, 0, 's', { .all : 0 } }; } 295 _Ostream_Manip(const char *) wd( unsigned int w, unsigned int pc, const char s[] ) { return (_Ostream_Manip(const char *))@{ s, w, pc, 's', { .flags.pc : true } }; } 296 _Ostream_Manip(const char *) & wd( unsigned int w, _Ostream_Manip(const char *) & fmt ) { fmt.wd = w; return fmt; } 297 _Ostream_Manip(const char *) & wd( unsigned int w, unsigned int pc, _Ostream_Manip(const char *) & fmt ) { fmt.wd = w; fmt.pc = pc; fmt.flags.pc = true; return fmt; } 295 298 _Ostream_Manip(const char *) & left( _Ostream_Manip(const char *) & fmt ) { fmt.flags.left = true; return fmt; } 296 299 _Ostream_Manip(const char *) & nobase( _Ostream_Manip(const char *) & fmt ) { fmt.flags.nobsdp = true; return fmt; } … … 366 369 istype & nlOn( istype & ); 367 370 istype & nlOff( istype & ); 368 istype & quoted( istype &, char & c );369 371 } // distribution 370 372 … … 383 385 384 386 static inline { 385 _Istream_Cskip skip( const char scanset[] ) { return (_Istream_Cskip)@{ .scanset : scanset, .wd :0 }; }386 _Istream_Cskip skip( unsigned int wd ) { return (_Istream_Cskip)@{ .scanset : 0p, .wd :wd }; }387 _Istream_Cskip skip( const char scanset[] ) { return (_Istream_Cskip)@{ scanset, 0 }; } 388 _Istream_Cskip skip( unsigned int wd ) { return (_Istream_Cskip)@{ 0p, wd }; } 387 389 } // distribution 388 390 … … 415 417 static inline { 416 418 // width must include room for null terminator 417 _Istream_Cstr wdi( unsigned int wd, char s[] ) { return (_Istream_Cstr)@{ .s : s, { {.scanset : 0p}, .wd :wd, {.all : 0} } }; }419 _Istream_Cstr wdi( unsigned int wd, char s[] ) { return (_Istream_Cstr)@{ s, { {0p}, wd, {.all : 0} } }; } 418 420 _Istream_Cstr wdi( unsigned int wd, unsigned int rwd, char s[] ) { 419 421 if ( wd <= rwd ) throw (cstring_length){ &cstring_length_vt }; 420 return (_Istream_Cstr)@{ .s : s, { {.scanset : 0p}, .wd :rwd, {.flags.rwd : true} } };422 return (_Istream_Cstr)@{ s, { {0p}, rwd, {.flags.rwd : true} } }; 421 423 } 422 424 _Istream_Cquoted & quoted( _Istream_Cstr & fmt, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) { … … 429 431 _Istream_Cstr & incl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = false; return fmt; } 430 432 _Istream_Cstr & excl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = true; return fmt; } 431 _Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ .s : s, { {.scanset : 0p}, .wd :-1, {.flags.ignore : true} } }; }433 _Istream_Cstr ignore( char s[] ) { return (_Istream_Cstr)@{ s, { {0p}, -1, {.flags.ignore : true} } }; } 432 434 _Istream_Cstr & ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; return fmt; } 433 435 } // distribution … … 440 442 441 443 struct _Istream_Char { 442 char & c;443 444 bool ignore; // do not change input argument 444 char fmt[7]; // \L%c\R%n\0445 445 }; // _Istream_Char 446 446 447 447 static inline { 448 _Istream_Char quoted( char & c, const char Ldelimiter = '\'', const char Rdelimiter = '\0' ) { 449 return (_Istream_Char)@{ .c : c, .ignore : false, 450 fmt : { Ldelimiter, '%', 'c', (Rdelimiter == '\0' ? Ldelimiter : Rdelimiter), '%', 'n', '\0' } }; 451 } 452 _Istream_Char ignore( char ) { 453 return (_Istream_Char)@{ .c : *0p, .ignore : true }; 454 } 448 _Istream_Char ignore( const char ) { return (_Istream_Char)@{ true }; } 455 449 _Istream_Char & ignore( _Istream_Char & fmt ) { fmt.ignore = true; return fmt; } 456 450 } // distribution 457 458 451 forall( istype & | basic_istream( istype ) ) { 459 452 istype & ?|?( istype & is, _Istream_Char f ); … … 469 462 #define INPUT_FMT_DECL( T ) \ 470 463 static inline { \ 471 _Istream_Manip(T) ignore( const T & val ) { return (_Istream_Manip(T))@{ .val : (T &)val, .wd : -1, .ignore :true }; } \464 _Istream_Manip(T) ignore( const T & val ) { return (_Istream_Manip(T))@{ (T &)val, -1, true }; } \ 472 465 _Istream_Manip(T) & ignore( _Istream_Manip(T) & fmt ) { fmt.ignore = true; return fmt; } \ 473 _Istream_Manip(T) wdi( unsigned int wd, T & val ) { return (_Istream_Manip(T))@{ .val : val, .wd : wd, .ignore :false }; } \466 _Istream_Manip(T) wdi( unsigned int wd, T & val ) { return (_Istream_Manip(T))@{ val, wd, false }; } \ 474 467 _Istream_Manip(T) & wdi( unsigned int wd, _Istream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \ 475 468 } /* distribution */ \
Note: See TracChangeset
for help on using the changeset viewer.