Changes in / [3db78b89:64c4b4d]


Ignore:
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • doc/bibliography/pl.bib

    r3db78b89 r64c4b4d  
    219219    title       = {Actor Benchmarks},
    220220    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}},
    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        = {\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}},
    419419}
    420420
     
    430430    number      = 5,
    431431    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}},
    433433}
    434434
     
    761761    pages       = {145-160},
    762762    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}},
    764764}
    765765
     
    839839    title       = {Async Await},
    840840    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}},
    842842    year        = 2022,
    843843}
     
    928928    institution = {Carnegie Mellon University},
    929929    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}},
    931931    year        = 2009,
    932932}
     
    10341034    title       = {Boost Coroutine Library},
    10351035    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}},
    10381037}
    10391038
     
    10441043    title       = {Boost Thread Library},
    10451044    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}},
    10481046}
    10491047
     
    10561054    month       = oct,
    10571055    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}},
    10591057}
    10601058
     
    11481146    address     = {Geneva, Switzerland},
    11491147    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}},
    11511149}
    11521150
     
    11601158    address     = {Geneva, Switzerland},
    11611159    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}},
    11631161}
    11641162
     
    11711169    address     = {Geneva, Switzerland},
    11721170    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}},
    11741172}
    11751173
     
    11981196    month       = aug,
    11991197    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}},
    12011199}
    12021200
     
    12121210    year        = 2018,
    12131211    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}},
    12151213}
    12161214
     
    12191217    key         = {Cforall Benchmarks},
    12201218    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}},
    12221220}
    12231221
     
    12261224    key         = {Cforall},
    12271225    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}},
    12291227}
    12301228
     
    12451243    title       = {\textsf{C}$\mathbf{\forall}$ Stack Evaluation Programs},
    12461244    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}},
    12481246}
    12491247
     
    12561254    year        = 2004,
    12571255    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}},
    12591257}
    12601258
     
    12661264    year        = 2019,
    12671265    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}},
    12691267}
    12701268
     
    14231421    month       = oct,
    14241422    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}},
    14261424}
    14271425
     
    14611459    contributer = {a3moss@uwaterloo.ca},
    14621460    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/}}
    14641462}
    14651463
     
    15271525    address     = {Geneva, Switzerland},
    15281526    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}},
    15301528}
    15311529
     
    16681666    publisher   = {Prentice-Hall},
    16691667    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}},
    16711669}
    16721670
     
    17331731    month       = sep,
    17341732    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}},
    17361734}
    17371735
     
    18081806    author      = {Peter A. Buhr and David Dice and Wim H. Hesselink},
    18091807    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}},
    18111809}
    18121810
     
    19581956    year        = 2015,
    19591957    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}},
    19611959}
    19621960
     
    20982096    month       = oct,
    20992097    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}},
    21022099}
    21032100
     
    21102107    year        = 1992,
    21112108    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}}
    21132110}
    21142111
     
    21802177    author      = {Glen Ditchfield},
    21812178    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}},
    21832180    month       = {Nov},
    21842181    year        = {2002},
     
    22172214    year        = 2019,
    22182215    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}},
    22212217}
    22222218
     
    22292225    month       = jun,
    22302226    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}},
    22322228}
    22332229
     
    22832279    title       = {CS343},
    22842280    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}},
    22862282}
    22872283
     
    23092305    address     = {Vienna Virginia, U.S.A.},
    23102306    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}},
    23122308}
    23132309
     
    27862782    author      = {Martin Odersky},
    27872783    title       = {Dotty},
    2788     howpublished= {\href{https://github.com/lampepfl/dotty}{https://\-github.com/\-lampepfl/\-dotty}},
     2784    howpublished= {\url{https://github.com/lampepfl/dotty}},
    27892785    note        = {Acessed: 2019-02-22}
    27902786}
     
    27972793    month       = nov,
    27982794    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}}
    28002796}
    28012797
     
    30333029    month       = aug,
    30343030    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}},
    30373032}
    30383033
     
    30453040    month       = may,
    30463041    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}},
    30493043}
    30503044
     
    31593153    month       = sep,
    31603154    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}},
    31623156}
    31633157
     
    34823476    title       = {Extensions to the {C} Language Family},
    34833477    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}},
    34853479}
    34863480
     
    35653559    month       = feb,
    35663560    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}}
    35683562}
    35693563
     
    35873581    title       = {Fibers},
    35883582    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}},
    35903584    year        = 2018,
    35913585}
     
    36093603    month       = jan,
    36103604    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}},
    36123606}
    36133607
     
    36443638    title       = {Facebook Open-source Library},
    36453639    organization= {Facebook},
    3646     address     = {\href{https://github.com/facebook/folly}{https://\-github.com/\-facebook/\-folly}},
     3640    address     = {\url{https://github.com/facebook/folly}},
    36473641    year        = 2018,
    36483642}
     
    36853679    address     = {Geneva, Switzerland},
    36863680    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}},
    36883682}
    36893683
     
    36973691    address     = {Geneva, Switzerland},
    36983692    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}},
    37003694}
    37013695
     
    39283922    address     = {GNU},
    39293923    year        = 2016,
    3930     note        = {\href{https://gmplib.org}{https://\-gmplib.org}},
     3924    note        = {\url{https://gmplib.org}},
    39313925}
    39323926
     
    39393933    organization= {Google},
    39403934    year        = 2009,
    3941     note        = {\href{http://golang.org/ref/spec}{http://\-golang.org/\-ref/\-spec}},
     3935    note        = {\url{http://golang.org/ref/spec}},
    39423936}
    39433937
     
    40434037    edition     = {{S}imon {M}arlow},
    40444038    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}},
    40464040}
    40474041
     
    41184112    number      = 12,
    41194113    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}},
    41214115}
    41224116
     
    41274121    year        = 2019,
    41284122    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}},
    41304124}
    41314125
     
    41864180    month       = sep,
    41874181    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}},
    41894183}
    41904184
     
    43204314    year        = 2003,
    43214315    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}},
    43234317}
    43244318
     
    47334727    title       = {JDK 1.1 for Solaris Developer's Guide},
    47344728    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}},
    47364730    year        = 2010,
    47374731}
     
    47444738    organization= {Oracle},
    47454739    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}},
    47474741}
    47484742
     
    48734867    title       = {Labels as Values},
    48744868    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}},
    48774870}
    48784871
     
    49314924    title       = {libdill Thread Library},
    49324925    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}},
    49354927}
    49364928
     
    49394931    author      = {Martin Karsten},
    49404932    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}},
    49424934    note        = {[Online; accessed 2020-04-15]},
    49434935}
     
    49624954    title       = {{G}o-style concurrency in {C}, Version 1.18},
    49634955    organization= {libmill},
    4964     address     = {\href{http://libmill.org/documentation.html}{http://\-libmill.org/\-documentation.html}},
     4956    address     = {\url{http://libmill.org/documentation.html}},
    49654957    month       = jan,
    49664958    year        = 2017,
     
    50385030    month       = jan,
    50395031    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/}},
    50425033    optnote     = {Accessed: 2019-01},
    50435034}
     
    50635054    title       = {Lua 5.4 Reference Manual},
    50645055    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}},
    50665057    year        = 2020,
    50675058}
     
    50845075    title       = {Making arbitrarily-large binaries from fixed-size {C}{\kern-.1em\hbox{\large\texttt{+\kern-.25em+}}} code},
    50855076    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}},
    50885078    optnote     = {Accessed: 2016-09},
    50895079}
     
    51185108    title       = {Marcel Thread Library},
    51195109    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}},
    51225111}
    51235112
     
    52645253    month       = sep,
    52655254    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}},
    52675256}
    52685257
     
    54635452    month       = jun,
    54645453    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}},
    54665455}
    54675456
     
    56135602    year        = 1980,
    56145603    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}},
    56165605    optnote     = {\textsf{http://\-groups.csail.mit.edu/\-tds/\-papers/\-Lynch/\-allertonconf.pdf}},
    56175606}
     
    56395628    institution = {Red Hat},
    56405629    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}},
    56425631}
    56435632
     
    56495638    organization= {{gcc} 9.3 Manual},
    56505639    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}},
    56525641}
    56535642
     
    57185707    year        = 1990,
    57195708    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}},
    57215710}
    57225711
     
    57815770    key         = {nginx},
    57825771    author      = {{NGINX}},
    5783     howpublished= {\href{https://www.nginx.com}{https://\-www.nginx.com}},
     5772    howpublished= {\url{https://www.nginx.com}},
    57845773}
    57855774
     
    59105899    publisher   = {Apple Inc.},
    59115900    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}},
    59135902}
    59145903
     
    59195908    title       = {{X}code 7 Release Notes},
    59205909    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}},
    59225911}
    59235912
     
    60526041    month       = nov,
    60536042    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}},
    60556044}
    60566045
     
    60606049    title       = {OpenTelemetry},
    60616050    author      = {{Asynkron AB}},
    6062     howpublished= {\href{https://proto.actor/docs/tracing}{https://\-proto.actor/\-docs/\-tracing}},
     6051    howpublished= {\url{https://proto.actor/docs/tracing}},
    60636052    year        = 2022,
    60646053}
     
    64616450    key         = {perf},
    64626451    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}},
    64646453}
    64656454
     
    64706459    month       = may,
    64716460    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}},
    64736462}
    64746463
     
    68696858    address     = {Geneva, Switzerland},
    68706859    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}},
    68726861}
    68736862
     
    68816870    address     = {Geneva, Switzerland},
    68826871    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}},
    68846873}
    68856874
     
    68936882    address     = {Geneva, Switzerland},
    68946883    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}},
    68966885}
    68976886
     
    71737162    author      = {IEEE and {The Open Group}},
    71747163    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}},
    71777165}
    71787166
     
    71837171    title       = {Python Language Reference, Release 3.7.2},
    71847172    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}},
    71867174    year        = 2018,
    71877175}
     
    72387226    title       = {Quasar Documentation, Release 0.8.0},
    72397227    organization= {Parallel Universe},
    7240     address     = {\href{http://docs.paralleluniverse.co/quasar}{http://\-docs.paralleluniverse.co/\-quasar}},
     7228    address     = {\url{http://docs.paralleluniverse.co/quasar}},
    72417229    year        = 2018,
    72427230}
     
    73787366    month       = apr,
    73797367    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}},
    73817369}
    73827370
     
    74137401    year        = 2017,
    74147402    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}},
    74167404}
    74177405
     
    74917479    month       = apr,
    74927480    year        = 2022,
    7493     howpublished= {\href{https://github.com/mjansson/rpmalloc}{https://\-github.com/\-mjansson/\-rpmalloc}},
     7481    howpublished= {\url{https://github.com/mjansson/rpmalloc}},
    74947482}
    74957483
     
    75017489    optaddress  = {Rust Project Developers},
    75027490    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}},
    75047492}
    75057493
     
    75107498    title       = {Ruby Documentation, Release 2.6.0},
    75117499    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}},
    75137501    year        = 2018,
    75147502}
     
    75387526    address     = {\'{E}cole Polytechnique F\'{e}d\'{e}rale de Lausanne},
    75397527    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}},
    75417529}
    75427530
     
    76997687    month       = sep,
    77007688    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}},
    77027690}
    77037691
     
    77737761    month       = may,
    77747762    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}},
    77767764}
    77777765
     
    80768064    organization= {IEEE and The Open Group},
    80778065    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}},
    80798067}
    80808068
     
    81438131    pages       = {1-6},
    81448132    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}},
    81468134}
    81478135
     
    84538441    key         = {TIOBE Index},
    84548442    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}},
    84568444}
    84578445
     
    84618449    title       = {Thread (computing)},
    84628450    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)}},
    84648452}
    84658453
     
    84698457    title       = {{T}okio Asynchronous Runtime for {R}ust},
    84708458    author      = {Tokio},
    8471     howpublished= {\href{https://tokio.rs}{https://\-tokio.rs}},
     8459    howpublished= {\url{https://tokio.rs}},
    84728460}
    84738461
     
    86098597    key         = {Trace Compass},
    86108598    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}},
    86128600}
    86138601
     
    86688656    title       = {Typed Actors},
    86698657    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}},
    86718659    year        = 2022,
    86728660}
     
    89388926    year        = 2020,
    89398927    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}},
    89428929}
    89438930
     
    90419028    month       = jun,
    90429029    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}},
    90449031}
    90459032
  • libcfa/src/iostream.hfa

    r3db78b89 r64c4b4d  
    1010// Created On       : Wed May 27 17:56:53 2015
    1111// Last Modified By : Peter A. Buhr
    12 // Last Modified On : Wed Jan  3 10:53:18 2024
    13 // Update Count     : 610
     12// Last Modified On : Sun Jan 21 22:42:40 2024
     13// Update Count     : 655
    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 
    202198#define INTEGRAL_FMT_DECL( T, CODE ) \
    203199static 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; } \
    211207        _Ostream_Manip(T) & left( _Ostream_Manip(T) & fmt ) { fmt.flags.left = true; return fmt; } \
    212208        _Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; } \
    213209        _Ostream_Manip(T) & nobase( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \
    214210        _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 } }; } \
    216212        _Ostream_Manip(T) & sign( _Ostream_Manip(T) & fmt ) { fmt.flags.sign = true; return fmt; } \
    217213} /* distribution */ \
     
    241237#define FLOATING_POINT_FMT_DECL( T ) \
    242238static 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; } \
    252249        _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 } }; } \
    254251        _Ostream_Manip(T) & upcase( _Ostream_Manip(T) & fmt ) { fmt.base -= 32; /* upper case */ return fmt; } \
    255252        _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 } }; } \
    257254        _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 } }; } \
    259256        _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 } }; } \
    261258        _Ostream_Manip(T) & unit( _Ostream_Manip(T) & fmt ) { fmt.flags.nobsdp = true; return fmt; } \
    262259} /* distribution */ \
     
    272269
    273270static 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; }
    279276        _Ostream_Manip(char) & left( _Ostream_Manip(char) & fmt ) { fmt.flags.left = true; return fmt; }
    280277        _Ostream_Manip(char) & upcase( _Ostream_Manip(char) & fmt ) { if ( fmt.base == 'x' || fmt.base == 'b' ) fmt.base -= 32; /* upper case */ return fmt; }
     
    289286
    290287static 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; }
    298295        _Ostream_Manip(const char *) & left( _Ostream_Manip(const char *) & fmt ) { fmt.flags.left = true; return fmt; }
    299296        _Ostream_Manip(const char *) & nobase( _Ostream_Manip(const char *) & fmt ) { fmt.flags.nobsdp = true; return fmt; }
     
    369366        istype & nlOn( istype & );
    370367        istype & nlOff( istype & );
     368        istype & quoted( istype &, char & c );
    371369} // distribution
    372370
     
    385383
    386384static 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 }; }
    389387} // distribution
    390388
     
    417415static inline {
    418416        // 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} } }; }
    420418        _Istream_Cstr wdi( unsigned int wd, unsigned int rwd, char s[] ) {
    421419                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} } };
    423421        }
    424422        _Istream_Cquoted & quoted( _Istream_Cstr & fmt, const char Ldelimiter = '"', const char Rdelimiter = '\0' ) {
     
    431429        _Istream_Cstr & incl( const char scanset[], _Istream_Cstr & fmt ) { fmt.scanset = scanset; fmt.flags.inex = false; return fmt; }
    432430        _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} } }; }
    434432        _Istream_Cstr & ignore( _Istream_Cstr & fmt ) { fmt.flags.ignore = true; return fmt; }
    435433} // distribution
     
    442440
    443441struct _Istream_Char {
     442        char & c;
    444443        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 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        }
    449455        _Istream_Char & ignore( _Istream_Char & fmt ) { fmt.ignore = true; return fmt; }
    450456} // distribution
     457
    451458forall( istype & | basic_istream( istype ) ) {
    452459        istype & ?|?( istype & is, _Istream_Char f );
     
    462469#define INPUT_FMT_DECL( T ) \
    463470static 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 }; } \
    465472        _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 }; } \
    467474        _Istream_Manip(T) & wdi( unsigned int wd, _Istream_Manip(T) & fmt ) { fmt.wd = wd; return fmt; } \
    468475} /* distribution */ \
Note: See TracChangeset for help on using the changeset viewer.