v2.0a18: tested with gcc47, gcc48, clang++-3.4, and visual studio.net 2013