Add comment: int_fast_t works for unsigned too.

[SVN r9545]
This commit is contained in:
Beman Dawes
2001-03-12 14:01:34 +00:00
parent 873879d5ac
commit ea4963031a
2 changed files with 4 additions and 0 deletions

View File

@ -23,6 +23,7 @@ namespace boost
// Helper templates ------------------------------------------------------// // Helper templates ------------------------------------------------------//
// fast integers from least integers // fast integers from least integers
// int_fast_t<> works correctly for unsigned too, in spite of the name.
template< typename LeastInt > template< typename LeastInt >
struct int_fast_t { typedef LeastInt fast; }; // imps may specialize struct int_fast_t { typedef LeastInt fast; }; // imps may specialize
@ -70,6 +71,7 @@ namespace boost
(Bits <= std::numeric_limits<unsigned char>::digits) (Bits <= std::numeric_limits<unsigned char>::digits)
>::least least; >::least least;
typedef typename int_fast_t<least>::fast fast; typedef typename int_fast_t<least>::fast fast;
// int_fast_t<> works correctly for unsigned too, in spite of the name.
}; };
// The same dispatching technique can be used to select types based on // The same dispatching technique can be used to select types based on

View File

@ -34,6 +34,7 @@ appropriate to use the types supplied in <code><a href="../../boost/cstdint.hpp"
<pre>namespace boost <pre>namespace boost
{ {
// fast integers from least integers // fast integers from least integers
// int_fast_t&lt;&gt; works correctly for unsigned too, in spite of the name.
template&lt; typename LeastInt &gt; // Required: LeastInt is integral type, not bool template&lt; typename LeastInt &gt; // Required: LeastInt is integral type, not bool
struct int_fast_t { typedef LeastInt fast; }; // implementations may specialize struct int_fast_t { typedef LeastInt fast; }; // implementations may specialize
@ -51,6 +52,7 @@ appropriate to use the types supplied in <code><a href="../../boost/cstdint.hpp"
{ {
typedef <i>implementation-supplied</i> least; typedef <i>implementation-supplied</i> least;
typedef int_fast_t&lt;least&gt;::fast fast; typedef int_fast_t&lt;least&gt;::fast fast;
// int_fast_t&lt;&gt; works correctly for unsigned too, in spite of the name.
}; };
} // namespace boost } // namespace boost
</pre> </pre>