JSON for Modern C++ 2.1.1
Loading...
Searching...
No Matches

◆ 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< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::is_primitive ( ) const
inlineconstexprnoexcept

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

Returns
true if type is primitive (string, number, boolean, or null), false otherwise.
Complexity\n Constant.
Exception safety\n No-throw guarantee: this member function never throws
exceptions.
Example\n The following code exemplifies is_primitive() for all JSON
types.
1#include <json.hpp>
2
3using json = nlohmann::json;
4
5int main()
6{
7 // create JSON values
9 json j_boolean = true;
11 json j_number_float = 23.42;
12 json j_number_unsigned_integer = 12345678987654321u;
13 json j_object = {{"one", 1}, {"two", 2}};
14 json j_array = {1, 2, 4, 8, 16};
15 json j_string = "Hello, world";
16
17 // call is_primitive()
18 std::cout << std::boolalpha;
19 std::cout << j_null.is_primitive() << '\n';
20 std::cout << j_boolean.is_primitive() << '\n';
21 std::cout << j_number_integer.is_primitive() << '\n';
22 std::cout << j_number_unsigned_integer.is_primitive() << '\n';
23 std::cout << j_number_float.is_primitive() << '\n';
24 std::cout << j_object.is_primitive() << '\n';
25 std::cout << j_array.is_primitive() << '\n';
26 std::cout << j_string.is_primitive() << '\n';
27}
static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
Definition json.hpp:2165
constexpr bool is_primitive() const noexcept
return whether type is primitive
Definition json.hpp:2711
a class to store JSON values
Definition json.hpp:1040
basic_json<> json
default JSON class
Definition json.hpp:12369

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 -Isrc 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 2711 of file json.hpp.