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