mirror of https://gitlab.com/cppit/jucipp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
78 lines
2.1 KiB
78 lines
2.1 KiB
#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ |
|
#define INCLUDE_NLOHMANN_JSON_FWD_HPP_ |
|
|
|
#include <cstdint> // int64_t, uint64_t |
|
#include <map> // map |
|
#include <memory> // allocator |
|
#include <string> // string |
|
#include <vector> // vector |
|
|
|
/*! |
|
@brief namespace for Niels Lohmann |
|
@see https://github.com/nlohmann |
|
@since version 1.0.0 |
|
*/ |
|
namespace nlohmann |
|
{ |
|
/*! |
|
@brief default JSONSerializer template argument |
|
|
|
This serializer ignores the template arguments and uses ADL |
|
([argument-dependent lookup](https://en.cppreference.com/w/cpp/language/adl)) |
|
for serialization. |
|
*/ |
|
template<typename T = void, typename SFINAE = void> |
|
struct adl_serializer; |
|
|
|
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>> |
|
class basic_json; |
|
|
|
/*! |
|
@brief JSON Pointer |
|
|
|
A JSON pointer defines a string syntax for identifying a specific value |
|
within a JSON document. It can be used with functions `at` and |
|
`operator[]`. Furthermore, JSON pointers are the base for JSON patches. |
|
|
|
@sa [RFC 6901](https://tools.ietf.org/html/rfc6901) |
|
|
|
@since version 2.0.0 |
|
*/ |
|
template<typename BasicJsonType> |
|
class json_pointer; |
|
|
|
/*! |
|
@brief default JSON class |
|
|
|
This type is the default specialization of the @ref basic_json class which |
|
uses the standard template types. |
|
|
|
@since version 1.0.0 |
|
*/ |
|
using json = basic_json<>; |
|
|
|
template<class Key, class T, class IgnoredLess, class Allocator> |
|
struct ordered_map; |
|
|
|
/*! |
|
@brief ordered JSON class |
|
|
|
This type preserves the insertion order of object keys. |
|
|
|
@since version 3.9.0 |
|
*/ |
|
using ordered_json = basic_json<nlohmann::ordered_map>; |
|
|
|
} // namespace nlohmann |
|
|
|
#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_
|
|
|