| 3707 | } |
| 3708 | |
| 3709 | bool Value::isUInt() const { |
| 3710 | switch (type()) { |
| 3711 | case intValue: |
| 3712 | #if defined(JSON_HAS_INT64) |
| 3713 | return value_.int_ >= 0 && LargestUInt(value_.int_) <= LargestUInt(maxUInt); |
| 3714 | #else |
| 3715 | return value_.int_ >= 0; |
| 3716 | #endif |
| 3717 | case uintValue: |
| 3718 | #if defined(JSON_HAS_INT64) |
| 3719 | return value_.uint_ <= maxUInt; |
| 3720 | #else |
| 3721 | return true; |
| 3722 | #endif |
| 3723 | case realValue: |
| 3724 | return value_.real_ >= 0 && value_.real_ <= maxUInt && |
| 3725 | IsIntegral(value_.real_); |
| 3726 | default: |
| 3727 | break; |
| 3728 | } |
| 3729 | return false; |
| 3730 | } |
| 3731 | |
| 3732 | bool Value::isInt64() const { |
| 3733 | #if defined(JSON_HAS_INT64) |