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