PapersAs one might guess by looking at the size of s11n's documentation and it's web site, i like to write. i admit it: i'm one of those rare programmers who gets a signicant amount of joy out of writing documentation (gasp!). This page hosts several papers i have written during the development of the libraries available on this site. These papers are not specifically geared towards this project, but cover topics which are generally applicable to many 21st-century C++ projects. Library-specific manuals and API documentation can be found on the downloads page. This all really goes without saying, but i'll say it anyway:
Any and all constructive feedback on these papers is
very happily received.
Blatantly derogatory mails (i.e., "flames mails")
are not.
Useful feedback will be published in future, updated revisions of these papers, of
course with full credit going to those who provide suggestions.
Also, please send a mail
if you would like to be notified of updated or new papers.
If you happen to re-distribute any of these papers, or get any use whatsoever out of them, i would be absolutely flattered if you would tell me so. (While i have only heard from a couple of people, the web logs for 14 June - 17 August, 2004 record more than 400(!!!) downloads for these papers (not including googlebots), so i'm assuming that someone is reading them! If you want your feedback in any updated versions, let me know what you think about them!) Fair warnings to potential readers:
Context SingletonsDoc last updated: 14 June 2004This is a paper discussing the use of what i call Context Singletons, written during the development of class_loader 0.5.0. It also develops a non-intrusive, light-weight Phoenix Singleton class. Download: pdf html "Context Singleton" is a bit of a misnomer: this paper probably should have been called "Context Monostates", or something similar. The latest source code for the phoenix class developed in this paper is available on the downloads page, and it is worth noting that phoenix is used extensively in the s11n tree. More information about using phoenix can be found here. Context TypesDoc last updated: 14 June 2004Like the Context Singletons paper, this one discusses the idea of using types as contexts in C++. It is a gentler introduction to the topic as given in the Context Singletons paper, and is more generic. Download: pdf html SupermacrosDoc last updated: 22 August 2004"Supermacros" are a technique the s11n project uses to get at the code generation possibilities implied by traditional C++ macros, while eliminating some of their more notorious problems. This short paper gives an overview of what they are, how they can be used, and their advantages (and one tiny disadvantage) over classic macros. Download: pdf html Lexical castingDoc last updated: 14 Aug 2005This paper covers the topic of "lexical casting." That is, the conversion of non-string data to and from strings. Loosely-typed languages (e.g., Perl and PHP) inherently support this, but strongly-typed languages (e.g., C++) do not have such a feature built-in. This paper develops a class which generically adds this capability to C++ software. The source code for the lex_t class developed in this paper can be found on the downloads page. Download: pdf html Classloading in C++: bringing it into the 21st centuryDoc last updated: 3 Jan 2005This paper addresses the topic of classloading in C++, and presents a generic back-end for adding such support to arbitrary classes and applications. It is modelled after the code in the class_loader library, but is a more generic treatment of the topic. Download: pdf html Generic Cleanup in C++Doc last updated: 14 Aug 2005This paper develops an alternate approach to smart pointers for guaranteeing proper cleanup of unmanaged pointers in the face of errors. This approach is used in libs11n 1.1.3+ to provide leak-safety guarantees which it otherwise could not make. Download: pdf html Download the source code, including Makefile, test program, and doxygen file for generating API docs. |
[home] | This site is developed in conjunction with: toc, SpiderApe, & wanderinghorse.net. | [top] |