JSON for Modern C++ 3.10.4

◆ meta()

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>>
static basic_json nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::meta ( )

This function returns a JSON object with information about the library, including the version number and information on the platform and compiler.

JSON object holding version information
key description
compiler Information on the used compiler. It is an object with the following keys: c++ (the used C++ standard), family (the compiler family; possible values are clang, icc, gcc, ilecpp, msvc, pgcpp, sunpro, and unknown), and version (the compiler version).
copyright The copyright line for the library as string.
name The name of the library as string.
platform The used platform as string. Possible values are win32, linux, apple, unix, and unknown.
url The URL of the project as string.
version The version of the library. It is an object with the following keys: major, minor, and patch as defined by Semantic Versioning, and string (the version string).
The following code shows an example output of the meta() function.
1#include <iostream>
2#include <iomanip>
3#include <nlohmann/json.hpp>
5using json = nlohmann::json;
7int main()
9 // call meta()
10 std::cout << std::setw(4) << json::meta() << '\n';
static basic_json meta()
returns version information on the library
Definition: json.hpp:17855
basic_json<> json
default JSON class
Definition: json.hpp:3472

Output (play with this example online):
    "compiler": {
        "c++": "201103",
        "family": "clang",
        "version": "13.0.0 (clang-1300.0.29.3)"
    "copyright": "(C) 2013-2021 Niels Lohmann",
    "name": "JSON for Modern C++",
    "platform": "apple",
    "url": "https://github.com/nlohmann/json",
    "version": {
        "major": 3,
        "minor": 10,
        "patch": 4,
        "string": "3.10.4"
The example code above can be translated with
g++ -std=c++11 -Isingle_include doc/examples/meta.cpp -o meta 
Exception safety
Strong guarantee: if an exception is thrown, there are no changes to any JSON value.

Definition at line 17855 of file json.hpp.