Introduction to the Boost C++ Libraries; Volume I - Foundations