diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2019-10-21 22:11:21 +0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2019-10-21 22:11:21 +0200 |
commit | 45b740c18b196d0326a94df23d08fa3d68e0863f (patch) | |
tree | 50e93b944d164dd6a26ac44151aedb24c5e7ca45 /src/nlohmann/json_fwd.hpp | |
parent | cb1a79a96aa0602383f2fe33702f6adeee708922 (diff) |
Use upstream json_fwd.hpp to speed up compilation
Diffstat (limited to 'src/nlohmann/json_fwd.hpp')
-rw-r--r-- | src/nlohmann/json_fwd.hpp | 66 |
1 files changed, 60 insertions, 6 deletions
diff --git a/src/nlohmann/json_fwd.hpp b/src/nlohmann/json_fwd.hpp index ae6e4c64f..28fd10d45 100644 --- a/src/nlohmann/json_fwd.hpp +++ b/src/nlohmann/json_fwd.hpp @@ -1,10 +1,64 @@ -#pragma once +#ifndef INCLUDE_NLOHMANN_JSON_FWD_HPP_ +#define INCLUDE_NLOHMANN_JSON_FWD_HPP_ -namespace nlohmann { +#include <cstdint> // int64_t, uint64_t +#include <map> // map +#include <memory> // allocator +#include <string> // string +#include <vector> // vector -struct json : basic_json<> +/*! +@brief namespace for Niels Lohmann +@see https://github.com/nlohmann +@since version 1.0.0 +*/ +namespace nlohmann { - using basic_json<>::basic_json; -}; +/*! +@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 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<>; +} // namespace nlohmann + +#endif // INCLUDE_NLOHMANN_JSON_FWD_HPP_ |