%%% -*-BibTeX-*-
%%% ====================================================================
%%%  BibTeX-file{
%%%     author          = "Nelson H. F. Beebe",
%%%     version         = "1.06",
%%%     date            = "13 December 2012",
%%%     time            = "12:26:23 MST",
%%%     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        = "57972 7121 26497 241748",
%%%     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.06, 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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  abstract =     "All good things must come to an end.",
  annote =       "P. J. Plauger announces his retirement from C/C++
                 Users Journal column writing.",
  acknowledgement = ack-nhfb,
}

@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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  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",
  acknowledgement = ack-nhfb,
}

@Article{Kuepper:2005:UFS,
  author =       "Tilman Kuepper",
  title =        "{Unicode} and Filtering Stream Buffers",
  journal =      j-CCCUJ,
  year =         "2005",
  CODEN =        "CCUJEX",
  ISSN =         "1075-2838",
  volume =       "23",
  number =       "3",
  pages =        "28, 30--33",
  month =        mar,
  acknowledgement = ack-nhfb,
  bibdate =      "Tue Feb 08 05:09:30 2005",
}
