JSON for Modern C++  3.7.2

◆ 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>
constexpr bool nlohmann::basic_json::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 
4 using json = nlohmann::json;
5 
6 int 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 
18  // call is_primitive()
19  std::cout << std::boolalpha;
20  std::cout << j_null.is_primitive() << '\n';
21  std::cout << j_boolean.is_primitive() << '\n';
22  std::cout << j_number_integer.is_primitive() << '\n';
23  std::cout << j_number_unsigned_integer.is_primitive() << '\n';
24  std::cout << j_number_float.is_primitive() << '\n';
25  std::cout << j_object.is_primitive() << '\n';
26  std::cout << j_array.is_primitive() << '\n';
27  std::cout << j_string.is_primitive() << '\n';
28 }

Output (play with this example online):
true
true
true
true
true
false
false
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
is_structured() – returns whether JSON value is structured
is_null() – returns whether JSON value is null
is_string() – returns whether JSON value is a string
is_boolean() – returns whether JSON value is a boolean
is_number() – returns whether JSON value is a number
Since
version 1.0.0

Definition at line 16644 of file json.hpp.

nlohmann::json
basic_json<> json
default JSON class
Definition: json.hpp:2445