The C++ Standard Library, 2nd Edition: A Tutorial and Reference