ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/JSON/json-forwards.h
Revision: 1.1
Committed: Tue Oct 30 14:56:59 2012 UTC (12 years, 6 months ago) by buchmann
Content type: text/plain
Branch: MAIN
Log Message:
Added development version of sample loading from JSON file. Not ready for prime time, but getting there. Uses amalgamated version of jsoncpp

File Contents

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