![]()
December 2003
Volume 21 Number 12FEATURES
Static Packet Construction with C++ Templates
Martin Casado
Martin uses C++ templates for static packet construction, and shows how you can use this technique to write generic routines in support of low-level networking primitives.YAMI: A Simple ORB Library
Maciej Sobczak
YAMI (Yet Another Messaging Infrastructure) fills the gap between brute-force interobject communication and expansive middleware technologies. At YAMI's core is a communication model that consists of objects exchanging messages.Lambda Expressions & C++
Bjorn Karlsson
Lambda expressions, which are useful for reducing code size, are a common feature in functional programming languagesÑbut not C++. That's why Bjorn turns to the Boost Lambda Library.Computing the Hough Transform
Andrew Queisser
The Hough Transform is an algorithm for finding shapes in images or sets of data points. Andrew implements the Transform for line and circle detection.Efficient Variable Automatic Buffers
Matthew Wilson
In this article, Matthew presents auto_buffer Ña simple, platform-independent STLSoft template class that fulfills dynamically sized allocations from encapsulated arrays.COLUMNS
C++ Made Easier
Andrew Koenig and Barbara Moo
Like software systems, houses involve design, components, toolsÑand, of course, bugs. Which makes you wonder about what software developers can learn from home builders.Generic<Programming>
Andrei Alexandrescu and David B. Held
Andrei and Dave take a break from the Smart Pointers Reloaded miniseries and discuss how to analyze the exception safety of functions.The Embedded Angle
Miro Samek
Miro goes back to state-machine fundamentals and provides programming guidelines for coding state machines in C and C++.DEPARTMENTS
Editor's Forum
New Products
C++ EXPERTS ON THE WEB
Common Knowledge Unfinished Business
by Steve Dewhurst
In this last installment of Common Knowledge Steve looks at combining some template metaprogramming odds and ends to see if he can come up with a reasonable framework for ad hoc type manipulation. Along the way he considers the creative use of rocks in automotive maintenance, type translation to facilitate compile-time manipulation, un-instantiation of class templates, the STL allocator ÒrebindÓ mechanism, typelist meta-generic algorithms, meta-predicate adaptation, and the importance of having fun.Object Interconnections XML Reflection for CORBA
by Douglas C. Schmidt and Steve Vinoski
Douglas and Steve present an alternative approach to supporting reflection in CORBA in which each object is capable of returning its own reflection metadata, guaranteed to be accurate and up to date, to clients. They use XML as the metadata format to maximize its usefulness for non-CORBA applications, such as J2EE, .NET, and Web Services.CxC: C for Parallel Computing
by Martin Heller
Effective parallel computing has long been a holy grails of the computer science community. To that end, CxC is a C-based parallel programming language.