Ticket #4304: uint.diff

File uint.diff, 1.3 KB (added by Andrey Semashev, 12 years ago)

The patch solves the compilation problem.

  • boost/spirit/home/karma/numeric/uint.hpp

     
    1212
    1313#include <limits>
    1414#include <boost/config.hpp>
     15#include <boost/mpl/not.hpp>
     16#include <boost/mpl/bool.hpp>
    1517
    1618#include <boost/spirit/home/support/common_terminals.hpp>
    1719#include <boost/spirit/home/support/string_traits.hpp>
     
    236238            Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
    237239            not_supported_radix, ());
    238240
    239         BOOST_SPIRIT_ASSERT_MSG(!std::numeric_limits<T>::is_signed,
     241        BOOST_SPIRIT_ASSERT_MSG(
     242            mpl::not_< mpl::bool_< std::numeric_limits<T>::is_signed > >::value,
    240243            signed_unsigned_mismatch, ());
    241244
    242245        // int has a Attribute attached
     
    299302            Radix == 2 || Radix == 8 || Radix == 10 || Radix == 16,
    300303            not_supported_radix, ());
    301304
    302         BOOST_SPIRIT_ASSERT_MSG(!std::numeric_limits<T>::is_signed,
     305        BOOST_SPIRIT_ASSERT_MSG(
     306            mpl::not_< mpl::bool_< std::numeric_limits<T>::is_signed > >::value,
    303307            signed_unsigned_mismatch, ());
    304308
    305309        // A uint(1U) which additionally has an associated attribute emits