Boost C++ Libraries: Ticket #12504: Use types from <cinttypes> in boost::uint_t and boost::int_t https://svn.boost.org/trac10/ticket/12504 <p> I'd like to suggest that instead of using built-in types to implement <code>boost::uint_t</code> and <code>boost::int_t</code> that the explicitly sized types from &lt;cinttypes&gt; be used. </p> <p> Take for instance <a class="ext-link" href="https://github.com/boostorg/integer/blob/develop/include/boost/integer.hpp#L67"><span class="icon">​</span>this definition</a>: </p> <pre class="wiki">template&lt;&gt; struct int_least_helper&lt;4&gt; { typedef short least; }; </pre><p> Is there any reason not to replace <code>short</code> with <code>std::int16_t</code> in this line? </p> <p> My (entirely selfish) reason to suggesting this is that I've hit <a class="ext-link" href="https://travis-ci.org/johnmcfarlane/fixed_point/builds/165888344"><span class="icon">​</span>an odd case</a> in code I am writing in which <code>boost::uint_t&lt;64&gt;::fast</code> is a different type to <code>std::uint64_t</code>. It would appear that <code>std::uint64_t</code> is defined as <code>unsigned long long</code> under XCode 7 but <code>unsigned long</code> under XCode 6. I fear that weirdness like this is inevitable given the many combinations of widths which built-in integer types can assume. But using the known-width types provided by &lt;cinttypes&gt; would seem like a more reliable way to proceed. </p> <p> Many thanks, John <a class="missing wiki">McFarlane</a> </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12504 Trac 1.4.3