| 3688 | bool Value::isBool() const { return type() == booleanValue; } |
| 3689 | |
| 3690 | bool Value::isInt() const { |
| 3691 | switch (type()) { |
| 3692 | case intValue: |
| 3693 | #if defined(JSON_HAS_INT64) |
| 3694 | return value_.int_ >= minInt && value_.int_ <= maxInt; |
| 3695 | #else |
| 3696 | return true; |
| 3697 | #endif |
| 3698 | case uintValue: |
| 3699 | return value_.uint_ <= UInt(maxInt); |
| 3700 | case realValue: |
| 3701 | return value_.real_ >= minInt && value_.real_ <= maxInt && |
| 3702 | IsIntegral(value_.real_); |
| 3703 | default: |
| 3704 | break; |
| 3705 | } |
| 3706 | return false; |
| 3707 | } |
| 3708 | |
| 3709 | bool Value::isUInt() const { |
| 3710 | switch (type()) { |