id: 5a01616c-21d6-49e9-8b86-c53645605a71 url: http://www.ddj.com/cpp/184403746