API Design for C++ - Martin Reddy (2011)