| 1375 | } |
| 1376 | |
| 1377 | bool Value::isUInt() const { |
| 1378 | switch (type_) { |
| 1379 | case intValue: |
| 1380 | #if defined(JSON_HAS_INT64) |
| 1381 | return value_.int_ >= 0 && LargestUInt(value_.int_) <= LargestUInt(maxUInt); |
| 1382 | #else |
| 1383 | return value_.int_ >= 0; |
| 1384 | #endif |
| 1385 | case uintValue: |
| 1386 | #if defined(JSON_HAS_INT64) |
| 1387 | return value_.uint_ <= maxUInt; |
| 1388 | #else |
| 1389 | return true; |
| 1390 | #endif |
| 1391 | case realValue: |
| 1392 | return value_.real_ >= 0 && value_.real_ <= maxUInt && |
| 1393 | IsIntegral(value_.real_); |
| 1394 | default: |
| 1395 | break; |
| 1396 | } |
| 1397 | return false; |
| 1398 | } |
| 1399 | |
| 1400 | bool Value::isInt64() const { |
| 1401 | #if defined(JSON_HAS_INT64) |