annotate json/json-forwards.h @ 52:89944ab3e129 tip

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