The abysmal support in the C and C++ standard libraries for string handling has driven many programmers to other languages like Perl and Python. Boost aims to reverse that trend. Libraries such as Boost.Lexical_cast, Boost.String_algo, Boost.Regex, Boost.Xpressive, and Boost.Spirit are invaluable tools for slicing and dicing strings. If your task is as simple as turning an integer into a string, or as complicated as developing a parser generator for a new scripting language, Boost has a library that can help. In addition to covering all the afore mentioned libraries from a user’s perspective, we’ll also look at how Boost can be used to get more out of the standard IOstreams, and discover some hidden gems in Boost for dealing with Unicode.
Eric is an independent software consultant currently working with Dave Abrahams and Boost Consulting. He is a former employee of Microsoft Research and Visual C++, and his writings about C++ have been published in the C/C++ User’s Journal and MSDN Magazine. When he’s not writing C++ for money, Eric has been known to write C++ for fun.