RavEngine
Loading...
Searching...
No Matches
json-forwards.h
1
4
5// //////////////////////////////////////////////////////////////////////
6// Beginning of content of file: LICENSE
7// //////////////////////////////////////////////////////////////////////
8
9/*
10The JsonCpp library's source code, including accompanying documentation,
11tests and demonstration applications, are licensed under the following
12conditions...
13
14The author (Baptiste Lepilleur) explicitly disclaims copyright in all
15jurisdictions which recognize such a disclaimer. In such jurisdictions,
16this software is released into the Public Domain.
17
18In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
192010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is
20released under the terms of the MIT License (see below).
21
22In jurisdictions which recognize Public Domain property, the user of this
23software may choose to accept it either as 1) Public Domain, 2) under the
24conditions of the MIT License (see below), or 3) under the terms of dual
25Public Domain/MIT License conditions described here, as they choose.
26
27The MIT License is about as close to Public Domain as a license can get, and is
28described in clear, concise terms at:
29
30 http://en.wikipedia.org/wiki/MIT_License
31
32The full text of the MIT License follows:
33
34========================================================================
35Copyright (c) 2007-2010 Baptiste Lepilleur
36
37Permission is hereby granted, free of charge, to any person
38obtaining a copy of this software and associated documentation
39files (the "Software"), to deal in the Software without
40restriction, including without limitation the rights to use, copy,
41modify, merge, publish, distribute, sublicense, and/or sell copies
42of the Software, and to permit persons to whom the Software is
43furnished to do so, subject to the following conditions:
44
45The above copyright notice and this permission notice shall be
46included in all copies or substantial portions of the Software.
47
48THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
49EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
50MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
51NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
52BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
53ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
54CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
55SOFTWARE.
56========================================================================
57(END LICENSE TEXT)
58
59The MIT license is compatible with both the GPL and commercial
60software, affording one all of the rights of Public Domain with the
61minor nuisance of being required to keep the above copyright notice
62and license text in the source code. Note also that by accepting the
63Public Domain "license" you can re-license your copy using whatever
64license you like.
65
66*/
67
68// //////////////////////////////////////////////////////////////////////
69// End of content of file: LICENSE
70// //////////////////////////////////////////////////////////////////////
71
72
73
74
75
76#ifndef JSON_FORWARD_AMALGATED_H_INCLUDED
77# define JSON_FORWARD_AMALGATED_H_INCLUDED
80#define JSON_IS_AMALGAMATION
81
82// //////////////////////////////////////////////////////////////////////
83// Beginning of content of file: include/json/config.h
84// //////////////////////////////////////////////////////////////////////
85
86// Copyright 2007-2010 Baptiste Lepilleur
87// Distributed under MIT license, or public domain if desired and
88// recognized in your jurisdiction.
89// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
90
91#ifndef JSON_CONFIG_H_INCLUDED
92#define JSON_CONFIG_H_INCLUDED
93
95//# define JSON_IN_CPPTL 1
96
98//# define JSON_USE_CPPTL 1
102//# define JSON_USE_CPPTL_SMALLMAP 1
103
104// If non-zero, the library uses exceptions to report bad input instead of C
105// assertion macros. The default is to use exceptions.
106#ifndef JSON_USE_EXCEPTION
107#define JSON_USE_EXCEPTION 1
108#endif
109
113// #define JSON_IS_AMALGAMATION
114
115#ifdef JSON_IN_CPPTL
116#include <cpptl/config.h>
117#ifndef JSON_USE_CPPTL
118#define JSON_USE_CPPTL 1
119#endif
120#endif
121
122#ifdef JSON_IN_CPPTL
123#define JSON_API CPPTL_API
124#elif defined(JSON_DLL_BUILD)
125#if defined(_MSC_VER)
126#define JSON_API __declspec(dllexport)
127#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING
128#endif // if defined(_MSC_VER)
129#elif defined(JSON_DLL)
130#if defined(_MSC_VER)
131#define JSON_API __declspec(dllimport)
132#define JSONCPP_DISABLE_DLL_INTERFACE_WARNING
133#endif // if defined(_MSC_VER)
134#endif // ifdef JSON_IN_CPPTL
135#if !defined(JSON_API)
136#define JSON_API
137#endif
138
139#if !defined(JSON_HAS_UNIQUE_PTR)
140#if __cplusplus >= 201103L
141#define JSON_HAS_UNIQUE_PTR (1)
142#elif _MSC_VER >= 1600
143#define JSON_HAS_UNIQUE_PTR (1)
144#else
145#define JSON_HAS_UNIQUE_PTR (0)
146#endif
147#endif
148
149// If JSON_NO_INT64 is defined, then Json only support C++ "int" type for
150// integer
151// Storages, and 64 bits integer support is disabled.
152// #define JSON_NO_INT64 1
153
154#if defined(_MSC_VER) && _MSC_VER <= 1200 // MSVC 6
155// Microsoft Visual Studio 6 only support conversion from __int64 to double
156// (no conversion from unsigned __int64).
157#define JSON_USE_INT64_DOUBLE_CONVERSION 1
158// Disable warning 4786 for VS6 caused by STL (identifier was truncated to '255'
159// characters in the debug information)
160// All projects I've ever seen with VS6 were using this globally (not bothering
161// with pragma push/pop).
162#pragma warning(disable : 4786)
163#endif // if defined(_MSC_VER) && _MSC_VER < 1200 // MSVC 6
164
165#if defined(_MSC_VER) && _MSC_VER >= 1500 // MSVC 2008
167#define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))
168#elif defined(__clang__) && defined(__has_feature)
169#if __has_feature(attribute_deprecated_with_message)
170#define JSONCPP_DEPRECATED(message) __attribute__ ((deprecated(message)))
171#endif
172#elif defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 5))
173#define JSONCPP_DEPRECATED(message) __attribute__ ((deprecated(message)))
174#elif defined(__GNUC__) && (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1))
175#define JSONCPP_DEPRECATED(message) __attribute__((__deprecated__))
176#endif
177
178#if !defined(JSONCPP_DEPRECATED)
179#define JSONCPP_DEPRECATED(message)
180#endif // if !defined(JSONCPP_DEPRECATED)
181
182namespace Json {
183typedef int Int;
184typedef unsigned int UInt;
185#if defined(JSON_NO_INT64)
186typedef int LargestInt;
187typedef unsigned int LargestUInt;
188#undef JSON_HAS_INT64
189#else // if defined(JSON_NO_INT64)
190// For Microsoft Visual use specific types as long long is not supported
191#if defined(_MSC_VER) // Microsoft Visual Studio
192typedef __int64 Int64;
193typedef unsigned __int64 UInt64;
194#else // if defined(_MSC_VER) // Other platforms, use long long
195typedef long long int Int64;
196typedef unsigned long long int UInt64;
197#endif // if defined(_MSC_VER)
198typedef Int64 LargestInt;
199typedef UInt64 LargestUInt;
200#define JSON_HAS_INT64
201#endif // if defined(JSON_NO_INT64)
202} // end namespace Json
203
204#endif // JSON_CONFIG_H_INCLUDED
205
206// //////////////////////////////////////////////////////////////////////
207// End of content of file: include/json/config.h
208// //////////////////////////////////////////////////////////////////////
209
210
211
212
213
214
215// //////////////////////////////////////////////////////////////////////
216// Beginning of content of file: include/json/forwards.h
217// //////////////////////////////////////////////////////////////////////
218
219// Copyright 2007-2010 Baptiste Lepilleur
220// Distributed under MIT license, or public domain if desired and
221// recognized in your jurisdiction.
222// See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
223
224#ifndef JSON_FORWARDS_H_INCLUDED
225#define JSON_FORWARDS_H_INCLUDED
226
227#if !defined(JSON_IS_AMALGAMATION)
228#include "config.h"
229#endif // if !defined(JSON_IS_AMALGAMATION)
230
231namespace Json {
232
233// writer.h
234class FastWriter;
235class StyledWriter;
236
237// reader.h
238class Reader;
239
240// features.h
241class Features;
242
243// value.h
244typedef unsigned int ArrayIndex;
245class StaticString;
246class Path;
247class PathArgument;
248class Value;
249class ValueIteratorBase;
250class ValueIterator;
251class ValueConstIterator;
252
253} // namespace Json
254
255#endif // JSON_FORWARDS_H_INCLUDED
256
257// //////////////////////////////////////////////////////////////////////
258// End of content of file: include/json/forwards.h
259// //////////////////////////////////////////////////////////////////////
260
261
262
263
264
265#endif //ifndef JSON_FORWARD_AMALGATED_H_INCLUDED
JSON (JavaScript Object Notation).
Definition json-forwards.h:182