annotate json/json-forwards.h @ 15:d5758530a039 tip

oF0.84 Retina, and iPhone support
author Robert Tubb <rt300@eecs.qmul.ac.uk>
date Tue, 12 May 2015 15:48:52 +0100
parents 426d645d8e69
children
rev   line source
rt300@13 1 /// Json-cpp amalgated forward header (http://jsoncpp.sourceforge.net/).
rt300@13 2 /// It is intented to be used with #include <json/json-forwards.h>
rt300@13 3 /// This header provides forward declaration for all JsonCpp types.
rt300@13 4
rt300@13 5 // //////////////////////////////////////////////////////////////////////
rt300@13 6 // Beginning of content of file: LICENSE
rt300@13 7 // //////////////////////////////////////////////////////////////////////
rt300@13 8
rt300@13 9 /*
rt300@13 10 The JsonCpp library's source code, including accompanying documentation,
rt300@13 11 tests and demonstration applications, are licensed under the following
rt300@13 12 conditions...
rt300@13 13
rt300@13 14 The author (Baptiste Lepilleur) explicitly disclaims copyright in all
rt300@13 15 jurisdictions which recognize such a disclaimer. In such jurisdictions,
rt300@13 16 this software is released into the Public Domain.
rt300@13 17
rt300@13 18 In jurisdictions which do not recognize Public Domain property (e.g. Germany as of
rt300@13 19 2010), this software is Copyright (c) 2007-2010 by Baptiste Lepilleur, and is
rt300@13 20 released under the terms of the MIT License (see below).
rt300@13 21
rt300@13 22 In jurisdictions which recognize Public Domain property, the user of this
rt300@13 23 software may choose to accept it either as 1) Public Domain, 2) under the
rt300@13 24 conditions of the MIT License (see below), or 3) under the terms of dual
rt300@13 25 Public Domain/MIT License conditions described here, as they choose.
rt300@13 26
rt300@13 27 The MIT License is about as close to Public Domain as a license can get, and is
rt300@13 28 described in clear, concise terms at:
rt300@13 29
rt300@13 30 http://en.wikipedia.org/wiki/MIT_License
rt300@13 31
rt300@13 32 The full text of the MIT License follows:
rt300@13 33
rt300@13 34 ========================================================================
rt300@13 35 Copyright (c) 2007-2010 Baptiste Lepilleur
rt300@13 36
rt300@13 37 Permission is hereby granted, free of charge, to any person
rt300@13 38 obtaining a copy of this software and associated documentation
rt300@13 39 files (the "Software"), to deal in the Software without
rt300@13 40 restriction, including without limitation the rights to use, copy,
rt300@13 41 modify, merge, publish, distribute, sublicense, and/or sell copies
rt300@13 42 of the Software, and to permit persons to whom the Software is
rt300@13 43 furnished to do so, subject to the following conditions:
rt300@13 44
rt300@13 45 The above copyright notice and this permission notice shall be
rt300@13 46 included in all copies or substantial portions of the Software.
rt300@13 47
rt300@13 48 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
rt300@13 49 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
rt300@13 50 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
rt300@13 51 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
rt300@13 52 BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
rt300@13 53 ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
rt300@13 54 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
rt300@13 55 SOFTWARE.
rt300@13 56 ========================================================================
rt300@13 57 (END LICENSE TEXT)
rt300@13 58
rt300@13 59 The MIT license is compatible with both the GPL and commercial
rt300@13 60 software, affording one all of the rights of Public Domain with the
rt300@13 61 minor nuisance of being required to keep the above copyright notice
rt300@13 62 and license text in the source code. Note also that by accepting the
rt300@13 63 Public Domain "license" you can re-license your copy using whatever
rt300@13 64 license you like.
rt300@13 65
rt300@13 66 */
rt300@13 67
rt300@13 68 // //////////////////////////////////////////////////////////////////////
rt300@13 69 // End of content of file: LICENSE
rt300@13 70 // //////////////////////////////////////////////////////////////////////
rt300@13 71
rt300@13 72
rt300@13 73
rt300@13 74
rt300@13 75
rt300@13 76 #ifndef JSON_FORWARD_AMALGATED_H_INCLUDED
rt300@13 77 # define JSON_FORWARD_AMALGATED_H_INCLUDED
rt300@13 78 /// If defined, indicates that the source file is amalgated
rt300@13 79 /// to prevent private header inclusion.
rt300@13 80 #define JSON_IS_AMALGATED
rt300@13 81
rt300@13 82 // //////////////////////////////////////////////////////////////////////
rt300@13 83 // Beginning of content of file: include/json/config.h
rt300@13 84 // //////////////////////////////////////////////////////////////////////
rt300@13 85
rt300@13 86 // Copyright 2007-2010 Baptiste Lepilleur
rt300@13 87 // Distributed under MIT license, or public domain if desired and
rt300@13 88 // recognized in your jurisdiction.
rt300@13 89 // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
rt300@13 90
rt300@13 91 #ifndef JSON_CONFIG_H_INCLUDED
rt300@13 92 # define JSON_CONFIG_H_INCLUDED
rt300@13 93
rt300@13 94 /// If defined, indicates that json library is embedded in CppTL library.
rt300@13 95 //# define JSON_IN_CPPTL 1
rt300@13 96
rt300@13 97 /// If defined, indicates that json may leverage CppTL library
rt300@13 98 //# define JSON_USE_CPPTL 1
rt300@13 99 /// If defined, indicates that cpptl vector based map should be used instead of std::map
rt300@13 100 /// as Value container.
rt300@13 101 //# define JSON_USE_CPPTL_SMALLMAP 1
rt300@13 102 /// If defined, indicates that Json specific container should be used
rt300@13 103 /// (hash table & simple deque container with customizable allocator).
rt300@13 104 /// THIS FEATURE IS STILL EXPERIMENTAL! There is know bugs: See #3177332
rt300@13 105 //# define JSON_VALUE_USE_INTERNAL_MAP 1
rt300@13 106 /// Force usage of standard new/malloc based allocator instead of memory pool based allocator.
rt300@13 107 /// The memory pools allocator used optimization (initializing Value and ValueInternalLink
rt300@13 108 /// as if it was a POD) that may cause some validation tool to report errors.
rt300@13 109 /// Only has effects if JSON_VALUE_USE_INTERNAL_MAP is defined.
rt300@13 110 //# define JSON_USE_SIMPLE_INTERNAL_ALLOCATOR 1
rt300@13 111
rt300@13 112 /// If defined, indicates that Json use exception to report invalid type manipulation
rt300@13 113 /// instead of C assert macro.
rt300@13 114 # define JSON_USE_EXCEPTION 1
rt300@13 115
rt300@13 116 /// If defined, indicates that the source file is amalgated
rt300@13 117 /// to prevent private header inclusion.
rt300@13 118 /// Remarks: it is automatically defined in the generated amalgated header.
rt300@13 119 // #define JSON_IS_AMALGAMATION
rt300@13 120
rt300@13 121
rt300@13 122 # ifdef JSON_IN_CPPTL
rt300@13 123 # include <cpptl/config.h>
rt300@13 124 # ifndef JSON_USE_CPPTL
rt300@13 125 # define JSON_USE_CPPTL 1
rt300@13 126 # endif
rt300@13 127 # endif
rt300@13 128
rt300@13 129 # ifdef JSON_IN_CPPTL
rt300@13 130 # define JSON_API CPPTL_API
rt300@13 131 # elif defined(JSON_DLL_BUILD)
rt300@13 132 # define JSON_API __declspec(dllexport)
rt300@13 133 # elif defined(JSON_DLL)
rt300@13 134 # define JSON_API __declspec(dllimport)
rt300@13 135 # else
rt300@13 136 # define JSON_API
rt300@13 137 # endif
rt300@13 138
rt300@13 139 // If JSON_NO_INT64 is defined, then Json only support C++ "int" type for integer
rt300@13 140 // Storages, and 64 bits integer support is disabled.
rt300@13 141 // #define JSON_NO_INT64 1
rt300@13 142
rt300@13 143 #if defined(_MSC_VER) && _MSC_VER <= 1200 // MSVC 6
rt300@13 144 // Microsoft Visual Studio 6 only support conversion from __int64 to double
rt300@13 145 // (no conversion from unsigned __int64).
rt300@13 146 #define JSON_USE_INT64_DOUBLE_CONVERSION 1
rt300@13 147 #endif // if defined(_MSC_VER) && _MSC_VER < 1200 // MSVC 6
rt300@13 148
rt300@13 149 #if defined(_MSC_VER) && _MSC_VER >= 1500 // MSVC 2008
rt300@13 150 /// Indicates that the following function is deprecated.
rt300@13 151 # define JSONCPP_DEPRECATED(message) __declspec(deprecated(message))
rt300@13 152 #endif
rt300@13 153
rt300@13 154 #if !defined(JSONCPP_DEPRECATED)
rt300@13 155 # define JSONCPP_DEPRECATED(message)
rt300@13 156 #endif // if !defined(JSONCPP_DEPRECATED)
rt300@13 157
rt300@13 158 namespace Json {
rt300@13 159 typedef int Int;
rt300@13 160 typedef unsigned int UInt;
rt300@13 161 # if defined(JSON_NO_INT64)
rt300@13 162 typedef int LargestInt;
rt300@13 163 typedef unsigned int LargestUInt;
rt300@13 164 # undef JSON_HAS_INT64
rt300@13 165 # else // if defined(JSON_NO_INT64)
rt300@13 166 // For Microsoft Visual use specific types as long long is not supported
rt300@13 167 # if defined(_MSC_VER) // Microsoft Visual Studio
rt300@13 168 typedef __int64 Int64;
rt300@13 169 typedef unsigned __int64 UInt64;
rt300@13 170 # else // if defined(_MSC_VER) // Other platforms, use long long
rt300@13 171 typedef long long int Int64;
rt300@13 172 typedef unsigned long long int UInt64;
rt300@13 173 # endif // if defined(_MSC_VER)
rt300@13 174 typedef Int64 LargestInt;
rt300@13 175 typedef UInt64 LargestUInt;
rt300@13 176 # define JSON_HAS_INT64
rt300@13 177 # endif // if defined(JSON_NO_INT64)
rt300@13 178 } // end namespace Json
rt300@13 179
rt300@13 180
rt300@13 181 #endif // JSON_CONFIG_H_INCLUDED
rt300@13 182
rt300@13 183 // //////////////////////////////////////////////////////////////////////
rt300@13 184 // End of content of file: include/json/config.h
rt300@13 185 // //////////////////////////////////////////////////////////////////////
rt300@13 186
rt300@13 187
rt300@13 188
rt300@13 189
rt300@13 190
rt300@13 191
rt300@13 192 // //////////////////////////////////////////////////////////////////////
rt300@13 193 // Beginning of content of file: include/json/forwards.h
rt300@13 194 // //////////////////////////////////////////////////////////////////////
rt300@13 195
rt300@13 196 // Copyright 2007-2010 Baptiste Lepilleur
rt300@13 197 // Distributed under MIT license, or public domain if desired and
rt300@13 198 // recognized in your jurisdiction.
rt300@13 199 // See file LICENSE for detail or copy at http://jsoncpp.sourceforge.net/LICENSE
rt300@13 200
rt300@13 201 #ifndef JSON_FORWARDS_H_INCLUDED
rt300@13 202 # define JSON_FORWARDS_H_INCLUDED
rt300@13 203
rt300@13 204 #if !defined(JSON_IS_AMALGAMATION)
rt300@13 205 # include "config.h"
rt300@13 206 #endif // if !defined(JSON_IS_AMALGAMATION)
rt300@13 207
rt300@13 208 namespace Json {
rt300@13 209
rt300@13 210 // writer.h
rt300@13 211 class FastWriter;
rt300@13 212 class StyledWriter;
rt300@13 213
rt300@13 214 // reader.h
rt300@13 215 class Reader;
rt300@13 216
rt300@13 217 // features.h
rt300@13 218 class Features;
rt300@13 219
rt300@13 220 // value.h
rt300@13 221 typedef unsigned int ArrayIndex;
rt300@13 222 class StaticString;
rt300@13 223 class Path;
rt300@13 224 class PathArgument;
rt300@13 225 class Value;
rt300@13 226 class ValueIteratorBase;
rt300@13 227 class ValueIterator;
rt300@13 228 class ValueConstIterator;
rt300@13 229 #ifdef JSON_VALUE_USE_INTERNAL_MAP
rt300@13 230 class ValueMapAllocator;
rt300@13 231 class ValueInternalLink;
rt300@13 232 class ValueInternalArray;
rt300@13 233 class ValueInternalMap;
rt300@13 234 #endif // #ifdef JSON_VALUE_USE_INTERNAL_MAP
rt300@13 235
rt300@13 236 } // namespace Json
rt300@13 237
rt300@13 238
rt300@13 239 #endif // JSON_FORWARDS_H_INCLUDED
rt300@13 240
rt300@13 241 // //////////////////////////////////////////////////////////////////////
rt300@13 242 // End of content of file: include/json/forwards.h
rt300@13 243 // //////////////////////////////////////////////////////////////////////
rt300@13 244
rt300@13 245
rt300@13 246
rt300@13 247
rt300@13 248
rt300@13 249 #endif //ifndef JSON_FORWARD_AMALGATED_H_INCLUDED