Changes in / [64c4b4d:3db78b89]


Ignore:
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • doc/bibliography/pl.bib

    r64c4b4d r3db78b89  
    219219    title       = {Actor Benchmarks},
    220220    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}},
    222222    year        = 2022,
    223223}
     
    296296    contributer = {pabuhr@plg},
    297297    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},
    299299    edition     = {3rd with Technical Corrigendum 1 for Ada 2012},
    300300    organization= {AXE Consultants},
     
    416416    address     = {Waterloo, Ontario, Canada, N2L 3G1},
    417417    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}},
    419419}
    420420
     
    430430    number      = 5,
    431431    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}},
    433433}
    434434
     
    761761    pages       = {145-160},
    762762    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}},
    764764}
    765765
     
    839839    title       = {Async Await},
    840840    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}},
    842842    year        = 2022,
    843843}
     
    928928    institution = {Carnegie Mellon University},
    929929    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},
    931931    year        = 2009,
    932932}
     
    10341034    title       = {Boost Coroutine Library},
    10351035    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}},
    10371038}
    10381039
     
    10431044    title       = {Boost Thread Library},
    10441045    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}},
    10461048}
    10471049
     
    10541056    month       = oct,
    10551057    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}},
    10571059}
    10581060
     
    11461148    address     = {Geneva, Switzerland},
    11471149    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}},
    11491151}
    11501152
     
    11581160    address     = {Geneva, Switzerland},
    11591161    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}},
    11611163}
    11621164
     
    11691171    address     = {Geneva, Switzerland},
    11701172    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}},
    11721174}
    11731175
     
    11961198    month       = aug,
    11971199    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}},
    11991201}
    12001202
     
    12101212    year        = 2018,
    12111213    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}},
    12131215}
    12141216
     
    12171219    key         = {Cforall Benchmarks},
    12181220    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}},
    12201222}
    12211223
     
    12241226    key         = {Cforall},
    12251227    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}},
    12271229}
    12281230
     
    12431245    title       = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs},
    12441246    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}},
    12461248}
    12471249
     
    12541256    year        = 2004,
    12551257    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}},
    12571259}
    12581260
     
    12641266    year        = 2019,
    12651267    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}},
    12671269}
    12681270
     
    14211423    month       = oct,
    14221424    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}},
    14241426}
    14251427
     
    14591461    contributer = {a3moss@uwaterloo.ca},
    14601462    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/}}
    14621464}
    14631465
     
    15251527    address     = {Geneva, Switzerland},
    15261528    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}},
    15281530}
    15291531
     
    16661668    publisher   = {Prentice-Hall},
    16671669    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}},
    16691671}
    16701672
     
    17311733    month       = sep,
    17321734    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}},
    17341736}
    17351737
     
    18061808    author      = {Peter A. Buhr and David Dice and Wim H. Hesselink},
    18071809    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}},
    18091811}
    18101812
     
    19561958    year        = 2015,
    19571959    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}},
    19591961}
    19601962
     
    20962098    month       = oct,
    20972099    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}},
    20992102}
    21002103
     
    21072110    year        = 1992,
    21082111    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}}
    21102113}
    21112114
     
    21772180    author      = {Glen Ditchfield},
    21782181    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}},
    21802183    month       = {Nov},
    21812184    year        = {2002},
     
    22142217    year        = 2019,
    22152218    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}},
    22172221}
    22182222
     
    22252229    month       = jun,
    22262230    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}},
    22282232}
    22292233
     
    22792283    title       = {CS343},
    22802284    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}},
    22822286}
    22832287
     
    23052309    address     = {Vienna Virginia, U.S.A.},
    23062310    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}},
    23082312}
    23092313
     
    27822786    author      = {Martin Odersky},
    27832787    title       = {Dotty},
    2784     howpublished= {\url{https://github.com/lampepfl/dotty}},
     2788    howpublished= {\href{https://github.com/lampepfl/dotty}{https://\-github.com/\-lampepfl/\-dotty}},
    27852789    note        = {Acessed: 2019-02-22}
    27862790}
     
    27932797    month       = nov,
    27942798    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}}
    27962800}
    27972801
     
    30293033    month       = aug,
    30303034    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}},
    30323037}
    30333038
     
    30403045    month       = may,
    30413046    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}},
    30433049}
    30443050
     
    31533159    month       = sep,
    31543160    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}},
    31563162}
    31573163
     
    34763482    title       = {Extensions to the {C} Language Family},
    34773483    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}},
    34793485}
    34803486
     
    35593565    month       = feb,
    35603566    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}}
    35623568}
    35633569
     
    35813587    title       = {Fibers},
    35823588    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}},
    35843590    year        = 2018,
    35853591}
     
    36033609    month       = jan,
    36043610    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}},
    36063612}
    36073613
     
    36383644    title       = {Facebook Open-source Library},
    36393645    organization= {Facebook},
    3640     address     = {\url{https://github.com/facebook/folly}},
     3646    address     = {\href{https://github.com/facebook/folly}{https://\-github.com/\-facebook/\-folly}},
    36413647    year        = 2018,
    36423648}
     
    36793685    address     = {Geneva, Switzerland},
    36803686    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}},
    36823688}
    36833689
     
    36913697    address     = {Geneva, Switzerland},
    36923698    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}},
    36943700}
    36953701
     
    39223928    address     = {GNU},
    39233929    year        = 2016,
    3924     note        = {\url{https://gmplib.org}},
     3930    note        = {\href{https://gmplib.org}{https://\-gmplib.org}},
    39253931}
    39263932
     
    39333939    organization= {Google},
    39343940    year        = 2009,
    3935     note        = {\url{http://golang.org/ref/spec}},
     3941    note        = {\href{http://golang.org/ref/spec}{http://\-golang.org/\-ref/\-spec}},
    39363942}
    39373943
     
    40374043    edition     = {{S}imon {M}arlow},
    40384044    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}},
    40404046}
    40414047
     
    41124118    number      = 12,
    41134119    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},
    41154121}
    41164122
     
    41214127    year        = 2019,
    41224128    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}},
    41244130}
    41254131
     
    41804186    month       = sep,
    41814187    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}},
    41834189}
    41844190
     
    43144320    year        = 2003,
    43154321    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}},
    43174323}
    43184324
     
    47274733    title       = {JDK 1.1 for Solaris Developer's Guide},
    47284734    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}},
    47304736    year        = 2010,
    47314737}
     
    47384744    organization= {Oracle},
    47394745    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}},
    47414747}
    47424748
     
    48674873    title       = {Labels as Values},
    48684874    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}},
    48704877}
    48714878
     
    49244931    title       = {libdill Thread Library},
    49254932    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}},
    49274935}
    49284936
     
    49314939    author      = {Martin Karsten},
    49324940    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}},
    49344942    note        = {[Online; accessed 2020-04-15]},
    49354943}
     
    49544962    title       = {{G}o-style concurrency in {C}, Version 1.18},
    49554963    organization= {libmill},
    4956     address     = {\url{http://libmill.org/documentation.html}},
     4964    address     = {\href{http://libmill.org/documentation.html}{http://\-libmill.org/\-documentation.html}},
    49574965    month       = jan,
    49584966    year        = 2017,
     
    50305038    month       = jan,
    50315039    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/}},
    50335042    optnote     = {Accessed: 2019-01},
    50345043}
     
    50545063    title       = {Lua 5.4 Reference Manual},
    50555064    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}},
    50575066    year        = 2020,
    50585067}
     
    50755084    title       = {Making arbitrarily-large binaries from fixed-size {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} code},
    50765085    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}},
    50785088    optnote     = {Accessed: 2016-09},
    50795089}
     
    51085118    title       = {Marcel Thread Library},
    51095119    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}},
    51115122}
    51125123
     
    52535264    month       = sep,
    52545265    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}},
    52565267}
    52575268
     
    54525463    month       = jun,
    54535464    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}},
    54555466}
    54565467
     
    56025613    year        = 1980,
    56035614    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]},
    56055616    optnote     = {\textsf{http://\-groups.csail.mit.edu/\-tds/\-papers/\-Lynch/\-allertonconf.pdf}},
    56065617}
     
    56285639    institution = {Red Hat},
    56295640    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}},
    56315642}
    56325643
     
    56385649    organization= {{gcc} 9.3 Manual},
    56395650    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}},
    56415652}
    56425653
     
    57075718    year        = 1990,
    57085719    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}},
    57105721}
    57115722
     
    57705781    key         = {nginx},
    57715782    author      = {{NGINX}},
    5772     howpublished= {\url{https://www.nginx.com}},
     5783    howpublished= {\href{https://www.nginx.com}{https://\-www.nginx.com}},
    57735784}
    57745785
     
    58995910    publisher   = {Apple Inc.},
    59005911    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}},
    59025913}
    59035914
     
    59085919    title       = {{X}code 7 Release Notes},
    59095920    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}},
    59115922}
    59125923
     
    60416052    month       = nov,
    60426053    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}},
    60446055}
    60456056
     
    60496060    title       = {OpenTelemetry},
    60506061    author      = {{Asynkron AB}},
    6051     howpublished= {\url{https://proto.actor/docs/tracing}},
     6062    howpublished= {\href{https://proto.actor/docs/tracing}{https://\-proto.actor/\-docs/\-tracing}},
    60526063    year        = 2022,
    60536064}
     
    64506461    key         = {perf},
    64516462    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}},
    64536464}
    64546465
     
    64596470    month       = may,
    64606471    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}},
    64626473}
    64636474
     
    68586869    address     = {Geneva, Switzerland},
    68596870    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}},
    68616872}
    68626873
     
    68706881    address     = {Geneva, Switzerland},
    68716882    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}},
    68736884}
    68746885
     
    68826893    address     = {Geneva, Switzerland},
    68836894    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}},
    68856896}
    68866897
     
    71627173    author      = {IEEE and {The Open Group}},
    71637174    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}},
    71657177}
    71667178
     
    71717183    title       = {Python Language Reference, Release 3.7.2},
    71727184    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}},
    71747186    year        = 2018,
    71757187}
     
    72267238    title       = {Quasar Documentation, Release 0.8.0},
    72277239    organization= {Parallel Universe},
    7228     address     = {\url{http://docs.paralleluniverse.co/quasar}},
     7240    address     = {\href{http://docs.paralleluniverse.co/quasar}{http://\-docs.paralleluniverse.co/\-quasar}},
    72297241    year        = 2018,
    72307242}
     
    73667378    month       = apr,
    73677379    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}},
    73697381}
    73707382
     
    74017413    year        = 2017,
    74027414    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}},
    74047416}
    74057417
     
    74797491    month       = apr,
    74807492    year        = 2022,
    7481     howpublished= {\url{https://github.com/mjansson/rpmalloc}},
     7493    howpublished= {\href{https://github.com/mjansson/rpmalloc}{https://\-github.com/\-mjansson/\-rpmalloc}},
    74827494}
    74837495
     
    74897501    optaddress  = {Rust Project Developers},
    74907502    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}},
    74927504}
    74937505
     
    74987510    title       = {Ruby Documentation, Release 2.6.0},
    74997511    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}},
    75017513    year        = 2018,
    75027514}
     
    75267538    address     = {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne},
    75277539    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}},
    75297541}
    75307542
     
    76877699    month       = sep,
    76887700    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}.},
    76907702}
    76917703
     
    77617773    month       = may,
    77627774    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}},
    77647776}
    77657777
     
    80648076    organization= {IEEE and The Open Group},
    80658077    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}},
    80678079}
    80688080
     
    81318143    pages       = {1-6},
    81328144    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}},
    81348146}
    81358147
     
    84418453    key         = {TIOBE Index},
    84428454    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}},
    84448456}
    84458457
     
    84498461    title       = {Thread (computing)},
    84508462    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)}},
    84528464}
    84538465
     
    84578469    title       = {{T}okio Asynchronous Runtime for {R}ust},
    84588470    author      = {Tokio},
    8459     howpublished= {\url{https://tokio.rs}},
     8471    howpublished= {\href{https://tokio.rs}{https://\-tokio.rs}},
    84608472}
    84618473
     
    85978609    key         = {Trace Compass},
    85988610    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}},
    86008612}
    86018613
     
    86568668    title       = {Typed Actors},
    86578669    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}},
    86598671    year        = 2022,
    86608672}
     
    89268938    year        = 2020,
    89278939    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}},
    89298942}
    89308943
     
    90289041    month       = jun,
    90299042    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}},
    90319044}
    90329045
  • libcfa/src/iostream.hfa

    r64c4b4d r3db78b89  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Sun Jan 21 22:42:40 2024
    13 // Update Count     : 655
     12// Last Modified On : Wed Jan  3 10:53:18 2024
     13// Update Count     : 610
    1414//
    1515
     
    196196// *********************************** integral ***********************************
    197197
     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
    198202#define INTEGRAL_FMT_DECL( T, CODE ) \
    199203static 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 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; } \
     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; } \
    207211        _Ostream_Manip(T) & left( _Ostream_Manip(T) & fmt ) { fmt.flags.left = true; return fmt; } \
    208212        _Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; } \
    209213        _Ostream_Manip(T) & nobase( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \
    210214        _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 } }; } \
    212216        _Ostream_Manip(T) & sign( _Ostream_Manip(T) & fmt ) { fmt.flags.sign = true; return fmt; } \
    213217} /* distribution */ \
     
    237241#define FLOATING_POINT_FMT_DECL( T ) \
    238242static 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; } \
    249252        _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 } }; } \
    251254        _Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { fmt.base -= 32; /* upper case */ return fmt; } \
    252255        _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 } }; } \
    254257        _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 } }; } \
    256259        _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 } }; } \
    258261        _Ostream_Manip(T) & unit( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \
    259262} /* distribution */ \
     
    269272
    270273static 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 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; }
     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; }
    276279        _Ostream_Manip(char) & left( _Ostream_Manip(char) & fmt ) { fmt.flags.left = true; return fmt; }
    277280        _Ostream_Manip(char) & upcase( _Ostream_Manip(char) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; }
     
    286289
    287290static 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 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; }
     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; }
    295298        _Ostream_Manip(const char *) & left( _Ostream_Manip(const char *) & fmt ) { fmt.flags.left = true; return fmt; }
    296299        _Ostream_Manip(const char *) & nobase( _Ostream_Manip(const char *) & fmt ) { fmt.flags.nobsdp = true; return fmt; }
     
    366369        istype & nlOn( istype & );
    367370        istype & nlOff( istype & );
    368         istype & quoted( istype &, char & c );
    369371} // distribution
    370372
     
    383385
    384386static 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 }; }
    387389} // distribution
    388390
     
    415417static inline {
    416418        // 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} } }; }
    418420        _Istream_Cstr wdi( unsigned int wd, unsigned int rwd, char s[] ) {
    419421                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} } };
    421423        }
    422424        _Istream_Cquoted & quoted( _Istream_Cstr & fmt, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) {
     
    429431        _Istream_Cstr & incl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = false; return fmt; }
    430432        _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} } }; }
    432434        _Istream_Cstr & ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; return fmt; }
    433435} // distribution
     
    440442
    441443struct _Istream_Char {
    442         char & c;
    443444        bool ignore;                                                                            // do not change input argument
    444         char fmt[7];                                                                            // \L%c\R%n\0
    445445}; // _Istream_Char
    446446
    447447static 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 }; }
    455449        _Istream_Char & ignore( _Istream_Char & fmt ) { fmt.ignore = true; return fmt; }
    456450} // distribution
    457 
    458451forall( istype & | basic_istream( istype ) ) {
    459452        istype & ?|?( istype & is, _Istream_Char f );
     
    469462#define INPUT_FMT_DECL( T ) \
    470463static 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 }; } \
    472465        _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 }; } \
    474467        _Istream_Manip(T) & wdi( unsigned int wd, _Istream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \
    475468} /* distribution */ \
Note: See TracChangeset for help on using the changeset viewer.