JSON for Modern C++ 3.10.4

◆ is_primitive()

template<template< typename U, typename V, typename... Args > class ObjectType = std::map, template< typename U, typename... Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer, class BinaryType = std::vector<std::uint8_t>>
constexpr bool nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::is_primitive ( ) const
inlineconstexprnoexcept

This function returns true if and only if the JSON type is primitive (string, number, boolean, or null).

Returns
true if type is primitive (string, number, boolean, or null), false otherwise.
Complexity
Constant.
Exception safety
No-throw guarantee: this member function never throws exceptions.
Example
The following code exemplifies is_primitive() for all JSON types.
1#include <iostream>
2#include <nlohmann/json.hpp>
3
4using json = nlohmann::json;
5
6int main()
7{
8 // create JSON values
9 json j_null;
10 json j_boolean = true;
11 json j_number_integer = 17;
12 json j_number_float = 23.42;
13 json j_number_unsigned_integer = 12345678987654321u;
14 json j_object = {{"one", 1}, {"two", 2}};
15 json j_array = {1, 2, 4, 8, 16};
16 json j_string = "Hello, world";
17 json j_binary = json::binary({1, 2, 3});
18
19 // call is_primitive()
20 std::cout << std::boolalpha;
21 std::cout << j_null.is_primitive() << '\n';
22 std::cout << j_boolean.is_primitive() << '\n';
23 std::cout << j_number_integer.is_primitive() << '\n';
24 std::cout << j_number_unsigned_integer.is_primitive() << '\n';
25 std::cout << j_number_float.is_primitive() << '\n';
26 std::cout << j_object.is_primitive() << '\n';
27 std::cout << j_array.is_primitive() << '\n';
28 std::cout << j_string.is_primitive() << '\n';
29 std::cout << j_binary.is_primitive() << '\n';
30}
basic_json<> json
default JSON class
Definition: json.hpp:3472

Output (play with this example online):
true
true
true
true
true
false
false
true
true
The example code above can be translated with
g++ -std=c++11 -Isingle_include doc/examples/is_primitive.cpp -o is_primitive 
See also
see is_structured() – returns whether JSON value is structured
see is_null() – returns whether JSON value is null
see is_string() – returns whether JSON value is a string
see is_boolean() – returns whether JSON value is a boolean
see is_number() – returns whether JSON value is a number
see is_binary() – returns whether JSON value is a binary array
Since
version 1.0.0

Definition at line 20003 of file json.hpp.