Skip to content

# basic_json::value_t

    enum class value_t : std::uint8_t {
        null,
        object,
        array,
        string,
        boolean,
        number_integer,
        number_unsigned,
        number_float,
        binary,
        discarded
    };

This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions `is_null`, `is_object`, `is_array`, `is_string`, `is_boolean`, `is_number` (with `is_number_integer`, `is_number_unsigned`, and `is_number_float`), `is_discarded`, `is_binary`, `is_primitive`, and `is_structured` rely on it.

## Note

There are three enumeration entries (number_integer, number_unsigned, and number_float), because the library distinguishes these three types for numbers: `number_unsigned_t` is used for unsigned integers, `number_integer_t` is used for signed integers, and `number_float_t` is used for floating-point numbers or to approximate integers which do not fit in the limits of their respective type.

## 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.