Source: http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1816.pdf