2020-08-12 19:41:59 +08:00
|
|
|
# basic_json::value_t
|
|
|
|
|
|
|
|
```cpp
|
|
|
|
enum class value_t : std::uint8_t {
|
|
|
|
null,
|
|
|
|
object,
|
|
|
|
array,
|
|
|
|
string,
|
|
|
|
boolean,
|
|
|
|
number_integer,
|
|
|
|
number_unsigned,
|
|
|
|
number_float,
|
|
|
|
binary,
|
|
|
|
discarded
|
|
|
|
};
|
|
|
|
```
|
|
|
|
|
2020-08-12 20:29:25 +08:00
|
|
|
This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the
|
|
|
|
functions [`is_null`](is_null.md), [`is_object`](is_object.md), [`is_array`](is_array.md), [`is_string`](is_string.md),
|
|
|
|
[`is_boolean`](is_boolean.md), [`is_number`](is_number.md) (with [`is_number_integer`](is_number_integer.md),
|
2020-08-12 19:41:59 +08:00
|
|
|
[`is_number_unsigned`](is_number_unsigned.md), and [`is_number_float`](is_number_float.md)),
|
|
|
|
[`is_discarded`](is_discarded.md), [`is_binary`](is_binary.md), [`is_primitive`](is_primitive.md), and
|
|
|
|
[`is_structured`](is_structured.md) rely on it.
|
|
|
|
|
|
|
|
## Note
|
|
|
|
|
2020-08-12 20:29:25 +08:00
|
|
|
There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library
|
|
|
|
distinguishes these three types for numbers: [`number_unsigned_t`](number_unsigned_t.md) is used for unsigned integers,
|
|
|
|
[`number_integer_t`](number_integer_t.md) is used for signed integers, and [`number_float_t`](number_float_t.md) is used
|
|
|
|
for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.
|
2020-08-12 19:41:59 +08:00
|
|
|
|
|
|
|
## Version history
|
|
|
|
|
|
|
|
- Added in version 1.0.0.
|
|
|
|
- Added unsigned integer type in version 2.0.0.
|
|
|
|
- Added binary type in version 3.8.0.
|