| 1304 | bool Value::isBool() const { return type_ == booleanValue; } |
| 1305 | |
| 1306 | bool Value::isInt() const { |
| 1307 | switch (type_) { |
| 1308 | case intValue: |
| 1309 | #if defined(JSON_HAS_INT64) |
| 1310 | return value_.int_ >= minInt && value_.int_ <= maxInt; |
| 1311 | #else |
| 1312 | return true; |
| 1313 | #endif |
| 1314 | case uintValue: |
| 1315 | return value_.uint_ <= UInt(maxInt); |
| 1316 | case realValue: |
| 1317 | return value_.real_ >= minInt && value_.real_ <= maxInt && |
| 1318 | IsIntegral(value_.real_); |
| 1319 | default: |
| 1320 | break; |
| 1321 | } |
| 1322 | return false; |
| 1323 | } |
| 1324 | |
| 1325 | bool Value::isUInt() const { |
| 1326 | switch (type_) { |