{logo}

December 2000
Volume 18 Number 12

GRAPHICS

Removing Image Noise with Adaptive Filters

Dwayne Phillips
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.

Effective Contour Creation with OpenGL Texture Mapping

Wenfei Wu
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.

FEATURES

A Class Template for N-Dimensional Generic Resizable Arrays

Giovanni Bavestrelli
Need dynamic arrays that are efficient and intuitive? Try a little template recursion and specialization.

C/C++ TIPS

Tip #4: Self Destructing Threads

Mark Peterson
A way to make threads easier to manage.

C/C++ CONTRIBUTING EDITORS

Common Knowledge: Fungible Control Structures

Steve Dewhurst
Steve presents some effective but unorthodox methods for controlling flow of execution — including one that looks downright weird.

The Journeyman's Shop: Trap Handlers, Sticky Bits, and Floating-Point Comparisons

Pete Becker
Pete wraps up his series on practical floating-point math.

The New C: Integers in C99, Part 1

Randy Meyers
C has its roots in typeless languages, but it has come a long long way from its humble beginnings.

STL & Generic Programming: Introduction to the STL

Thomas Becker
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."

Uncaught Exceptions: No No .NET

Bobby Schmidt
Bobby does a little moonlighting at the VC++ help desk, and battles some phantom foos in his spare time.

DEPARTMENTS

Editor's 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:

The Standard Librarian: What are Allocators Good For?

Matt Austern
Most of us use STL allocators without knowing it; Matt explains when we might want to invoke them explicitly or write our own, and how to go about it.

Effective C++ Standard Library: Explicit Function Template Argument Specification and the STL

Klaus Kreft and Angelika Langer
A subtle problem with templates that could bite you if you're not careful.

Generic<Programming>: Change the Way You Write Exception-Safe Code — Forever

Andrei Alexandrescu and Petru Marginean
Here's a handy template that makes exception safety a whole lot easier to achieve.

Conversations: Virtually Yours

Jim Hyslop and Herb Sutter
Guideline: virtual functions should be made private if possible. Surprised? This article gives the rationale.