![]()
July 2001
Volume 19 Number 7SOFTWARE TOOLS
A Toolbox of String Classes
John Panzer
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.An STL Error Message Decryptor for Visual C++
Leor Zolman
Believe it or not, theres helpful information buried in those template error messages. It just takes a little Perl to dig it out.A Random Access Compressed File Layer
Kyle York
Providing efficient random access to compressed data is a tall order. Here is a library that does just that, and its patterned after POSIX file I/O.FEATURES
The C# Delegate
Stanley B. Lippman
If youre comparing C# to other C-family languages, heres an unusual feature that has no real equivalent in C++ or Java.C/C++ TIPS
Tip #7: A remove_if for vector<T *>
Harald Nowak
Containers of pointers are common, but cumbersome to deal with. Heres a little-used algorithm in the Standard C++ library that makes things a little less awkward.C/C++ CONTRIBUTING EDITORS
The Standard Librarian: File-Based Containers
Matt Austern
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.Sutters Mill: Why Not Specialize Function Templates?
Herb Sutter
Specializing function templates is not intuitive. Herb tells you when and why not to specialize templates.DEPARTMENTS
Editors Forum
New Products
We Have Mail
C++ Experts on the Web
In this new, web-only component of CUJ, we continue publication of the columns that were popular in the former C++ Report magazine. The following articles are featured on the CUJ website this month:
Object Interconnections: CORBA and XML, Part 2 XML as CORBA Data
by Douglas C. Schmidt and Steve Vinoski
XML's ability to provide structured, yet flexible, description and definition of data meshs well with CORBA's. This month, the authors continue their exploration of the relationship between CORBA and XML.Conversations: How to Persist and Object
by Jim Hyslop and Herb Sutter
In this article, our narrator learns that object persistence can be easily implemented, especially when its hooked up to the factory method template.The (B)Leading Edge: Using IOStreams Creating a Whole New Stream Class
by Jack W. Reeves
This month, Jack provides a C++ mechanism to encode/decode data using the eXternal Data Representation protocol.