mirror of
https://github.com/boostorg/integer.git
synced 2025-07-29 20:27:14 +02:00
Tentative Borland/Codegear patch.
[SVN r58113]
This commit is contained in:
@ -126,6 +126,16 @@ namespace boost
|
|||||||
template< int Bits > // bits required
|
template< int Bits > // bits required
|
||||||
struct uint_t : public detail::exact_unsigned_base_helper<Bits>
|
struct uint_t : public detail::exact_unsigned_base_helper<Bits>
|
||||||
{
|
{
|
||||||
|
#if (defined(__BORLANDC__) || defined(__CODEGEAR__)) && defined(BOOST_NO_INTEGRAL_INT64_T)
|
||||||
|
// It's really not clear why this workaround should be needed... shrug I guess! JM
|
||||||
|
BOOST_STATIC_CONSTANT(int, s =
|
||||||
|
6 +
|
||||||
|
(Bits <= ::std::numeric_limits<unsigned long>::digits) +
|
||||||
|
(Bits <= ::std::numeric_limits<unsigned int>::digits) +
|
||||||
|
(Bits <= ::std::numeric_limits<unsigned short>::digits) +
|
||||||
|
(Bits <= ::std::numeric_limits<unsigned char>::digits));
|
||||||
|
typedef typename detail::int_least_helper< ::boost::uint_t<Bits>::s>::least least;
|
||||||
|
#else
|
||||||
typedef typename detail::int_least_helper
|
typedef typename detail::int_least_helper
|
||||||
<
|
<
|
||||||
5 +
|
5 +
|
||||||
@ -139,6 +149,7 @@ namespace boost
|
|||||||
(Bits <= ::std::numeric_limits<unsigned short>::digits) +
|
(Bits <= ::std::numeric_limits<unsigned short>::digits) +
|
||||||
(Bits <= ::std::numeric_limits<unsigned char>::digits)
|
(Bits <= ::std::numeric_limits<unsigned char>::digits)
|
||||||
>::least least;
|
>::least least;
|
||||||
|
#endif
|
||||||
typedef typename int_fast_t<least>::type fast;
|
typedef typename int_fast_t<least>::type fast;
|
||||||
// int_fast_t<> works correctly for unsigned too, in spite of the name.
|
// int_fast_t<> works correctly for unsigned too, in spite of the name.
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user