I would like to thank Dan Tallis and the editorial teams at The C++ Source and Overload for their help with this article.