My publications
C++ 2.0 - Second edition of the C++ standard (polish text)
published in Software Developer's Journal, April 2006 No. 4 (136)
This article presents the list of features that are most likely to be included in the forthcoming revision of the C++ language standard.
IOStreams Storage
published in the C/C++ Users Journal, January 2006 Vol 24, No. 1
This article describes the internal mechanisms of the IOStreams storage
and shows the reusable component that encapsulates the storage access.
This component can significantly help with development of user-defined
state-based stream manipulators.
The source code accompanying the article can be downloaded either from
the CUJ's web page or from here: streamstate.tar.gz.
C++/Tk - A Different View on GUI (polish text)
published in Software Developer's Journal, October 2005 No. 10 (130) and in Programmation sous Linux, November/December 2005 No. 1(1)
This article presents the C++/Tk library, which is a complete C++
interface to the popular Tk GUI toolkit known from popular scripting
languages.
The library uses advanced C++ programming techniques to provide syntax
that is similar to that of Tcl/Tk. The article describes basic design
decisions and the general concepts of this library.
The C++/Tk library is hosted at http://cpptk.sourceforge.net/.
The Efficiency of Using Functors with the C++ Standard Template Library (polish text)
I.Szczesniak, M.Sobczak, presented at the Polish Linux Users Group Conference 2005, Krynica, Poland, April 2005
This article shortly introduces the functor concept and presents
performance problems related to the copying of functors with selected
STL algorithms. The article also describes an example generic solution
to these performance problems.
The article (polish version) is available on-line as well as from the home page of Irek Szczesniak.
A Simple Oracle Call Interface
published in Dr. Dobb's Journal, December 2004 Vol. 29, No. 12
This article describes the design and implementation of the SOCI
library.
The library relies on advanced C++ programming techniques to provide
the illusion of embedding SQL statements in regular C++ code, but uses
only standard C++ features.
The SOCI project is now hosted at http://soci.sourceforge.net/.
STL Sequences & the View Concept
published in the C/C++ Users Journal, April 2004 Vol. 22, No. 4
This article presents the view concept and its implementation that is
compatible with STL.
One of the most spectacular uses of the view component is reordering
(for example sorting) of sequences without actually moving or copying
the objects.
You can download the source code for this article either from the CUJ's
web page or from here: view.zip.
YAMI: A Simple ORB Library
published in the C/C++ Users Journal, December 2003 Vol. 21, No. 12
This article presents the YAMI project, which is
my free software project aimed at providing lightweight and portable
infrastructure for object-based communication.
The source code examples described in the article are the same as the
examples in the YAMI documentation.
Java-like Messaging System for C++ Classes
published on-line in the C/C++ Users Journal, May 2003.
See http://www.cuj.com/documents/s=8262/cujweb0307sobczak/
This article presents the publisher-subscriber idiom used for event
handling in Java Swing and shows the generic and flexible
implementation of this idiom in C++.
The intent is to present the basic principles of flexible design and
the idea of orthogonality of features in software.
You can download the source code for this article either from the CUJ's
web page or just by clicking here: messaging.zip (this file is always up to date).
An Iostream-Compatible Socket Wrapper
published in the C/C++ Users Journal, December 2001 Vol. 19, No. 12
This article presents a couple of classes that allow to use network
sockets in a way compatible with the rest of the standard Iostream
library.
The most important profits are the possibility of reusing existing
Iostream-based code and the simplicity of writing new, network-aware
applications.
You can download the source code for this article either from the CUJ's
web page or just by clicking here: sockets.zip.
In case of any bugs that would unfortunately sneak into the source code, I encourage you to use the file from my own page, because it's always up to date.