%%% -*-BibTeX-*- %%% ==================================================================== %%% BibTeX-file{ %%% author = "Nelson H. F. Beebe", %%% version = "1.07", %%% date = "12 August 2013", %%% time = "10:36:52 MDT", %%% filename = "cccuj2000.bib", %%% address = "University of Utah %%% Department of Mathematics, 110 LCB %%% 155 S 1400 E RM 233 %%% Salt Lake City, UT 84112-0090 %%% USA", %%% telephone = "+1 801 581 5254", %%% FAX = "+1 801 581 4148", %%% URL = "http://www.math.utah.edu/~beebe", %%% checksum = "44377 7514 26904 268569", %%% email = "beebe at math.utah.edu, beebe at acm.org, %%% beebe at computer.org (Internet)", %%% codetable = "ISO/ASCII", %%% keywords = "BibTeX; bibliography; C/C++ Users Journal", %%% license = "public domain", %%% supported = "yes", %%% docstring = "This is a COMPLETE bibliography of the %%% C/C++ Users Journal (2000--2009), ISSN %%% 1075-2838, CODEN CCUJEX. %%% %%% Earlier years are covered in the companion %%% bibliography, cccuj.bib, which also includes %%% coverage of the journal's predecessor, the %%% C Users Journal. %%% %%% The C Users Journal began with volume 6, %%% number 1, January 1988, from the merger of %%% the C Users' Group newsletter (1983--1987, %%% 8 issues yearly, no ISSN) with the C %%% journal (1985--1987, 4 issues yearly, ISSN %%% 8756-9736). %%% %%% The journal maintains a World-Wide Web site %%% at http://www.cuj.com/, and sells a %%% DOS/Windows CD ROM with the complete text, %%% figures, and code from 1990--date. %%% %%% These journals include numerous book %%% review articles, so as a convenience to the %%% reader, bibliographic entries are provided %%% for all of the reviewed books, with %%% cross-references between book and review %%% entries. Newer editions of the reviewed %%% books are also included. %%% %%% At version 1.07, the year coverage looked %%% like this: %%% %%% 2000 ( 151) 2001 ( 141) 2002 ( 94) %%% %%% Article: 386 %%% %%% Total entries: 386 %%% %%% This bibliography has been collected from %%% bibliographies in the author's personal %%% files, from the journal's Web site contents %%% file, http://www.cuj.com/cbklist.htm, and %%% from the U.S. Library of Congress, the %%% University of California MELVYL, and the %%% OCLC catalogs. %%% %%% The journal article citations are not in %%% the Compendex or OCLC databases, but the %%% UnCover database has some coverage for it. %%% Almost all entries below are derived from %%% the cbklist.htm file, which regrettably, %%% lacks complete page number ranges, so most %%% page numbers below are of the form 27--??. %%% %%% Numerous errors in the sources noted above %%% have been corrected. Spelling has been %%% verified with the UNIX spell and GNU ispell %%% programs using the exception dictionary %%% stored in the companion file with extension %%% .sok. %%% %%% BibTeX citation tags are uniformly chosen %%% as name:year:abbrev, where name is the %%% family name of the first author or editor, %%% year is a 4-digit number, and abbrev is a %%% 3-letter condensation of important title %%% words. Citation tags were automatically %%% generated by software developed for the %%% BibNet Project. %%% %%% In this bibliography, entries are sorted in %%% publication order, using bibsort -byvolume. %%% %%% The checksum field above contains a CRC-16 %%% checksum as the first value, followed by the %%% equivalent of the standard UNIX wc (word %%% count) utility output of lines, words, and %%% characters. This is produced by Robert %%% Solovay's checksum utility.", %%% } %%% ==================================================================== @Preamble{"\input path.sty" # "\hyphenation{ Call-eens Dasch-bach Thor-sten }"} %%% ==================================================================== %%% Acknowledgement abbreviations: @String{ack-nhfb = "Nelson H. F. Beebe, University of Utah, Department of Mathematics, 110 LCB, 155 S 1400 E RM 233, Salt Lake City, UT 84112-0090, USA, Tel: +1 801 581 5254, FAX: +1 801 581 4148, e-mail: \path|beebe@math.utah.edu|, \path|beebe@acm.org|, \path|beebe@computer.org| (Internet), URL: \path|http://www.math.utah.edu/~beebe/|"} %%% ==================================================================== %%% Journal abbreviations: @String{j-CCCUJ = "C/C++ Users Journal"} %%% ==================================================================== %%% Bibliography entries: @Article{Briand:2000:EFa, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "1", pages = "6--6", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Allison:2000:IJI, author = "Chuck Allison", title = "{\tt import java.*}: Interfaces and Inner Classes", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A Java interface is a weak substitute for multiple inheritance in C++, but it still manages to do a lot of what needs doing.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPa, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMa, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSCa, author = "Pete Becker", title = "The Journeyman's Shop: Common Design Mistakes, Part 1", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Pete provides several cautionary tales from the volatile world of Java libraries. Rapid development is not always compatible with good design.", acknowledgement = ack-nhfb, } @Article{Dandass:2000:IT, author = "Yogi Dandass", title = "Interval Trees", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "We know that a tree is often a good way to represent an ordered set of values. It can also be a good way to order a set of ranges as well.", acknowledgement = ack-nhfb, } @Article{Gontmakher:2000:EDL, author = "Sasha Gontmakher", title = "Easy Dynamic Loading in {C++}", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Many programs today configure themselves on the fly. Dynamic loading can really benefit from encapsulation, to hide tedious details and system dependencies.", acknowledgement = ack-nhfb, } @Article{Guisado:2000:DCB, author = "Ernesto Guisado", title = "Debugging Component-Based Memory Leaks", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The best place to catch memory leaks is as close to the source as possible.", acknowledgement = ack-nhfb, } @Article{Plauger:2000:JAV, author = "P. J. Plauger", title = "Just Another Version of {Algol}", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "As Ecclesiastes loved to remind us, there is nothing new under the sun.", acknowledgement = ack-nhfb, } @Article{Plauger:2000:SCCa, author = "P. J. Plauger", title = "{Standard C/C++}: {Java} Standard Time", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If standardization was good for C and for C++, then it should be good for Java too. Shouldn't it?", acknowledgement = ack-nhfb, } @Article{Saks:2000:CTPa, author = "Dan Saks", title = "{C++} Theory and Practice: Replacing Character Arrays with Strings, Part 1", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It is a truism that well-designed library objects are superior to the more primitive C data structures. But it still helps to know the costs of converting to them.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UET, author = "Bobby Schmidt", title = "Uncaught Exceptions: Tempus Fugit", journal = j-CCCUJ, volume = "18", number = "1", pages = "??--??", month = jan, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:24 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0001/0001toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby deals this month with various kinds of passages, including a very difficult personal one.", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFb, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "2", pages = "6--6", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Plauger:2000:SCCb, author = "P. J. Plauger", title = "{Standard C/C++}: {A} Singly Linked List", journal = j-CCCUJ, volume = "18", number = "2", pages = "8--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Every design involves tradeoffs. The trick is to tradeoff using much the same principles as for related designs.", acknowledgement = ack-nhfb, } @Article{Loudon:2000:II, author = "Kyle Loudon", title = "An Introduction to Interpolation", journal = j-CCCUJ, volume = "18", number = "2", pages = "20--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There's more to mathematical interpolation than just drawing lines between dots.", acknowledgement = ack-nhfb, } @Article{Gareau:2000:TML, author = "Jean L. Gareau", title = "Tracking Memory Leaks under {Windows CE}", journal = j-CCCUJ, volume = "18", number = "2", pages = "36--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Visual C++ omits the darndest things in its support for Windows/CE. Too bad memory tracking is one of those things.", acknowledgement = ack-nhfb, } @Article{Meyers:2000:HNM, author = "Scott Meyers", title = "How Non-Member Functions Improve Encapsulation", journal = j-CCCUJ, volume = "18", number = "2", pages = "44--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "When it comes to encapsulation, sometimes less is more.", acknowledgement = ack-nhfb, } @Article{Reichard:2000:SC, author = "Douglas Reichard", title = "Shim Classes", journal = j-CCCUJ, volume = "18", number = "2", pages = "53--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You don't always have to rewrite ordinary classes as templates to get the benefits of templatization.", acknowledgement = ack-nhfb, } @Article{Labbe:2000:SCP, author = "Roger Labbe", title = "Solving Combinatorial Problems with {STL} and Backtracking", journal = j-CCCUJ, volume = "18", number = "2", pages = "56--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The STL approach extends nicely to problems of all sorts, and helps make for more generic solutions.", acknowledgement = ack-nhfb, } @Article{Saks:2000:CTPb, author = "Dan Saks", title = "{C++} Theory and Practice: Replacing Character Arrays with Strings, Part 2", journal = j-CCCUJ, volume = "18", number = "2", pages = "65--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Higher-level constructs have their overheads, but they are generally worth the cost.", acknowledgement = ack-nhfb, } @Article{Briand:2000:BRE, author = "Marc Briand", title = "Book Review: {{\em Exceptional C++}}", journal = j-CCCUJ, volume = "18", number = "2", pages = "73--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSCb, author = "Pete Becker", title = "The Journeyman's Shop: Common Design Mistakes, Part 2", journal = j-CCCUJ, volume = "18", number = "2", pages = "77--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Pete offers more examples of how not to rush code to market, from the wonderful world of Java Standard Libraries.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UED, author = "Bobby Schmidt", title = "Uncaught Exceptions: Dies Irae", journal = j-CCCUJ, volume = "18", number = "2", pages = "85--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby rings out the old with some traditional bugs and a new C Standard, then rings in the new with fingers crossed.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPb, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "2", pages = "94--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMb, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "2", pages = "98--??", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2000:PMDa, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Pure vs. Applied", journal = j-CCCUJ, volume = "18", number = "2", pages = "104--104", month = feb, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0002/0002toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "In theory, there's no difference between theory and practice, but in practice there is.", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFc, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "3", pages = "6--6", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Plauger:2000:SCCc, author = "P. J. Plauger", title = "{Standard C/C++}:Testing Conformance", journal = j-CCCUJ, volume = "18", number = "3", pages = "10--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It's impossible to prove conclusively that an implementation conforms to a standard, but you can at least build some level of confidence.", acknowledgement = ack-nhfb, } @Article{Guinan:2000:CPD, author = "Jamie Guinan", title = "Cross-Platform Development Using {GCC}", journal = j-CCCUJ, volume = "18", number = "3", pages = "18--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You can build any number of native and cross compilers from GCC, if you know how.", acknowledgement = ack-nhfb, } @Article{Getov:2000:OUM, author = "Radoslav Getov", title = "Not-So-Obvious Utility Macros", journal = j-CCCUJ, volume = "18", number = "3", pages = "27--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "We all know the preprocessor is primitive and ugly. Nevertheless, a clever macro or two can still come in handy more often than we care to admit.", acknowledgement = ack-nhfb, } @Article{Bas:2000:FNS, author = "Antonio G{\'o}miz Bas", title = "Finding Neat Scales for Plotting", journal = j-CCCUJ, volume = "18", number = "3", pages = "42--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Labeling axes is easy for people. For a computer, it's rather less obvious.", acknowledgement = ack-nhfb, } @Article{Allison:2000:IJA, author = "Chuck Allison", title = "{\tt import java.*}: Arrays", journal = j-CCCUJ, volume = "18", number = "3", pages = "46--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Java arrays are very much like those in C/C++, except where they're not.", acknowledgement = ack-nhfb, } @Article{Telford:2000:TDP, author = "Alex Telford", title = "Taming the {$3$-D} Perspective Transform", journal = j-CCCUJ, volume = "18", number = "3", pages = "57--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Showing objects in perspective requires only simple math, but a little not-so-simple strategy makes for a friendlier display.", acknowledgement = ack-nhfb, } @Article{Faul:2000:EMB, author = "Ben Faul", title = "An Embedded Memory-Based {SQL} Class for {C++}", journal = j-CCCUJ, volume = "18", number = "3", pages = "64--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "SQL and C++ make a powerful combination, particularly if you don't have to do the combining yourself.", acknowledgement = ack-nhfb, } @Article{Smith:2000:SBW, author = "Mark L. Smith", title = "An {STL}-Based {$N$}-Way Set", journal = j-CCCUJ, volume = "18", number = "3", pages = "76--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Databases support access with multiple keys. Why not allow the same latitude with an STL-style container?", acknowledgement = ack-nhfb, } @Article{Lowy:2000:MPO, author = "Juval Lowy", title = "Making Primitive Objects Thread Safe", journal = j-CCCUJ, volume = "18", number = "3", pages = "85--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "All sorts of things need thread locks. A fairly simple template or two can do the job.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UEC, author = "Bobby Schmidt", title = "Uncaught Exceptions: {\tt comp.cuj.qa.moderated}", journal = j-CCCUJ, volume = "18", number = "3", pages = "89--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Never one to let his uncertainty show, Bobby nevertheless falls prey to Heisenberg.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPc, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "3", pages = "95--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMc, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "3", pages = "99--??", month = mar, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0003/0003toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFd, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "4", pages = "6--6", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Plauger:2000:SCCd, author = "P. J. Plauger", title = "{Standard C/C++}: Testing {C++} Library Conformance", journal = j-CCCUJ, volume = "18", number = "4", pages = "10--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Now that we have a standard for C++ libraries, we need to know how to determine which libraries conform to the standard.", acknowledgement = ack-nhfb, } @Article{Lacoude:2000:PEC, author = "Philippe Lacoude and Grum Ketema", title = "Programming {Excel COM} Objects in {C++}", journal = j-CCCUJ, volume = "18", number = "4", pages = "22--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Excel is a powerful tool that you can use from a C++ program, once you get the protocol right.", acknowledgement = ack-nhfb, } @Article{Kougiouris:2000:SYC, author = "Panos Kougiouris", title = "Stressing Your {COM} Objects", journal = j-CCCUJ, volume = "18", number = "4", pages = "30--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The best known way to detect synchronization errors in code is simply to pound on it to see if it breaks.", acknowledgement = ack-nhfb, } @Article{Powell:2000:VNF, author = "Gary Powell and Martin Weiser", title = "{Views}, {A} New Form of Container Adaptors", journal = j-CCCUJ, volume = "18", number = "4", pages = "40--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There's more than one way to slice a container. Views provide a particularly sharp knife.", acknowledgement = ack-nhfb, } @Article{Offer:2000:ELI, author = "Brad Offer", title = "Error Logging with {Iostreams}", journal = j-CCCUJ, volume = "18", number = "4", pages = "52--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You don't have to sacrifice the convenience of Iostreams while debugging, at least not if they're packaged properly.", acknowledgement = ack-nhfb, } @Article{Niklas:2000:CSD, author = "Michal Niklas", title = "A Class for Scanning Directories", journal = j-CCCUJ, volume = "18", number = "4", pages = "60--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Expanding wildcard filenames is something you want to do uniformly across many utilities and different operating systems.", acknowledgement = ack-nhfb, } @Article{Bavestrelli:2000:BHD, author = "Giovanni Bavestrelli", title = "Building {HTML} Documents with {C++}", journal = j-CCCUJ, volume = "18", number = "4", pages = "67--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The block structure of C++ can really help you get the block structure of HTML right.", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSCc, author = "Pete Becker", title = "The Journeyman's Shop: Casts and Conversions", journal = j-CCCUJ, volume = "18", number = "4", pages = "73--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Type casting is a blunt instrument in C. The four different casts in C++ are safer, but still require care when used.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UESa, author = "Bobby Schmidt", title = "Uncaught Exceptions: Standard Deviation", journal = j-CCCUJ, volume = "18", number = "4", pages = "81--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The Microsoft support desk continues under Bobby's stewardship, even as he aspires to discuss Standard C++.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPd, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "4", pages = "86--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMd, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "4", pages = "90--??", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2000:PMDb, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Shall {I} Compare Thee \ldots{} Why Not?", journal = j-CCCUJ, volume = "18", number = "4", pages = "96--96", month = apr, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:25 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0004/0004toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Stan mitigates the odium in comparison by being, as usual, marginally scrutable.", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFe, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "5", pages = "6--6", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Plauger:2000:SCCe, author = "P. J. Plauger", title = "{Standard C/C++}: {\tt exit(0)}", journal = j-CCCUJ, volume = "18", number = "5", pages = "10, 14, 16", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "All good things must come to an end.", acknowledgement = ack-nhfb, annote = "P. J. Plauger announces his retirement from C/C++ Users Journal column writing.", } @Article{Howard:2000:UPW, author = "David M. Howard", title = "Using Predicate Waits with {Win32} Threads", journal = j-CCCUJ, volume = "18", number = "5", pages = "18--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Most Win32 synchronization primitives are just that --- primitive. But you can use them to build queues that are safe and easy to use.", acknowledgement = ack-nhfb, } @Article{Calkins:2000:ITT, author = "Charles Calkins", title = "Integrating Threads with Template Classes", journal = j-CCCUJ, volume = "18", number = "5", pages = "32--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It's obviously a good idea to encapsulate a thread as an object. It is less obvious how to get all the interfaces right.", acknowledgement = ack-nhfb, } @Article{Kleber:2000:TSA, author = "Jeff Kleber", title = "Thread-Safe Access to Collections", journal = j-CCCUJ, volume = "18", number = "5", pages = "36--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The best place to store a thread lock for a shared container is somewhere inside the container --- deep inside.", acknowledgement = ack-nhfb, } @Article{Phillips:2000:VDI, author = "Dwayne Phillips", title = "Visualizing Depth Images via Rendering", journal = j-CCCUJ, volume = "18", number = "5", pages = "40--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "In case you thought that Dwayne Phillips had exhausted the topic of imaging in these pages, here's another interesting installment.", acknowledgement = ack-nhfb, } @Article{Guillemot:2000:CUR, author = "Marc Guillemot", title = "Catching Untested Return Codes", journal = j-CCCUJ, volume = "18", number = "5", pages = "54--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Who watches the watchers, at least to make sure they're watching? This class does.", acknowledgement = ack-nhfb, } @Article{Lafreniere:2000:SMD, author = "David Lafreniere", title = "State Machine Design in {C++}", journal = j-CCCUJ, volume = "18", number = "5", pages = "58--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It's not all that hard to implement a finite-state machine, unless it's very large, and you have to worry about multithreading, and \ldots{}.", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSWa, author = "Pete Becker", title = "The Journeyman's Shop: When ``Retro'' Is Better", journal = j-CCCUJ, volume = "18", number = "5", pages = "67--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The old ways aren't always the best ways, but they often are pretty darned good.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UER, author = "Bobby Schmidt", title = "Uncaught Exceptions: Remembrance", journal = j-CCCUJ, volume = "18", number = "5", pages = "75--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby finds still more to warn about when playing fast and loose with pointers, smart pointers, and arrays.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPe, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "5", pages = "80--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMe, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "5", pages = "84--??", month = may, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0005/0005toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFf, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "6", pages = "6--6", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Allison:2000:IJS, author = "Chuck Allison", title = "{\tt import java.*}: Strings", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Every language lets you manipulate text to some degree. Java is stronger in this regard than most.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPf, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMf, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Batov:2000:SER, author = "Vladimir Batov", title = "Safe and Economical Reference-Counting in {C++}", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Smart pointers keep getting smarter.", acknowledgement = ack-nhfb, } @Article{Becker:2000:GES, author = "Thomas Becker", title = "Generic Extensions to the {STL}", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "STL is a pretty complete set of tinker toys, but you can always find a few more good ones to add.", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSF, author = "Pete Becker", title = "The Journeyman's Shop: Floating-Point Basics", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You can't overcome a fear of floating-point arithmetic --- or complacency about it --- until you understand what's going on.", acknowledgement = ack-nhfb, } @Article{Berry:2000:CBM, author = "David Berry", title = "Combining {Boyer--Moore} String Search with Regular Expressions", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Some text searches are fast and some are flexible. This one is both.", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2000:PMDc, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: From {MAW} to {MAM}, More?", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "What's in a name? Kelly-Bootle gets the last word even when talking to roses.", acknowledgement = ack-nhfb, } @Article{Perry:2000:RNSa, author = "Michael L. Perry", title = "A Reusable Nonlinear System Solver, Part 1", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C++ lets you encapsulate the Newton--Raphson method for solving equations without obscuring the underlying physical problem to be solved.", acknowledgement = ack-nhfb, } @Article{Philips:2000:DMS, author = "Lawrence Philips", title = "The Double Metaphone Search Algorithm", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Computer vision is a broad and deep topic, but computer hearing is no breeze either, particularly when trying to recognize surnames.", acknowledgement = ack-nhfb, } @Article{Rogers:2000:SON, author = "Joey Rogers", title = "The Self-Organizing Neural Network", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "People can learn even when they don't know what they're being taught. So can neural nets.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UESb, author = "Bobby Schmidt", title = "Uncaught Exceptions: Semper Fi", journal = j-CCCUJ, volume = "18", number = "6", pages = "??--??", month = jun, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:26 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0006/0006toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby reassures us that the dark side of the force need not be all that dark.", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFg, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "7", pages = "6--6", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2000:SUT, author = "Marc Briand", title = "Simple Unit Tests in {C++}", journal = j-CCCUJ, volume = "18", number = "7", pages = "10--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Unit testing is a tedious, but often necessary, adjunct to writing code. A few template classes can eliminate much of the tedium and improve encapsulation in the bargain.", acknowledgement = ack-nhfb, } @Article{Bramley:2000:DBA, author = "Michael Bramley", title = "Data-Based Axis Determination", journal = j-CCCUJ, volume = "18", number = "7", pages = "20--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Labeling the axes of a graph is not as easy as you might think.", acknowledgement = ack-nhfb, } @Article{Rogers:2000:CFC, author = "Joey Rogers", title = "Copying Files from the Clipboard to a Command Prompt", journal = j-CCCUJ, volume = "18", number = "7", pages = "28--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You can make DOS more of a first-class Windows citizen with this handy little clipboard utility.", acknowledgement = ack-nhfb, } @Article{Morana:2000:BBD, author = "Marco Morana", title = "Browser-Based Directory Access through {LDAP} and {COM}", journal = j-CCCUJ, volume = "18", number = "7", pages = "34--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You can do a lot with LDAP --- once you get all the glue right.", acknowledgement = ack-nhfb, } @Article{Barnes:2000:IOP, author = "Paul Barnes", title = "Implementation of Observer Pattern", journal = j-CCCUJ, volume = "18", number = "7", pages = "50--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Many applications involve observers waiting for notification. Getting the logic right for both publishers and subscribers is something you don't want to have to do repeatedly.", acknowledgement = ack-nhfb, } @Article{Creux:2000:TTC, author = "Valery Creux", title = "Tree Traversal in {C} without Recursion", journal = j-CCCUJ, volume = "18", number = "7", pages = "56--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you can spare one bit of storage in each node, you can traverse a tree without recursive function calls.", acknowledgement = ack-nhfb, } @Article{Allison:2000:IJF, author = "Chuck Allison", title = "{\tt import java.*}: Formatted Text and Locales", journal = j-CCCUJ, volume = "18", number = "7", pages = "60--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Java offers more formatting power than C, but not necessarily in a more convenient package.", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSE, author = "Pete Becker", title = "The Journeyman's Shop: Error in Floating-Point Calculations", journal = j-CCCUJ, volume = "18", number = "7", pages = "73--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "And you thought error, accuracy, precision, and significance were pretty synonymous.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UEA, author = "Bobby Schmidt", title = "Uncaught Exceptions: Adventures of {Aquaman}", journal = j-CCCUJ, volume = "18", number = "7", pages = "85--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby shows how to outsmart the compiler several different ways, even if he can't outsmart the stock market.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPg, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "7", pages = "95--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMg, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "7", pages = "99--??", month = jul, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0007/0007toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFh, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "8", pages = "6--6", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Bianchi:2000:CVC, author = "Luigi Bianchi", title = "Converting {VCL} Components to {Windows} Resources", journal = j-CCCUJ, volume = "18", number = "8", pages = "10--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Borland C++Builder has its own version of resource files, but they can be translated to more conventional {\tt .RC} files.", acknowledgement = ack-nhfb, } @Article{Hanov:2000:LWW, author = "Steve Hanov", title = "A Lightweight Window Wrapper", journal = j-CCCUJ, volume = "18", number = "8", pages = "26--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Even the simplest aspects of window management can benefit from a bit of encapsulation.", acknowledgement = ack-nhfb, } @Article{Perry:2000:RNSb, author = "Michael L. Perry", title = "A Reusable Nonlinear System Solver, Part 2", journal = j-CCCUJ, volume = "18", number = "8", pages = "32--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It's not enough to have a general equation solver --- you have to know how to talk to it.", acknowledgement = ack-nhfb, } @Article{Hsiao:2000:SPF, author = "Gary Hsiao", title = "A Simple Persistence Framework", journal = j-CCCUJ, volume = "18", number = "8", pages = "46--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Think of a persistent object broker as a poor man's database. Then think of all the ways you might use it.", acknowledgement = ack-nhfb, } @Article{Hicks:2000:CCT, author = "Craig Hicks", title = "{C/C++} Tips: Tip \#1: Creating an Index Table in {STL}", journal = j-CCCUJ, volume = "18", number = "8", pages = "61--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "STL doesn't do everything, but often a missing bit of functionality can be assembled from available parts.", acknowledgement = ack-nhfb, } @Article{Swaim:2000:SLR, author = "David C. {Swaim II}", title = "A Simple Linear Regression Class", journal = j-CCCUJ, volume = "18", number = "8", pages = "62--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Even an operation as simple as linear least squares can benefit from encapsulation in a class.", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSU, author = "Pete Becker", title = "The Journeyman's Shop: Unraveling Multithreading", journal = j-CCCUJ, volume = "18", number = "8", pages = "71--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Sometimes you have to spend a lot of time on just a little bit of code, to avoid spending much more time not knowing where to begin debugging.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UESc, author = "Bobby Schmidt", title = "Uncaught Exceptions: Soft Geek Cafe", journal = j-CCCUJ, volume = "18", number = "8", pages = "83--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Outsmarting the compiler, and/or the Standard C and C++ libraries, can sometimes take a remarkable amount of trickery.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPh, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "8", pages = "87--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMh, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "8", pages = "91--??", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2000:PMDd, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Whichever Comes First", journal = j-CCCUJ, volume = "18", number = "8", pages = "96--96", month = aug, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:27 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0008/0008toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Stan takes an intelligently artificial look at the artificially intelligent artificers.", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFi, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "9", pages = "6--6", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Moreno:2000:HDT, author = "Carlos Moreno", title = "{HTML} Document Templates for {CGI} Applications", journal = j-CCCUJ, volume = "18", number = "9", pages = "10--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Get the power of C/C++ programming with the flexibility of HTML by keeping the two at arms length.", acknowledgement = ack-nhfb, } @Article{Nelson:2000:NPL, author = "Erik Nelson", title = "Network Programming with {Linux}", journal = j-CCCUJ, volume = "18", number = "9", pages = "26--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "TCP isn't the only protocol for swapping data packets, nor is it always the most effective.", acknowledgement = ack-nhfb, } @Article{Smereka:2000:TIS, author = "Richard Smereka", title = "A {TCP\slash IP} Socket Location Server", journal = j-CCCUJ, volume = "18", number = "9", pages = "34--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You can write remarkably portable network-aware code, if you are careful how you isolate the dependencies.", acknowledgement = ack-nhfb, } @Article{Allison:2000:SAU, author = "Chuck Allison", title = "The Simplest Automated Unit Test Framework That Could Possibly Work", journal = j-CCCUJ, volume = "18", number = "9", pages = "48--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Testing is a necessary evil to many programmers, but it doesn't have to be all that evil.", acknowledgement = ack-nhfb, } @Article{Bromberg:2000:TAR, author = "Boris Bromberg", title = "Tracing an Application in Release Configuration", journal = j-CCCUJ, volume = "18", number = "9", pages = "62--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A lightweight trace facility is less likely to distort performance in the final stress of debugging.", acknowledgement = ack-nhfb, } @Article{Cacciola:2000:CCT, author = "Fernando Cacciola", title = "{C/C++} Tips: Tip \#2: Generic Constants for Generic Programming", journal = j-CCCUJ, volume = "18", number = "9", pages = "65--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you're going to write generic code, make sure it's completely generic.", acknowledgement = ack-nhfb, } @Article{Phillips:2000:BRP, author = "Dwayne Phillips", title = "Book Review: {{\em The Pragmatic Programmer}}", journal = j-CCCUJ, volume = "18", number = "9", pages = "66--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There's more to programming than algorithms and programming languages --- much more.", acknowledgement = ack-nhfb, } @Article{Becker:2000:SGPa, author = "Thomas Becker", title = "{STL} \& Generic Programming: Welcome to {STL} and Generic Programming", journal = j-CCCUJ, volume = "18", number = "9", pages = "70--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Another Becker joins CUJ's editorial team to cover one of the most important areas of C++ programming.", acknowledgement = ack-nhfb, } @Article{Allison:2000:IJC, author = "Chuck Allison", title = "{\tt import java.*}: Collections and Algorithms", journal = j-CCCUJ, volume = "18", number = "9", pages = "76--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Java lacks both a standard and templates, but it nevertheless offers something resembling the C++ Standard Template Library.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UEB, author = "Bobby Schmidt", title = "Uncaught Exceptions: The Ballad of {Ned Kelly}", journal = j-CCCUJ, volume = "18", number = "9", pages = "94--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby gets hitched, pines for Oz, and deals with several common confusions in C/C++, all in one action-packed episode.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPi, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "9", pages = "103--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMi, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "9", pages = "107--??", month = sep, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0009/0009toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFj, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "10", pages = "6--6", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Cacciola:2000:IVT, author = "Fernando Cacciola", title = "An Improved Variant Type Based on Member Templates", journal = j-CCCUJ, volume = "18", number = "10", pages = "10--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C has generic pointers and varying length argument lists for flexibility. C++ has templates for even more flexibility, and better type safety in the bargain.", acknowledgement = ack-nhfb, } @Article{Queisser:2000:CRW, author = "Andrew Queisser", title = "Classes for Reading and Writing Parameter Blocks", journal = j-CCCUJ, volume = "18", number = "10", pages = "22--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Fortran IV let you read and write variables by name since the 1960s. It still makes sense to do so in C++.", acknowledgement = ack-nhfb, } @Article{Nash:2000:IFT, author = "Alan Nash", title = "Introduction to Function {\tt try} Blocks", journal = j-CCCUJ, volume = "18", number = "10", pages = "32--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Exceptions can occur in the darndest places. Fortunately, {\tt try} blocks can also be written in most of those places.", acknowledgement = ack-nhfb, } @Article{Niec:2000:OSO, author = "Todd Niec", title = "Optimizing Substring Operations in String Classes", journal = j-CCCUJ, volume = "18", number = "10", pages = "40--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If reference counting is good for operations on whole strings, it should be good for operations on substrings too.", acknowledgement = ack-nhfb, } @Article{Meyers:2000:NCIa, author = "Randy Meyers", title = "The New {C}: Introducing {C99}", journal = j-CCCUJ, volume = "18", number = "10", pages = "49--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C99 is much like C89, but with more of the same --- lots more of the same.", acknowledgement = ack-nhfb, } @Article{Becker:2000:JSWb, author = "Pete Becker", title = "The Journeyman's Shop: When Bad Things Happen to Good Numbers", journal = j-CCCUJ, volume = "18", number = "10", pages = "54--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It takes a lot of preparation to write really robust floating-point code.", acknowledgement = ack-nhfb, } @Article{Becker:2000:SGPb, author = "Thomas Becker", title = "{STL} \& Generic Programming: The Template Compilation Model", journal = j-CCCUJ, volume = "18", number = "10", pages = "65--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Templates change the way compilers and linkers interact, often in ways that are hard to fathom.", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UESd, author = "Bobby Schmidt", title = "Uncaught Exceptions: Sunshine Superman", journal = j-CCCUJ, volume = "18", number = "10", pages = "73--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby answers several questions from the fringes of valid C++.", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2000:PMDe, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Angelology", journal = j-CCCUJ, volume = "18", number = "10", pages = "88--88", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Stan muses on pinheads who get rich and heads of pins that are angel poor.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPj, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "10", pages = "103--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMj, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "10", pages = "107--??", month = oct, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0010/0010toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFk, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "11", pages = "6--6", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Thierauf:2000:EDP, author = "Rainer Thierauf", title = "Extracting Data from {$X$-$Y$} Plots", journal = j-CCCUJ, volume = "18", number = "11", pages = "10--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Scanners now input text with reasonable accuracy --- why not graphical data as well?", acknowledgement = ack-nhfb, } @Article{Ehlinger:2000:CTM, author = "Early Ehlinger", title = "Creating Truly Maintainable Class Factories", journal = j-CCCUJ, volume = "18", number = "11", pages = "22--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It is usually best to recycle code already written, particularly if it's easy to get wrong.", acknowledgement = ack-nhfb, } @Article{Gibbons:2000:PTO, author = "Bill Gibbons", title = "A Portable ``{\tt typeof}'' Operator", journal = j-CCCUJ, volume = "18", number = "11", pages = "34--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Here's a not-so-stupid template trick that mostly meets the need for a {\tt typeof} operator.", acknowledgement = ack-nhfb, } @Article{Foster:2000:CCT, author = "Sol Foster", title = "{C/C++} Tips: Tip \#3: Creating an Index Table in {STL}, Take 2", journal = j-CCCUJ, volume = "18", number = "11", pages = "41--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Pointers seldom sort the way you intend, but STL offers a handy way to say what you really mean.", acknowledgement = ack-nhfb, } @Article{Scanlon:2000:SWB, author = "Mike Scanlon", title = "Secure {Web}-Based Licensing", journal = j-CCCUJ, volume = "18", number = "11", pages = "42--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you want to protect your software from misuse, you have to outsmart potential thieves and still not annoy your legitimate customers. This is not as easy as you might at first think.", acknowledgement = ack-nhfb, } @Article{Button:2000:BRS, author = "Brian Button", title = "Book Review: {{\em Standard C++ IOStreams and Locales}}", journal = j-CCCUJ, volume = "18", number = "11", pages = "51--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Austern:2000:SLI, author = "Matt Austern", title = "The {Standard Librarian}: {IOStreams} and {Stdio}", journal = j-CCCUJ, volume = "18", number = "11", pages = "55--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You can mix C and C++ I/O operations, but you have to be careful if you don't want garbled streams.", acknowledgement = ack-nhfb, } @Article{Allison:2000:IJB, author = "Chuck Allison", title = "{\tt import java.*}: Basic Stream {I/O}", journal = j-CCCUJ, volume = "18", number = "11", pages = "58--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Java supports input/output of streams with a gazillion combinations of options.", acknowledgement = ack-nhfb, } @Article{Sutter:2000:SMC, author = "Herb Sutter", title = "{Sutter's Mill}: Constructor Failures (or, The Objects That Never Were)", journal = j-CCCUJ, volume = "18", number = "11", pages = "72--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Exceptions thrown during object construction must be handled with extreme care.", acknowledgement = ack-nhfb, } @Article{Meyers:2000:NCIb, author = "Randy Meyers", title = "The New {C}: It All Began with {FORTRAN}", journal = j-CCCUJ, volume = "18", number = "11", pages = "80--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Sometimes the best way to improve a language is to make it look more like the one it set out to obsolete 30 years earlier.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPk, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "11", pages = "88--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMk, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "11", pages = "92--??", month = nov, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:28 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0011/0011toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2000:EFl, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "18", number = "12", pages = "6--6", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Phillips:2000:RIN, author = "Dwayne Phillips", title = "Removing Image Noise with Adaptive Filters", journal = j-CCCUJ, volume = "18", number = "12", pages = "10--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There is no such thing as a universal filter, but we can get close by building one that adapts to the local noise. Dwayne Phillips walks us through the math to make a filter look a little bit smart.", acknowledgement = ack-nhfb, } @Article{Wu:2000:ECC, author = "Wenfei Wu", title = "Effective Contour Creation with {OpenGL} Texture Mapping", journal = j-CCCUJ, volume = "18", number = "12", pages = "24--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "In graphics applications, ``let the hardware do it'' is generally good advice. Today's graphics hardware keeps getting better and better, and OpenGL knows how to exploit its capabilities. Even producing contour plots can be a fairly painless operation.", acknowledgement = ack-nhfb, } @Article{Bavestrelli:2000:CTD, author = "Giovanni Bavestrelli", title = "A Class Template for {$N$}-Dimensional Generic Resizable Arrays", journal = j-CCCUJ, volume = "18", number = "12", pages = "32--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Need dynamic arrays that are efficient and intuitive? Try a little template recursion and specialization.", acknowledgement = ack-nhfb, } @Article{Peterson:2000:CCT, author = "Mark Peterson", title = "{C/C++} Tips: Tip \#4: Self Destructing Threads", journal = j-CCCUJ, volume = "18", number = "12", pages = "44--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A way to make threads easier to manage.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2000:CKF, author = "Steve Dewhurst", title = "Common Knowledge: Fungible Control Structures", journal = j-CCCUJ, volume = "18", number = "12", pages = "46--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Steve presents some effective but unorthodox methods for controlling flow of execution --- including one that looks downright weird.", acknowledgement = ack-nhfb, } @Article{Becker:2000:JST, author = "Pete Becker", title = "The Journeyman's Shop: Trap Handlers, Sticky Bits, and Floating-Point Comparisons", journal = j-CCCUJ, volume = "18", number = "12", pages = "54--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Pete wraps up his series on practical floating-point math.", acknowledgement = ack-nhfb, } @Article{Meyers:2000:NCIc, author = "Randy Meyers", title = "The New {C}: Integers in {C99}, Part 1", journal = j-CCCUJ, volume = "18", number = "12", pages = "65--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C has its roots in typeless languages, but it has come a long long way from its humble beginnings.", acknowledgement = ack-nhfb, } @Article{Becker:2000:SGPc, author = "Thomas Becker", title = "{STL} \& Generic Programming: Introduction to the {STL}", journal = j-CCCUJ, volume = "18", number = "12", pages = "68--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Here's a very brief history of the C++ Standard library, and a call to abandon the naive view that the STL is ``just a bunch of containers.''", acknowledgement = ack-nhfb, } @Article{Schmidt:2000:UEN, author = "Bobby Schmidt", title = "Uncaught Exceptions: No No {.NET}", journal = j-CCCUJ, volume = "18", number = "12", pages = "73--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby does a little moonlighting at the VC++ help desk, and battles some phantom foos in his spare time.", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:NPl, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "18", number = "12", pages = "80--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2000:WMl, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "18", number = "12", pages = "84--??", month = dec, year = "2000", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2000/0012/0012toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFW, author = "Marc Briand", title = "{Editor}'s Forum: The Woods of Complexity", journal = j-CCCUJ, volume = "19", number = "1", pages = "6--6", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Gabrilovich:2001:JCI, author = "Evgeniy Gabrilovich and Lev Finkelstein", title = "{JNI--C++} Integration Made Easy", journal = j-CCCUJ, volume = "19", number = "1", pages = "10--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Extremely versatile interfaces like the Java JNI also tend to be extremely cumbersome, as a rule. The authors have found a way to break that rule.", acknowledgement = ack-nhfb, } @Article{Dix:2001:WSS, author = "Chris Dix", title = "Working with {SOAP}, the {Simple Object Access Protocol}", journal = j-CCCUJ, volume = "19", number = "1", pages = "22--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "SOAP makes distributed computing possible in a multiplicity of forms, with XML as a communication medium. Little wonder it's generating so much excitement.", acknowledgement = ack-nhfb, } @Article{Lingsong:2001:EDB, author = "He Lingsong", title = "Exchanging Data between {Java} and {C/C++ Windows} Programs", journal = j-CCCUJ, volume = "19", number = "1", pages = "34--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The notorious ``endian'' problem shows up in all sorts of places --- in this case, between different programming languages.", acknowledgement = ack-nhfb, } @Article{Timperley:2001:CCT, author = "Mark Timperley", title = "{C/C++} Tips: Tip \#5: {A} {C/C++} Comment Macro", journal = j-CCCUJ, volume = "19", number = "1", pages = "41--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "For a non-intrusive debugging macro, this one-liner is hard to beat.", acknowledgement = ack-nhfb, } @Article{Koenig:2001:CMEa, author = "Andrew Koenig", title = "{C++} Made Easier: Using Library Algorithms", journal = j-CCCUJ, volume = "19", number = "1", pages = "42--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you're struggling with complicated loops and off-by-one errors, you might be doing things the hard way. Andy shows us how easy it can be, with a little help from the standard library.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:NCIa, author = "Randy Meyers", title = "The New {C}: Integers, Part 2", journal = j-CCCUJ, volume = "19", number = "1", pages = "52--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The new C Standard has a novel idea: just accept that machine-word sizes will grow. Randy explains C's proactive strategy for accommodating the inevitable.", acknowledgement = ack-nhfb, } @Article{Sutter:2001:SMC, author = "Herb Sutter", title = "{Sutter's Mill}: Containers in Memory: How Big Is Big?", journal = j-CCCUJ, volume = "19", number = "1", pages = "58--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you are basing your selection of standard containers on memory requirements, then Herb has some bad news and some good news.", acknowledgement = ack-nhfb, } @Article{Becker:2001:JSS, author = "Pete Becker", title = "The Journeyman's Shop: Sorting through {Quicksort}, Part 1", journal = j-CCCUJ, volume = "19", number = "1", pages = "66--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Pete uses the popular Quicksort algorithm as a mini-laboratory for exploring algorithm design and analyzing algorithm performance problems.", acknowledgement = ack-nhfb, } @Article{Austern:2001:SLD, author = "Matt Austern", title = "The {Standard Librarian}: Defining Iterators and Const Iterators", journal = j-CCCUJ, volume = "19", number = "1", pages = "74--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Writing an iterator isn't hard, and it's a natural way to extend the C++ Standard library. But if you want to do it right, there are a few wrinkles you ought to know about.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEC, author = "Bobby Schmidt", title = "Uncaught Exceptions: {21st Century Man}", journal = j-CCCUJ, volume = "19", number = "1", pages = "80--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It may be the new millennium, but we still have trouble understanding switch statements, templates, access modifiers, and (in some folks' view) how to keep things simple.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPa, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "1", pages = "88--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMa, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "1", pages = "92--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2001:PMDa, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Time Flies", journal = j-CCCUJ, volume = "19", number = "1", pages = "96--??", month = jan, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:29 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0101/0101toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Having discredited doomsayers of the past, Stan makes a few of his own predictions to chill the hearts of his favorite editors.", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFb, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "19", number = "2", pages = "6--6", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPb, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "2", pages = "88--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMb, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "2", pages = "92--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:EHE, author = "Anonymous", title = "Exception Handling in {Embedded C} Programs", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The most common way to emulate exceptions in C is through its {\tt setjmp}/{\tt longjmp} facility. The approach presented here is less complicated, but with some surprisingly useful features, including a simple form of stack unwinding.", acknowledgement = ack-nhfb, } @Article{Batov:2001:CME, author = "Vladimir Batov", title = "Callbacks Made Easy with the Observer\slash Mediator Design Patterns", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Good software works; great software evolves. Here's a variation on the Observer pattern that lets you update your code base with ease.", acknowledgement = ack-nhfb, } @Article{Becker:2001:SGPa, author = "Thomas Becker", title = "{STL} \& Generic Programming: {STL} Containers", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Why does the Standard C++ library provide so many kinds of containers? To enable tradeoffs in efficiency in their infinite variety of uses.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2001:CKP, author = "Steve Dewhurst", title = "Common Knowledge: Polymorphic Function Objects", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It takes lots of skill, and maybe a design pattern or two, to turn a function pointer into a thing of beauty.", acknowledgement = ack-nhfb, } @Article{Koenig:2001:CMEb, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Programs That Work by Accident", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Avoiding undefined behavior is critically important in C++ programming. The authors show us some ways that don't require memorizing the entire C++ Standard.", acknowledgement = ack-nhfb, } @Article{May:2001:ECC, author = "Patrick May", title = "Encapsulating {CORBA} Components with the Adapter and Bridge Patterns", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "CORBA hides the details of invoking objects on remote machines. With a little more refactoring, we can hide the details of CORBA as well.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:NCIb, author = "Randy Meyers", title = "The New {C}: Integers, Part 3", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "At first glance, C99's new integral types seem to threaten its portability. But a few added headers and typedefs improve the outlook dramatically.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEF, author = "Bobby Schmidt", title = "Uncaught Exceptions: Fuzzy Math", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Compared to certain flawed political processes, computing processes yield the same answers with remarkable consistency. Now we just need to figure out why they're wrong.", acknowledgement = ack-nhfb, } @Article{Zack:2001:DUG, author = "Randy Zack", title = "Debugging under {GNU\slash Linux}", journal = j-CCCUJ, volume = "19", number = "2", pages = "??--??", month = feb, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0102/0102toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Programmers from fields as diverse as enterprise computing to embedded systems are venturing into Linux. If you are one of them, here's a tool that should be at the top of your download list.", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFDa, author = "Marc Briand", title = "{Editor}'s Forum: Drowning Big Brother", journal = j-CCCUJ, volume = "19", number = "3", pages = "6--6", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Sorfa:2001:OSI, author = "Petr Sorfa", title = "Open Source {IDEs} for {Linux\slash Unix}", journal = j-CCCUJ, volume = "19", number = "3", pages = "8--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You don't have to give up a graphical environment to develop software under Linux. There are as many IDEs freely available on the Internet as there are definitions of the word ``free.''", acknowledgement = ack-nhfb, } @Article{Bonang:2001:NLS, author = "James Bonang", title = "Navigating {Linux} Source Code", journal = j-CCCUJ, volume = "19", number = "3", pages = "18--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "With legacy code or large projects, navigation is a serious concern. Here are some tools that can help you find your way.", acknowledgement = ack-nhfb, } @Article{Pehrson:2001:DGI, author = "Bret S. Pehrson", title = "Documenting the Graphic Import Filter Interface", journal = j-CCCUJ, volume = "19", number = "3", pages = "26--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There is a fairly ``standard'' interface for importing diverse graphics formats into Windows applications. Only problem is, nobody bothered to document it --- until now.", acknowledgement = ack-nhfb, } @Article{Forshaw:2001:BRC, author = "Ben Forshaw", title = "Book Review: {{\em The C++ Standard Library: A Tutorial and Reference}}", journal = j-CCCUJ, volume = "19", number = "3", pages = "40--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "At first glance, C99's new integral types seem to threaten its portability. But a few added headers and typedefs improve the outlook dramatically.", acknowledgement = ack-nhfb, } @Article{Yoder:2001:UTF, author = "Michael B. Yoder", title = "Using Template Functions to Customize Library Behavior", journal = j-CCCUJ, volume = "19", number = "3", pages = "42--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you're writing code to be used by other programmers, you'll want to make it customizable, and you'll want to do it well. This article presents an approach that is both efficient and easy to manage.", acknowledgement = ack-nhfb, } @Article{Kamper:2001:BRC, author = "Stephan K{\"a}mper", title = "Book Review: {{\em Core C++ --- A Software Engineering Approach}}", journal = j-CCCUJ, volume = "19", number = "3", pages = "55--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A book that teaches C++ in the context of Software Engineering.", acknowledgement = ack-nhfb, } @Article{Griffiths:2001:HD, author = "Alan Griffiths", title = "Here Be Dragons", journal = j-CCCUJ, volume = "19", number = "3", pages = "58--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If learning exception safety may be likened to a journey, then Alan Griffiths is an excellent tour guide. He shows us several alternate routes, and he always keeps the trip interesting.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:SMN, author = "Anonymous", title = "{Sutter's Mill}: To New, Perchance To Throw (Part 1 of 2)", journal = j-CCCUJ, volume = "19", number = "3", pages = "67--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you're going to overload operator new, make sure you get the right one, and that the compiler picks the right ones as well.", acknowledgement = ack-nhfb, } @Article{Austern:2001:TSL, author = "Matt Austern", title = "Teh {Standard Librarian}: {Streambufs} and {Streambuf} Iterators", journal = j-CCCUJ, volume = "19", number = "3", pages = "72--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you've ever used getc and putc, you need the C++ equivalents that reside in streambufs.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEAa, author = "Bobby Schmidt", title = "Uncaught Exceptions: An {Alan Smithee} Film", journal = j-CCCUJ, volume = "19", number = "3", pages = "80--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Of mutability, volatility, portability, and other things that go bump in the night\ldots{}.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPc, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "3", pages = "88--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMc, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "3", pages = "92--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2001:PMDb, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Reply {ALL}", journal = j-CCCUJ, volume = "19", number = "3", pages = "96--??", month = mar, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:30 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0103/0103toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Somebody let Stan off the plane in New Orleans, ostensibly to cover a Unix conference. Here is his report, complete with a bit of (ahem) cultural commentary.", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFd, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "19", number = "4", pages = "6--6", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPd, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMd, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Becker:2001:SGPb, author = "Thomas Becker", title = "{STL} \& Generic Programming: {STL} Container Iterators", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "We've all heard we can use iterators ``just like pointers,'' but that isn't the whole story. Some iterators are important for what they won't let you do --- especially when protecting the integrity of a container", acknowledgement = ack-nhfb, } @Article{Dewhurst:2001:CKQ, author = "Steve Dewhurst", title = "Common Knowledge: {A} Question of Respect", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There are a few small items in C++ that should be marked ``not for casual use.'' Casting is one of them; Steve makes it clear as to why", acknowledgement = ack-nhfb, } @Article{Fox:2001:HDC, author = "Maurice Fox", title = "A Handy Debugging Class", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Tracing, debugging, and timing --- all in one package and dynamically controllable with simple, intuitive control strings.", acknowledgement = ack-nhfb, } @Article{Koenig:2001:CMEc, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: {w} Vectors Grow", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The Standard C++ library delivers reasonable performance by default. If you've ever wondered how, or what is implied in the word ``reasonable,'' read on", acknowledgement = ack-nhfb, xxnote = "Check title: w == Watching??", } @Article{Meyers:2001:NCD, author = "Randy Meyers", title = "The New {C}: Declarations and Initializations", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C99 provides many new options for when and how a variable begins its life. The benefit is code that is less buggy and more readable.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEE, author = "Bobby Schmidt", title = "Uncaught Exceptions: {eWriter}", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Just when we're fixin' to swear at VC++ again, it turns around and does something right.", acknowledgement = ack-nhfb, } @Article{Stanley:2001:AET, author = "Ben Stanley", title = "Adding Exception Testing to Unit Tests", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Exceptions can add a bewildering number of potential execution paths to otherwise simple code. Here is a way to test those extra paths without writing a bazillion test cases.", acknowledgement = ack-nhfb, } @Article{Sutter:2001:CCR, author = "Herb Sutter", title = "{C++} Conformance Roundup", journal = j-CCCUJ, volume = "19", number = "4", pages = "??--??", month = apr, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0104/0104toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There is no C++ compiler or library today that implements the Standard perfectly, but some are getting close. Here, finally, is a first attempt to quantify just how close.", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFE, author = "Marc Briand", title = "{Editor}'s Forum: The {Emperor}'s New Shoes", journal = j-CCCUJ, volume = "19", number = "5", pages = "6--6", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Huber:2001:EFC, author = "Andreas Huber", title = "Elegant Function Call Wrappers", journal = j-CCCUJ, volume = "19", number = "5", pages = "8--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Scheduling functions for later execution is an obvious requirement in multithreaded programs. How to do that and preserve both type safety and modularity is not so obvious. The author combines an old pattern and some new template techniques to pull it off rather nicely.", acknowledgement = ack-nhfb, } @Article{Moreno:2001:WIC, author = "Carlos Moreno", title = "{wxWindows}, an Intuitive Cross-Platform {GUI} Framework", journal = j-CCCUJ, volume = "19", number = "5", pages = "18--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If it absolutely has to have a GUI, and it has to run on different platforms, you have to have a look at this freely available framework.", acknowledgement = ack-nhfb, } @Article{Smereka:2001:TCS, author = "Richard Smereka", title = "Two Classes for Simple Socket Programming", journal = j-CCCUJ, volume = "19", number = "5", pages = "34--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Using these classes, getting your program hooked to the 'Net really can be as simple as plugging in a socket.", acknowledgement = ack-nhfb, } @Article{Hubbard:2001:BPS, author = "John Hubbard", title = "Building a Professional Software Toolkit", journal = j-CCCUJ, volume = "19", number = "5", pages = "42--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Professionals have a right to be picky about the tools they use. The author suggests a few criteria for what makes a good tool and contributes a couple of his own tools designed to fit the bill.", acknowledgement = ack-nhfb, } @Article{Chandrabose:2001:CCT, author = "Shanker Chandrabose", title = "{C/C++} Tips: Tip \#6: Making Classes Non-Derivable", journal = j-CCCUJ, volume = "19", number = "5", pages = "51--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Some classes just have no business being parents.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:NCX, author = "Randy Meyers", title = "The New {C}: {X} Macros", journal = j-CCCUJ, volume = "19", number = "5", pages = "52--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Assembly language programmers of the 60's had to develop some great tools just to preserve their sanity. Some of those tools, such as X macros, are still potentially useful today.", acknowledgement = ack-nhfb, } @Article{Austern:2001:SLB, author = "Matt Austern", title = "The {Standard Librarian}: Bitsets and Bit Vectors", journal = j-CCCUJ, volume = "19", number = "5", pages = "58--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "In C++ you can twiddle bits to your heart's content, and not even go near a macro.", acknowledgement = ack-nhfb, } @Article{Sutter:2001:SMN, author = "Herb Sutter", title = "{Sutter's Mill}: To New, Perchance To Throw (Part 2 of 2)", journal = j-CCCUJ, volume = "19", number = "5", pages = "66--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Conventional wisdom says always check for and respond to allocation failure --- but oftentimes you just can't do either.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEG, author = "Bobby Schmidt", title = "Uncaught Exceptions: The Great Panjandrum", journal = j-CCCUJ, volume = "19", number = "5", pages = "73--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Templates are hard enough to understand without all the inconsistent terminology being used in C++ literature. Bobby clears up an especially troublesome case.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPe, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "5", pages = "80--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMe, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "5", pages = "84--??", month = may, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:31 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0105/0105toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFG, author = "Marc Briand", title = "{Editor}'s Forum: Going Back to the Well", journal = j-CCCUJ, volume = "19", number = "6", pages = "6--6", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Meyers:2001:TGE, author = "Scott Meyers", title = "Three Guidelines for Effective Iterator Usage", journal = j-CCCUJ, volume = "19", number = "6", pages = "10--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It is easy to write code that uses STL iterators, but beware lest you write code that's brittle or won't port. Here are a few things you might need to know.", acknowledgement = ack-nhfb, } @Article{Liu:2001:IRM, author = "Qiang Liu", title = "Implementing Reusable Mathematical Procedures Using {C++}", journal = j-CCCUJ, volume = "19", number = "6", pages = "22--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Algorithms that must call user-supplied functions are typically difficult to reuse. The key to reuse is finding a way to encapsulate the user-defined code.", acknowledgement = ack-nhfb, } @Article{Glassborow:2001:BRA, author = "Francis Glassborow", title = "Book Review: {{\em Accelerated C++}}", journal = j-CCCUJ, volume = "19", number = "6", pages = "30--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Maybe you've been hearing the buzz about some ``new approach'' to learning C++. Here's the book that's got everyone talking.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:NCC, author = "Randy Meyers", title = "The New {C}: Compound Literals", journal = j-CCCUJ, volume = "19", number = "6", pages = "33--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Structs in C are not quite ``first class types,'' but with the help of compound literals, they are at least a lot easier to use.", acknowledgement = ack-nhfb, } @Article{Becker:2001:SGPc, author = "Thomas Becker", title = "{STL} and Generic Programming: More on Iterators", journal = j-CCCUJ, volume = "19", number = "6", pages = "38--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "To use STL iterators efficiently, you need to make decisions based on iterator type. The beauty of generic programming is that you can make those decisions at compile time.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2001:CKSa, author = "Stephen Dewhurst", title = "Common Knowledge: Split Idioms", journal = j-CCCUJ, volume = "19", number = "6", pages = "49--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It is better to break a rule of thumb than to break your thumbs on a difficult problem.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEAb, author = "Bobby Schmidt", title = "Uncaught Exceptions: All Good Things", journal = j-CCCUJ, volume = "19", number = "6", pages = "56--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Some words of wisdom for the departing editor, and --- as usual --- some priceless C/C++ info for readers.", acknowledgement = ack-nhfb, } @Article{Koenig:2001:CMEd, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: The Rule of Three", journal = j-CCCUJ, volume = "19", number = "6", pages = "65--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "What you leave out of a class can cause you just as much trouble as what you put in. This simple rule will save you the most common mistakes.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPf, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "6", pages = "71--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMf, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "6", pages = "75--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2001:PMDc, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: What Next?", journal = j-CCCUJ, volume = "19", number = "6", pages = "80--??", month = jun, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0106/0106toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Does time come in packets? No big deal. It's that arrow of time we all have to worry about\ldots{}.", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFS, author = "Marc Briand", title = "{Editor}'s Forum: Something Cool", journal = j-CCCUJ, volume = "19", number = "7", pages = "6--6", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Panzer:2001:TSC, author = "John Panzer", title = "A Toolbox of String Classes", journal = j-CCCUJ, volume = "19", number = "7", pages = "10--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "``One size fits all'' has never applied to strings. Now you can have as many different kinds of strings as you need, all wrapped in the std::string interface.", acknowledgement = ack-nhfb, } @Article{Zolman:2001:SEM, author = "Leor Zolman", title = "An {STL} Error Message Decryptor for {Visual C++}", journal = j-CCCUJ, volume = "19", number = "7", pages = "24--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Believe it or not, there's helpful information buried in those template error messages. It just takes a little Perl to dig it out.", acknowledgement = ack-nhfb, } @Article{York:2001:RAC, author = "Kyle York", title = "A Random Access Compressed File Layer", journal = j-CCCUJ, volume = "19", number = "7", pages = "32--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Providing efficient random access to compressed data is a tall order. Here is a library that does just that, and it's patterned after POSIX file I/O.", acknowledgement = ack-nhfb, } @Article{Lippman:2001:CD, author = "Stanley B. Lippman", title = "The {C\#} Delegate", journal = j-CCCUJ, volume = "19", number = "7", pages = "42--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you're comparing C\# to other ``C-family'' languages, here's an unusual feature that has no real equivalent in C++ or Java.", acknowledgement = ack-nhfb, } @Article{Nowak:2001:CCT, author = "Harald Nowak", title = "{C/C++} Tips: Tip \#7: {A} {\tt remove\_if} for {{\tt vector<T *>}}", journal = j-CCCUJ, volume = "19", number = "7", pages = "52--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Containers of pointers are common, but cumbersome to deal with. Here's a little-used algorithm in the Standard C++ library that makes things a little less awkward.", acknowledgement = ack-nhfb, } @Article{Austern:2001:SLFa, author = "Matt Austern", title = "The {Standard Librarian}: File-Based Containers", journal = j-CCCUJ, volume = "19", number = "7", pages = "54--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Looking for a way to create a file-based container? You might need to look outside the Standard C++ library, and memory mapping may be the answer.", acknowledgement = ack-nhfb, } @Article{Sutter:2001:SMW, author = "Herb Sutter", title = "{Sutter's Mill}: Why Not Specialize Function Templates?", journal = j-CCCUJ, volume = "19", number = "7", pages = "65--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Specializing function templates is not intuitive. Herb tells you when and why not to specialize templates.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPg, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "7", pages = "72--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMg, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "7", pages = "76--??", month = jul, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0107/0107toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFN, author = "Marc Briand", title = "{Editor}'s Forum: The Name Game", journal = j-CCCUJ, volume = "19", number = "8", pages = "6--6", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Padamadan:2001:CMC, author = "Babu George Padamadan", title = "A Cookie Manager Class for {Web} Applications", journal = j-CCCUJ, volume = "19", number = "8", pages = "10--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Padamadan's classes make managing state in a client-server environment a sweet experience.", acknowledgement = ack-nhfb, } @Article{Jarvi:2001:TTM, author = "Jaakko J{\"a}rvi", title = "Tuple Types and Multiple Return Values", journal = j-CCCUJ, volume = "19", number = "8", pages = "24--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "There are several ways to return multiple values from a function in C++. Here is an elegant way that will give your template-grokking brain a real workout.", acknowledgement = ack-nhfb, } @Article{Vlasceanu:2001:GCB, author = "Cristian Vlasceanu", title = "Generalizing the Concepts Behind {\tt auto\_ptr}", journal = j-CCCUJ, volume = "19", number = "8", pages = "36--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The C++ {\tt auto\_ptr} template can plug a memory leak --- too bad that's not the only possible ``leak.'' Here's a template that can close files, release Windows handles, and anything else you tell it how to do.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2001:CKO, author = "Steve Dewhurst", title = "Common Knowledge: One at a Time, Please", journal = j-CCCUJ, volume = "19", number = "8", pages = "46--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Still having trouble kicking the preprocessor habit? Here is some strong motivation for crossing that bridge.", acknowledgement = ack-nhfb, } @Article{Becker:2001:SGPd, author = "Thomas Becker", title = "{STL} \& Generic Programming: Writing Your Own Iterators", journal = j-CCCUJ, volume = "19", number = "8", pages = "51--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "To our delight and edification, Thomas continues his iteration on iterators. This time we get help defining specialized iterators for our own containers.", acknowledgement = ack-nhfb, } @Article{Koenig:2001:CMEe, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Which Container Should {I} Use?", journal = j-CCCUJ, volume = "19", number = "8", pages = "58--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "It seems that deques are often mispronounced and seldom used. Here is wisdom on when to use them, as well as when to use the other two standard sequence containers.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEN, author = "Bobby Schmidt", title = "Uncaught Exceptions: Nevermind", journal = j-CCCUJ, volume = "19", number = "8", pages = "65--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Bobby is at his enthusiastic best after deleting a job that wasn't what it seemed. Deleting an object in C++ isn't always what it seems, either.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPh, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "8", pages = "72--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMh, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "8", pages = "76--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2001:PMDd, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Coder Block", journal = j-CCCUJ, volume = "19", number = "8", pages = "80--??", month = aug, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:32 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0108/0108toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "While there exists code that should never have been written, certainly YOU didn't write it. So why are you reading this column rather than coding?", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFi, author = "Marc Briand", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "19", number = "9", pages = "6--6", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPi, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "9", pages = "64--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMi, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "9", pages = "68--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Austern:2001:SLFb, author = "Matt Austern", title = "The {Standard Librarian}: {I/O} and Function Objects", journal = j-CCCUJ, volume = "19", number = "9", pages = "??--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The Standard C++ library is crafted for extensibility, but doing it right can stymie the best of us. Matt combines function objects with the right ``traits'' to intelligently extend IOStreams.", acknowledgement = ack-nhfb, } @Article{Lorenzen:2001:AEI, author = "Bob Lorenzen", title = "An Algorithm for Efficient Image Warping", journal = j-CCCUJ, volume = "19", number = "9", pages = "??--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Need to redo your image? Here's a nice algorithm to transform it as you like.", acknowledgement = ack-nhfb, } @Article{Nelson:2001:CDS, author = "Mark Nelson", title = "A {C++} Debug Stream for {Win32}", journal = j-CCCUJ, volume = "19", number = "9", pages = "??--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A simple class for printing trace statements while debugging in Windows --- just like in the Good Old Days.", acknowledgement = ack-nhfb, } @Article{Qureshi:2001:IRU, author = "Shehrzad Qureshi", title = "Image Rotation Using {OpenGL} Texture Maps", journal = j-CCCUJ, volume = "19", number = "9", pages = "??--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Here's a new twist on rotating images efficiently.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEI, author = "Bobby Schmidt", title = "Uncaught Exceptions: International Experts of Mystery", journal = j-CCCUJ, volume = "19", number = "9", pages = "??--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you overlook a shameless play for Mrs. Meyers, Bobby serves up precious pointers on, well, pointers (smart ones anyway), and on the proper use of namespaces.", acknowledgement = ack-nhfb, } @Article{Sutter:2001:SMV, author = "Herb Sutter", title = "{Sutter's Mill}: Virtuality", journal = j-CCCUJ, volume = "19", number = "9", pages = "??--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Herb herewith expertly demystifies a little-known practice of expert designers. Read this or weep, Gentle Reader.", acknowledgement = ack-nhfb, } @Article{Tilevich:2001:EST, author = "Eli Tilevich", title = "Extending the Standard Template Library with Association Classes", journal = j-CCCUJ, volume = "19", number = "9", pages = "??--??", month = sep, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0109/0109toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "These classes extend the STL container concepts to manage complex relationships among objects.", acknowledgement = ack-nhfb, } @Article{Briand:2001:EFDb, author = "Marc Briand", title = "{Editor}'s Forum: Do Your Homework", journal = j-CCCUJ, volume = "19", number = "10", pages = "6--6", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Lopiano:2001:SOA, author = "Fabio Lopiano", title = "Sending Objects across Platforms", journal = j-CCCUJ, volume = "19", number = "10", pages = "10--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Herewith are some very handy classes for moving your objects around a network.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:SAV, author = "Scott Meyers", title = "{STL} Algorithms vs. Hand-Written Loops", journal = j-CCCUJ, volume = "19", number = "10", pages = "26--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Itching to optimize? Not so fast! Scott presents yet more motivation to trust the library more than yourself.", acknowledgement = ack-nhfb, } @Article{Wall:2001:BRR, author = "Graham Wall", title = "Book Review: {{\em A Real-Time Programmer's Review of mC/OS-II}}", journal = j-CCCUJ, volume = "19", number = "10", pages = "32--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Graham couples a concise ``Real Time 101'' tutorial with an in-depth review of an important book.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UES, author = "Bobby Schmidt", title = "Uncaught Exceptions: Standard Languages: Ask for Them by Name!", journal = j-CCCUJ, volume = "19", number = "10", pages = "38--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Only Bobby can make a point out of circles and teach us something in the process.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:NCW, author = "Randy Meyers", title = "The New {C}: Why Variable Length Arrays?", journal = j-CCCUJ, volume = "19", number = "10", pages = "46--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C meets Fortran, at long last.", acknowledgement = ack-nhfb, } @Article{Koenig:2001:CMEf, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Understanding Binary Searches", journal = j-CCCUJ, volume = "19", number = "10", pages = "50--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "In their typical elucidating style, Koenig and Moo tell us things we probably don't know about the most fundamental algorithm of computer science.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2001:CKSb, author = "Steve Dewhurst", title = "Common Knowledge: Stepping Back", journal = j-CCCUJ, volume = "19", number = "10", pages = "57--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Const-correctness meets pointers as Steve clarifies one of C++'s most commonly- misunderstood dark corners.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPj, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "10", pages = "64--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMj, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "10", pages = "68--??", month = oct, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:33 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0110/0110toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Andrews:2001:TNN, author = "Larry Andrews", title = "A Template for the Nearest Neighbor Problem", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Andrews ports to C++ an overlooked algorithm that solves a very important mathematical problem occurring in many disciplines, maybe even yours", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:CCU, author = "Anonymous", title = "{C/C++ Users Journal} 20th Anniversary", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C/C++ Users Journal celebrates 20 years of providing practical, working solutions for advanced programmers.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:EFk, author = "Anonymous", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPk, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMk, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Austern:2001:SLS, author = "Matt Austern", title = "The {Standard Librarian}: Searching in the Standard Library", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Bucci:2001:OSA, author = "Mark Bucci", title = "Optimization with Simulated Annealing", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "When you care enough to find the very best, here's an effective way to find it.", acknowledgement = ack-nhfb, } @Article{Nakov:2001:AEM, author = "Kalin Nakov", title = "An Asynchronous Execution Macro", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Ring:2001:MPA, author = "Michael C. Ring", title = "{MAPM}, {A} Portable Arbitrary Precision Math Library in {C}", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Frustrated by the finiteness of fixed-size arithmetic? This math library gives you the precision you need.", acknowledgement = ack-nhfb, } @Article{Schmidt:2001:UEY, author = "Bobby Schmidt", title = "Uncaught Exceptions: Your Witness", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Sutter:2001:SMS, author = "Herb Sutter", title = "{Sutter's Mill}: The String Formatters of {Manor Farm}", journal = j-CCCUJ, volume = "19", number = "11", pages = "??--??", month = nov, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0111/0111toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:CME, author = "Anonymous", title = "{C++} Made Easier: {A} New Look at for Statements", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A deeper look at the art of {\tt for}-loop design.", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:EFl, author = "Anonymous", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:ICS, author = "Anonymous", title = "An {Iostream}-Compatible Socket Wrapper", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:LTC, author = "Anonymous", title = "A Look at Two {C\#} Books", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:NPl, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:SSW, author = "Anonymous", title = "With suitable scaffolding, writing to a socket is as easy as {{\tt cout << "Hello, world"}}", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2001:WMl, author = "Anonymous", title = "We Have Mail", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Becker:2001:SGPe, author = "Thomas Becker", title = "{STL} \& Generic Programming: Traits Classes", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Traits classes are a mainstay of the Standard C++ library. Here's an opportunity to understand them in depth.", acknowledgement = ack-nhfb, } @Article{Cirillo:2001:BRC, author = "William Cirillo", title = "Book Review: {{\em C/C++ Contributing Editors}}", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Books on C\# are accumulating apace. You might look here before you buy.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2001:CKC, author = "Steve Dewhurst", title = "Common Knowledge: Conventional Generic Algorithms", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Steve explains in eye-opening depth how it is that STL algorithms and iterators are so well-behaved and extensible. It's all about convention.", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2001:PMDe, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Trust Me", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Whom do you trust (apologies to Johnny Carson)? Bill Gates? Groucho Marx? English language ``experts''? One thing is certain: you can trust Stan to get you thinking about most anything, including matters of trust.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:DSS, author = "Scott Meyers", title = "Distinguishing {STL} Search Algorithms", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "More cogent Meyers' counsel on using STL effectively --- this time on how to best find what you're looking for.", acknowledgement = ack-nhfb, } @Article{Meyers:2001:NCV, author = "Randy Meyers", title = "The New {C}: Variable Length Arrays, Part 2", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Unlike C or C++, C99 lets you define the bounds of multidimensional arrays at run time, much to scientific programmers' delight.", acknowledgement = ack-nhfb, } @Article{Pee:2001:GWS, author = "James Pee", title = "Guidelines for Wrapping Sockets in Classes", journal = j-CCCUJ, volume = "19", number = "12", pages = "??--??", month = dec, year = "2001", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:34 MDT 2002", bibsource = "http://www.cuj.com/articles/2001/0112/0112toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Programming sockets has always tested one's attention to detail. Wrap stuff in a class and voil{\`a} --- Cake City.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:EFa, author = "Anonymous", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:EPP, author = "Anonymous", title = "Extending {Pocket PC} Apps Written in {C} with {VB}", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPa, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Austern:2002:SLN, author = "Matt Austern", title = "The {Standard Librarian}: {And} Now for Something Completely Different", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "C++0x is imminent. Here's a glance at what's happening and a suggestion on how you can contribute.", acknowledgement = ack-nhfb, } @Article{Georgescu:2002:CGT, author = "Cristian Georgescu", title = "Code Generation Templates Using {XML} and {XSL}", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "XML is indisputably the long-awaited lingua franca for defining and transmitting structured data. With a little help from XSL, it can also generate C++ code for you.", acknowledgement = ack-nhfb, } @Article{Meyers:2002:VLA, author = "Randy Meyers", title = "Variable Length Arrays, Part 3: Pointers and Parameters", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Randy shows that pointers to VLAs are as convenient as pointers to normal arrays. The question is: how many programmers understand pointers to arrays in the first place? Look here to see if you're one of them.", acknowledgement = ack-nhfb, } @Article{Rogers:2002:EVM, author = "Joey Rogers", title = "Encapsulating Virtual Memory in {Windows}", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "This class gives you convenient, direct control over memory-mapped files in Win32.", acknowledgement = ack-nhfb, } @Article{Schmidt:2002:UER, author = "Bobby Schmidt", title = "Uncaught Exceptions: Retreat", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Have you ever wondered why no one ever tells Language Lawyer jokes? It may be because we need them so badly. The mighty Barrister shows his stuff again this month.", acknowledgement = ack-nhfb, } @Article{Seward:2002:SCC, author = "Robert Y. Seward", title = "A Stream Class for Calling Perl from {C++}", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Mixing Perl and C++ just got a whole lot easier.", acknowledgement = ack-nhfb, } @Article{Sutter:2002:SMT, author = "Herb Sutter", title = "{Sutter's Mill}: Toward a {Standard C++0x} Library, Part 1", journal = j-CCCUJ, volume = "20", number = "1", pages = "??--??", month = jan, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0201/0201toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Have you hugged your C++ vendor lately? You'll agree that they certainly deserve it as Herb takes us through the sticky wicket of versioning Standard C++.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:EFb, author = "Anonymous", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPb, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Becker:2002:SGPa, author = "Thomas Becker", title = "{STL} \& Generic Programming: Policy-Driven Design", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you had to struggle a bit on your first pass through Alexandrescu's {\em Modern C++ Design}, let this gem serve as a gentler introduction to policy-based design in C++.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2002:CKO, author = "Steve Dewhurst", title = "Common Knowledge: Output Iterator Adapters", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Once again, uncommonly cogent wisdom --- this time about output iterators, suitable for use by trolls and other serious programmers.", acknowledgement = ack-nhfb, } @Article{Gatliff:2002:IIS, author = "Bill Gatliff", title = "Implementing Interrupt Service Routines in {C++}", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Handling interrupts isn't a job for only C or assembly language programmers. C++ can do the job with elegance and efficiency.", acknowledgement = ack-nhfb, } @Article{Harmon:2002:PP, author = "Trevor Harmon", title = "Probing the Palm {OS}", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You can develop Palm applications in most any host language. Here's how to do so in C.", acknowledgement = ack-nhfb, } @Article{Koenig:2002:CMEa, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Naming Unknown Types", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Sometimes you can finesse your way around hard problems with programming conventions. STL does. Why don't you try it?", acknowledgement = ack-nhfb, } @Article{Sutter:2002:ETI, author = "Herb Sutter", title = "Extensible Templates: Via Inheritance or Traits?", journal = j-CCCUJ, volume = "20", number = "2", pages = "??--??", month = feb, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:35 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0202/0202toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Traits classes have become de rigueur in C++ template programming. Read this to find out why.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:CAN, author = "Anonymous", title = "{C++} Algorithms: {\tt next\_permutation}", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "On the elegance of {\tt next\_permutation}, which might even help you with your homework, by the way.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:EFc, author = "Anonymous", title = "{Editor}'s Forum", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPc, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:WG, author = "Anonymous", title = "Widgets in Gtk+", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Austern:2002:SLC, author = "Matt Austern", title = "The {Standard Librarian}: Complex Numbers", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Hubbard:2002:BCR, author = "John F. Hubbard", title = "Binary Code Reuse in a {Linux} Environment", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Traditional Unix-like filters meet C++ in these useful classes for launching and controlling processes in Linux.", acknowledgement = ack-nhfb, } @Article{Meyers:2002:NCV, author = "Randy Meyers", title = "The New {C}: {VLAs}, {Part 4}: {VLA} {\tt typedef}s and Flexible Array Members", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The Rest of the Story on variable-length arrays in C99. Yes, they're well-behaved and very flexible, but use them with caution.", acknowledgement = ack-nhfb, } @Article{Mott:2002:WKA, author = "Jason Mott", title = "Writing {KDE} Applications", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The Linux desktop is maturing on schedule. Here's a look at developing event-driven GUI apps in KDE.", acknowledgement = ack-nhfb, } @Article{Pyritz:2002:TEL, author = "Bill Pyritz", title = "A Technique for Efficient Logging and Monitoring of Real-Time Systems", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "An ingenious approach to tracing execution using ideas from Aspect-Oriented Programming that leaves your code as clean as can be.", acknowledgement = ack-nhfb, } @Article{Schmidt:2002:UESa, author = "Bobby Schmidt", title = "Uncaught Exceptions: Space-Time Discontinuum", journal = j-CCCUJ, volume = "20", number = "3", pages = "??--??", month = mar, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0203/0203toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "``Namelessspace?'' How about Lost in Space? You decide, Gentle Reader.", acknowledgement = ack-nhfb, } @Article{Allison:2002:EFGa, author = "Chuck Allison", title = "{Editor}'s Forum: Good Stuff", journal = j-CCCUJ, volume = "20", number = "4", pages = "6--6", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Vlasceanu:2002:DME, author = "Cristian Vlasceanu", title = "Debugging Memory Errors with Custom Allocators", journal = j-CCCUJ, volume = "20", number = "4", pages = "6--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Allocators may be weird, but it's a Good Weird. With a little help from your operating system, they can even find memory access errors.", acknowledgement = ack-nhfb, } @Article{Nies:2002:TEE, author = "Richard Nies", title = "Tracing Exceptions with an Exception Stack", journal = j-CCCUJ, volume = "20", number = "4", pages = "14--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Ever wonder what happened to that lost exception? Traceable exceptions to the rescue!", acknowledgement = ack-nhfb, } @Article{Leman:2002:EFT, author = "Dmitri Leman", title = "An Efficient and Flexible Tracing Technique", journal = j-CCCUJ, volume = "20", number = "4", pages = "24--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "This extensible tracing framework tames the dreaded multithreaded debugging demon.", acknowledgement = ack-nhfb, } @Article{Karlsson:2002:SPB, author = "Bjorn Karlsson", title = "Smart Pointers in {Boost}", journal = j-CCCUJ, volume = "20", number = "4", pages = "34--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Welcome to Boost, the peerless community of {C++} innovators. If you can't find what you need in the Standard C++ library, chances are Boost has it production-ready.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:MCD, author = "Herb Sutter", title = "Book Review: {{\em Modern C++ Design}}", journal = j-CCCUJ, volume = "20", number = "4", pages = "41--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "An informative review of a revolutionary book.", acknowledgement = ack-nhfb, } @Article{Becker:2002:SGPb, author = "Thomas Becker", title = "{STL} \& Generic Programming: {STL} Algorithms", journal = j-CCCUJ, volume = "20", number = "4", pages = "44--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Wait! Don't write that algorithm! Someone already did. But if you insist, follow this advice.", acknowledgement = ack-nhfb, } @Article{Koenig:2002:CMEb, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Plain Old Data", journal = j-CCCUJ, volume = "20", number = "4", pages = "50--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Refresh your memory on why traditional techniques for processing plain old data don't apply to objects.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2002:CKM, author = "Steve Dewhurst", title = "Common Knowledge: Metaprogrammed Adapters", journal = j-CCCUJ, volume = "20", number = "4", pages = "56--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A little template metaprogramming goes a very long way. This time it lets you treat multiple sequences as a single, logical sequence. Cool.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPd, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "4", pages = "65--??", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kelly-Bootle:2002:PMD, author = "Stan Kelly-Bootle", title = "Post-Mortem Debunker: Spurious Precision", journal = j-CCCUJ, volume = "20", number = "4", pages = "72--72", month = apr, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0204/0204toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Caveat Reador: You may question your understanding of numbers after you read this.", acknowledgement = ack-nhfb, } @Article{Allison:2002:EFP, author = "Chuck Allison", title = "{Editor}'s Forum: Is Portability Still Important?", journal = j-CCCUJ, volume = "20", number = "5", pages = "4--4", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kempf:2002:BTL, author = "Bill Kempf", title = "The {Boost.Threads} Library", journal = j-CCCUJ, volume = "20", number = "5", pages = "6--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Standard C++ threads are imminent. CUJ predicts they will derive from the Boost.Threads library, explored here by the eminent author.", acknowledgement = ack-nhfb, } @Article{Chaudhry:2002:PTS, author = "Puneesh Chaudhry", title = "A Per-Thread Singleton Class", journal = j-CCCUJ, volume = "20", number = "5", pages = "14--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A refreshing look at an old pattern.", acknowledgement = ack-nhfb, } @Article{Tennberg:2002:RGO, author = "Patrick Tennberg", title = "Refactoring Global Objects in Multithreaded Applications", journal = j-CCCUJ, volume = "20", number = "5", pages = "20--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Although you may get fired for introducing any new global variables, it's too much work to rewrite old code to remove them. So make them thread-safe and stop worrying.", acknowledgement = ack-nhfb, } @Article{Abramson:2002:CCT, author = "Tomer Abramson", title = "{C/C++} Tips: Tip \#8: Performing Multiple Read\slash Write Locks", journal = j-CCCUJ, volume = "20", number = "5", pages = "25--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "How to make multiple locks an atomic operation in Win32.", acknowledgement = ack-nhfb, } @Article{Pinto:2002:PGC, author = "Paulo Pinto", title = "Programming in {GNOME} with {C++}", journal = j-CCCUJ, volume = "20", number = "5", pages = "28--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A C++ binding for GNOME makes Linux GUIs easy work.", acknowledgement = ack-nhfb, } @Article{Sutter:2002:MHS, author = "Herb Sutter", title = "{Sutter's Mill}: The migrating habits of the {Standard C++} library: a work in progress", journal = j-CCCUJ, volume = "20", number = "5", pages = "42--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Schmidt:2002:UED, author = "Bobby Schmidt", title = "Uncaught Exceptions: Don't Read This Title!", journal = j-CCCUJ, volume = "20", number = "5", pages = "50--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Don't read this blurb! Read this column instead. It's about lifetime, exceptions, and other anomalies. Incredilorious!", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPe, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "5", pages = "58--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Meyers:2002:NCB, author = "Randy Meyers", title = "The New {C}: {\tt bool}, Advice to {C} and {C++} Programmers", journal = j-CCCUJ, volume = "20", number = "5", pages = "--??", month = may, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:36 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0205/0205toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "True or False: The type {\tt bool} behaves identically in {C99} and {C++}. True or False: Your C89 {\tt bool} hackery will survive unscathed under C99. Read and find out.", acknowledgement = ack-nhfb, } @Article{Allison:2002:EFGb, author = "Chuck Allison", title = "{Editor}'s Forum: Gear-Head Humor and Other Important Items", journal = j-CCCUJ, volume = "20", number = "6", pages = "4--4", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", note = "Stan Kelly-Bootle announces his retirement from C/C++ Users Journal column writing.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:MSS, author = "Moishe Halibard and Moshe Rubin", title = "A Multiple Substring Search Algorithm", journal = j-CCCUJ, volume = "20", number = "6", pages = "6--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You will surely find this generalization of {\tt find\_first\_of} for multiple substrings both elegant and useful. What's more, it's very efficient.", acknowledgement = ack-nhfb, } @Article{Andrews:2002:KCD, author = "Larry Andrews", title = "Keyword Correction from a Dictionary", journal = j-CCCUJ, volume = "20", number = "6", pages = "14--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Have your computer understand what you mean, not just what you say, with this effective string matching algorithm.", acknowledgement = ack-nhfb, } @Article{Bucci:2002:UGA, author = "Mark Bucci", title = "Using Genetic Algorithms", journal = j-CCCUJ, volume = "20", number = "6", pages = "20--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A lucid primer on genetic algorithms, along with a handy template to get you started.", acknowledgement = ack-nhfb, } @Article{Collison:2002:RGC, author = "Michael Collison", title = "Retargeting the {GNU C} Compiler", journal = j-CCCUJ, volume = "20", number = "6", pages = "30, 32--36", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "An inside look on how to deploy the GNU C compiler to your platform of choice.", acknowledgement = ack-nhfb, } @Article{Becker:2002:SGPc, author = "Thomas Becker", title = "{STL} \& Generic Programming: {STL} Function Objects and Their Adaptors", journal = j-CCCUJ, volume = "20", number = "6", pages = "37--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "STL is more than just algorithms, containers, and iterators. Function objects and adaptors greatly enhance your ability to use STL effectively.", acknowledgement = ack-nhfb, } @Article{Koenig:2002:CMEc, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Avoiding Array Overruns", journal = j-CCCUJ, volume = "20", number = "6", pages = "44--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The abstractions in the Standard C++ library keep you from trashing memory and committing related transgressions (admit it --- you're guilty!), and they make for more elegant code. Use them.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2002:CKR, author = "Steve Dewhurst", title = "Common Knowledge: Running Circles Round You, Logically", journal = j-CCCUJ, volume = "20", number = "6", pages = "51--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Remember that old bitwise trick to swap two integers without a temporary? (Of course you do --- it's Common Knowledge). With a little imagination you can use that technique to craft iterators that don't know which way to go.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPf, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "6", pages = "58--??", month = jun, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue May 14 18:09:37 MDT 2002", bibsource = "http://www.cuj.com/articles/2002/0206/0206toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Allison:2002:EFBa, author = "Chuck Allison", title = "{Editor}'s Forum: Brother, Where Art Thou?", journal = j-CCCUJ, volume = "20", number = "7", pages = "4--4", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Bergin:2002:IMC, author = "Thomas Bergin", title = "Identifying and Managing Cyclic Physical Dependencies", journal = j-CCCUJ, volume = "20", number = "7", pages = "6, 8--10, 12--14", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "If you're not careful, a complex project can set you spinning in circles. This tool can help set your project straight.", acknowledgement = ack-nhfb, } @Article{Trudell:2002:AWC, author = "Bill Trudell", title = "The {Application Watchman} Class", journal = j-CCCUJ, volume = "20", number = "7", pages = "16, 18--20, 22--24, 26--27", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A convenient First Line of Defense against memory misuse.", acknowledgement = ack-nhfb, } @Article{Stroustrup:2002:CCS, author = "Bjarne Stroustrup", title = "{C} and {C++}: Siblings", journal = j-CCCUJ, volume = "20", number = "7", pages = "28, 30, 32--36", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "We're at a crossroads for compatibility between C and C++. Can siblings go their separate ways and still remain on speaking terms? In this first of three parts, Bjarne provides context for the discussion.", acknowledgement = ack-nhfb, } @Article{Brand:2002:XGP, author = "Michael Brand and Ronnie Maor and Sasha Gontmakher", title = "{XParam} --- {A} General Purpose Serialization Framework for {C++}", journal = j-CCCUJ, volume = "20", number = "7", pages = "38, 40--42, 44--46", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "From command-line processing to object serialization --- this class does it all.", acknowledgement = ack-nhfb, } @Article{Meyers:2002:NCI, author = "Randy Meyers", title = "The New {C}: Inline Functions", journal = j-CCCUJ, volume = "20", number = "7", pages = "47--51", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "As if C weren't fast enough already, C99 supports inline functions. Faster code, anyone?", acknowledgement = ack-nhfb, } @Article{Schmidt:2002:UESb, author = "Bobby Schmidt", title = "Uncaught Exceptions: The Spiral Dance", journal = j-CCCUJ, volume = "20", number = "7", pages = "52, 54--56, 58", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "A New Hope: C++Ox is coming, and the Empire seems to be listening.", acknowledgement = ack-nhfb, } @Article{Sutter:2002:SMP, author = "Herb Sutter", title = "{Sutter's Mill}: {A} Pragmatic Look at Exception Specifications", journal = j-CCCUJ, volume = "20", number = "7", pages = "59--62, 64", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The C++ feature that wasn't.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPg, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "7", pages = "65--67", month = jul, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:35 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Allison:2002:EFN, author = "Chuck Allison", title = "{Editor}'s Forum: New Cheese", journal = j-CCCUJ, volume = "20", number = "8", pages = "4--4", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Ablavsky:2002:ABC, author = "Vitaly Ablavsky", title = "Applying {BGL} to Computational Geometry", journal = j-CCCUJ, volume = "20", number = "8", pages = "6, 8--12", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kempke:2002:ADB, author = "Christopher Kempke", title = "Adaptable Dialog Boxes for Cross-Platform Programming", journal = j-CCCUJ, volume = "20", number = "8", pages = "13--14, 16--18, 20--21", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Stroustrup:2002:CCCb, author = "Bjarne Stroustrup", title = "{C} and {C++}: {A} Case for Compatibility", journal = j-CCCUJ, volume = "20", number = "8", pages = "22, 24--28", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Morley:2002:UCT, author = "Kevin T. Morley", title = "Using Constructed Types in {C++} Unions", journal = j-CCCUJ, volume = "20", number = "8", pages = "29--31", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Koenig:2002:CMEd, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Handles and Exception Safety, Part 1: {A} Simple Handle Class", journal = j-CCCUJ, volume = "20", number = "8", pages = "32, 34--39", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Becker:2002:SGPd, author = "Thomas Becker", title = "{STL} \& Generic Programming: {C++} Template Programming", journal = j-CCCUJ, volume = "20", number = "8", pages = "40, 42--46", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Dewhurst:2002:BWTa, author = "Steve Dewhurst", title = "A Bit-Wise {{\tt Typeof}} operator, Part 1", journal = j-CCCUJ, volume = "20", number = "8", pages = "48, 50--52, 54", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPh, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "8", pages = "57--59", month = aug, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:33:17 2002", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Allison:2002:EFBb, author = "Chuck Allison", title = "{Editor}'s Forum: The Best of Both!", journal = j-CCCUJ, volume = "20", number = "9", pages = "4--4", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Lippman:2002:NME, author = "Stanley Lippman", title = "The {.NET} Managed Extensions to {C++}", journal = j-CCCUJ, volume = "20", number = "9", pages = "6, 8--11", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Pay attention to the Man Behind The Curtain --- he knows how to do C++ in .NET, and more importantly, why.", acknowledgement = ack-nhfb, } @Article{Smith:2002:IND, author = "J. Daniel Smith", title = "Inside {.NET}'s Delegates and Events Using {C++}", journal = j-CCCUJ, volume = "20", number = "9", pages = "12, 14, 16--18, 20--21", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "The best way to really understand delegates and events is to implement them yourself --- in plain old C++.", acknowledgement = ack-nhfb, } @Article{Stroustrup:2002:CCC, author = "Bjarne Stroustrup", title = "{C} and {C++}: Case Studies in Compatibility", journal = j-CCCUJ, volume = "20", number = "9", pages = "22, 24--28, 30--31", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Reconcilable differences? You decide.", acknowledgement = ack-nhfb, } @Article{Weihe:2002:TIS, author = "Karsten Weihe", title = "Towards Improved Static Safety: Expressing Meaning by Type", journal = j-CCCUJ, volume = "20", number = "9", pages = "32, 34--36, 38--40", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "With a little extra type discipline on your part, you can greatly increase the reliability of mixed-type computations.", acknowledgement = ack-nhfb, } @Article{Schmidt:2002:STN, author = "Bobby Schmidt", title = "Straight talk on the name and content of {Redmond}'s compilers and why {{\tt operator bool()}} is rarely the right choice", journal = j-CCCUJ, volume = "20", number = "9", pages = "42, 44--48", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Sutter:2002:SME, author = "Herb Sutter", title = "{Sutter's Mill} --- ``Export'' Restrictions, Part 1", journal = j-CCCUJ, volume = "20", number = "9", pages = "50, 52--55", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Support for the separation model of template compilation is finally emerging --- but it's not as ``separate'' as you might expect.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPi, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "9", pages = "57--59", month = sep, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:36 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Allison:2002:EFE, author = "Chuck Allison", title = "{Editor}'s Forum: {Euclid} Alone", journal = j-CCCUJ, volume = "20", number = "10", pages = "4--4", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Koss:2002:TDD, author = "Robert Koss and Jeff Langr", title = "Test Driven Development in {C\slash C++}", journal = j-CCCUJ, volume = "20", number = "10", pages = "6, 8, 10, 12--14, 16--17", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Automated testing for C: The simplest explanation that could possibly work.", acknowledgement = ack-nhfb, } @Article{Cummins:2002:DG, author = "Darin Cummins", title = "The Development Game", journal = j-CCCUJ, volume = "20", number = "10", pages = "18, 20--21", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "You already know how difficult it is to get a development team to change anything, let alone its process. Here's a simple approach that works.", acknowledgement = ack-nhfb, } @Article{Plauger:2002:CCP, author = "P. J. Plauger", title = "The {C\slash C++} Programming Language", journal = j-CCCUJ, volume = "20", number = "10", pages = "22, 24, 26--28", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "From the trenches of a seasoned developer: C/C++ compatibility in practice.", acknowledgement = ack-nhfb, } @Article{Brodski:2002:PW, author = "Matvei Brodski", title = "Policy Wrapper", journal = j-CCCUJ, volume = "20", number = "10", pages = "29--31", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "What do you get when you combine policies and wrappers? Yet another surprisingly brilliant, extensible mechanism for developing smart library components.", acknowledgement = ack-nhfb, } @Article{Caves:2002:UCS, author = "Jonathan Caves", title = "Using the {C++ Standard Library} with Managed Types", journal = j-CCCUJ, volume = "20", number = "10", pages = "34, 36", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Yes, you can use STL with Managed C++ garbage-collected types. Really.", acknowledgement = ack-nhfb, } @Article{Becker:2002:SGPe, author = "Thomas Becker", title = "{STL} \& Generic Programming: More on {C++} Metaprogramming", journal = j-CCCUJ, volume = "20", number = "10", pages = "38, 40--44", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Towards readable metaprograms: Literate Template Metaprogramming. (You heard it here first!)", acknowledgement = ack-nhfb, } @Article{Koenig:2002:CMEe, author = "Andrew Koenig and Barbara E. Moo", title = "{C++} Made Easier: Handles and Exception Safety, Part 2: Intrusive Reference Counting", journal = j-CCCUJ, volume = "20", number = "10", pages = "45--50", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "More on handle classes. This time you'll see how to optimize them.", acknowledgement = ack-nhfb, } @Article{Dewhurst:2002:BWTb, author = "Steve Dewhurst", title = "A Bit-Wise {{\tt Typeof}} operator, Part 2", journal = j-CCCUJ, volume = "20", number = "10", pages = "51--54", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", abstract = "Beyond the {Alexandrescu} Horizon: Part 2 of 3 on implementing a {\tt typeof} operator and why you may have to wait for compilers to catch up anyway.", acknowledgement = ack-nhfb, } @Article{Anonymous:2002:NPj, author = "Anonymous", title = "New Products", journal = j-CCCUJ, volume = "20", number = "10", pages = "57--59", month = oct, year = "2002", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Sep 10 07:07:37 MDT 2002", bibsource = "http://www.cuj.com/articles/0000/0000/0000toc.htm?topic=articles; http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, } @Article{Kuepper:2005:UFS, author = "Tilman Kuepper", title = "{Unicode} and Filtering Stream Buffers", journal = j-CCCUJ, volume = "23", number = "3", pages = "28, 30--33", month = mar, year = "2005", CODEN = "CCUJEX", ISSN = "1075-2838", bibdate = "Tue Feb 08 05:09:30 2005", bibsource = "http://www.math.utah.edu/pub/tex/bib/cccuj2000.bib", acknowledgement = ack-nhfb, }