Christopher Dunn
5fbfe3cdb9
StreamWriter
2015-01-25 15:54:39 -06:00
Christopher Dunn
1e3149ab75
rm trailing newlines for *all* comments
...
This will make it easier to fix newlines consistently.
2015-01-25 14:32:13 -06:00
Christopher Dunn
2bc6137ada
fix gcc warnings
2015-01-24 13:42:37 -06:00
Christopher Dunn
d383056fbb
avoid extra newlines in StyledStreamWriter
...
Add indented_ as a bitfield. (Verified that sizeof(StyledStreamWriter)
remains 96 for binary compatibility. But the new symbol requires a minor
version-bump.)
2015-01-23 14:23:31 -06:00
Christopher Dunn
f8ca6cbb25
1.4.0 <- 1.3.0
...
Minor version bump, but we will wait for a few more commits this time
before tagging the release.
2015-01-23 14:23:31 -06:00
Christopher Dunn
9132aa94b1
1.3.0
...
http://apr.apache.org/versioning.html#binary
2015-01-22 19:25:44 -06:00
Christopher Dunn
76746b09fc
deprecate old removeMember()
2015-01-22 19:25:44 -06:00
Christopher Dunn
e87e41cdb0
from Itzik S; see issue #28
...
with minor corrections
2015-01-20 17:03:58 -06:00
Christopher Dunn
9de2c2d84d
partial
2015-01-20 17:02:48 -06:00
Christopher Dunn
7956ccd61e
allow stream ops for JSON_FAIL_MESSAGE
...
http://www.iar.com/Global/Resources/Developers_Toolbox/C_Cplusplus_Programming/Tips%20and%20tricks%20using%20the%20preprocessor%20%28part%20two%29.pdf
2015-01-20 16:25:26 -06:00
datadiode
9454e687a3
Specialize std::swap() for Json::Value in a C++ standard compliant way
...
originally from pull #119
2015-01-20 15:25:41 -06:00
Christopher Dunn
51c0afab22
1.2.1 <- 1.2.0
...
This can affect existing round-trip tests, but we never made any
guarantees about whitespace constancy.
2015-01-20 15:12:49 -06:00
Christopher Dunn
2cd0f4ec21
1.2.0 <- 1.1.1
...
`operator=()` (which already performed a deep-copy) now includes
comments. The change is probably harmless in all practical cases.
2015-01-20 12:44:51 -06:00
Christopher Dunn
66eb72f121
use SwapPayload() to retain comments
...
All tests pass, but we might be missing coverage.
issue #47
2015-01-20 12:07:01 -06:00
datadiode
c07ef37904
https://github.com/open-source-parsers/jsoncpp/issues/47
2015-01-18 10:05:25 +01:00
datadiode
09d352ac13
Remove unused functions
2015-01-17 13:26:23 +01:00
Christopher Dunn
4997dfb8af
1.1.1 <- 1.1.0
...
slight change to fail on a bad float
2015-01-16 15:09:54 -06:00
Christopher Dunn
8b489f891a
1.1.0 <- 1.0.0
2015-01-06 12:46:17 -06:00
Christopher Dunn
7165f6ac4c
1.0.0
2014-11-20 08:45:58 -06:00
Billy Donahue
8eb5d89db6
Remove initInt and initUInt until they are needed.
2014-11-10 01:35:42 -05:00
Yu Xiaolei
1c3a20de50
Allow customization of component install dirs
2014-11-05 11:25:53 +08:00
Mara Kim
b84a39cae5
Add public semantic error reporting
...
Closes open-source-parsers/jsoncpp#57
2014-10-23 02:18:14 -05:00
Christopher Dunn
0375af2eb5
drop version qualifier
...
This should help keep version.h stable.
x.y.z-dev
=> major, minor, patch, qual
== x, y, z, -dev
But we do not need -dev anymore.
2014-09-18 16:43:07 -07:00
Aaron Jacobs
ba330893d7
Ran clang-format again, this time hitting .inl files too.
...
clang-format -i $(find . -name '*.h' -or -name '*.cpp' -or -name '*.inl')
2014-09-18 16:33:49 -07:00
Christopher Dunn
4bceabf2f9
ws autogen
2014-09-16 19:11:20 -07:00
Aaron Jacobs
11086dd6a7
Enabled PointerBindsToType in clang-format options.
2014-09-15 10:15:29 +10:00
Aaron Jacobs
30b07c0275
Ran clang-format over all .h and .cpp files.
...
clang-format -i $(find . -name '*.h' -or -name '*.cpp')
2014-09-15 10:14:48 +10:00
Braden McDorman
540db3b052
Added arrow operator to ValueIterator and ValueConstIterator
2014-09-14 08:15:47 -07:00
Christopher Dunn
f4b06cd607
rm trailing ws
2014-09-14 08:15:32 -07:00
Christopher Dunn
b061ff4a1e
generated for the last time, maybe
2014-09-11 10:04:49 -07:00
Billy Donahue
45cd9490cd
Switch to copy-and-swap idiom for operator=.
...
This allows the compiler to elide a copy when rhs is a temporary.
2014-09-10 10:37:34 -07:00
Don Milham
5bf16105b5
added option to FastWriter which omits the trailing new line character
2014-09-02 17:09:07 -06:00
Christopher Dunn
f3989977c0
rm generated version.h
2014-07-09 21:48:49 -07:00
Christopher Dunn
60f778b9fc
relative include
2014-07-09 21:40:23 -07:00
Christopher Dunn
06dcb1fc89
cmake updates this
2014-07-08 21:57:12 -07:00
Christopher Dunn
28836b8acc
fix bug for static init
...
Ugh! Static initialization of instance variables is a very bad idea.
This fix is taken from the Chromium code-base. It includes their
double-fix for ARM.
* https://codereview.chromium.org/24984004
* https://src.chromium.org/viewvc/chrome?revision=226099&view=revision
* https://code.google.com/p/webrtc/issues/detail?id=1777
2014-07-05 17:36:20 -07:00
Aaron Jacobs
3a0c4fcc82
Ran clang-format again.
2014-07-01 09:20:48 +10:00
Aaron Jacobs
9fa4e849a1
Ran clang-format over all .h and .cpp files.
...
clang-format -i $(find . -name '*.h' -or -name '*.cpp')
2014-07-01 08:48:54 +10:00
Christopher Dunn
6764059395
fix stdexcept
...
https://sourceforge.net/p/jsoncpp/bugs/68/
2014-05-13 09:49:25 +00:00
Aaron Jacobs
68db655347
Added structured error reporting to Reader.
...
This allows applications for interactively viewing or editing JSON to do
a better job of highlighting errors. Also added offset accessors to
Value, offering the same sort of functionality even for non-errors.
Thanks to Zach Clifford (zacharyc@google.com ) for the patch.
2014-04-23 23:41:12 +00:00
Aaron Jacobs
642befc836
Added features that allow the reader to accept common non-standard JSON.
...
This is a version of patch #17 , from Clay Wood:
http://sourceforge.net/p/jsoncpp/patches/17/
2014-04-23 23:28:23 +00:00
Aaron Jacobs
94d17e9fdf
Added missing includes for std::istream.
...
Thanks to Quentin Fiard for the report.
2014-01-29 00:13:38 +00:00
Baptiste Lepilleur
7b62ceacee
- disabled warning 4786 for VS6 caused by STL (identifier was truncated to '255' characters in the debug information)
...
- added batchbuild config for XP VM
2013-05-09 16:24:13 +00:00
Baptiste Lepilleur
eafd702a17
- New CMake based build system. Based in part on contribution from
...
Igor Okulist and Damien Buhl (Patch #14 ). Added support for running
tests and building with DLL on Windows.
- added missing JSON_API
- Visual Studio DLL: suppressed warning "C4251: <data member>: <type>
needs to have dll-interface to be used by..." via pragma push/pop
in json-cpp headers.
- New header json/version.h now contains version number macros
(JSONCPP_VERSION_MAJOR, JSONCPP_VERSION_MINOR, JSONCPP_VERSION_PATCH
and JSONCPP_VERSION_HEXA). While this header is generated by CMake,
it is committed to ease build with alternate build system
(CMake only update the file when it changes avoid issues with VCS).
2013-05-08 20:21:11 +00:00
Baptiste Lepilleur
a8afdd40af
- Patch #3393345 : BOOST_FOREACH compatibility. Made Json::iterator more standard compliant, added missing iterator_category and value_type typedefs (contribued by Robert A. Iannucci).
...
- Patch #3474563 : added missing JSON_API on some classes causing link issues when building as a dynamic library on Windows (contributed by Francis Bolduc).
2013-04-12 14:10:13 +00:00
Aaron Jacobs
ae3c7a7aab
Made it possible to drop null placeholders from array output.
...
This can be used when it's clear that the consumer is able to deal with
this, as web browsers are. Thanks to Yatin Chawathe for the patch.
2012-03-12 04:53:57 +00:00
Aaron Jacobs
f572e8e42e
Added an exit() to JSON_FAIL_MESSAGE to fix "no return" errors.
2012-01-08 23:49:55 +00:00
Aaron Jacobs
2b853c4067
Got rid of several unnecessary includes of <iostream>.
...
Including <iostream> causes the file to be polluted with a static
initializer for the __ioinit symbol. This can harm binary startup time.
For more info, see here:
http://neugierig.org/software/chromium/notes/2011/08/static-initializers.html
2011-12-22 03:18:24 +00:00
Aaron Jacobs
7c507d7eba
Made JSON_USE_EXCEPTION's value in config.h a default that can be overridden.
...
This allows users to override it with their compiler invocation. For example:
g++ -D JSON_USE_EXCEPTION=0 ...
2011-09-14 08:41:37 +00:00
Aaron Jacobs
7b5edd9859
Added line breaks to make error messages easier to read.
2011-05-25 04:59:57 +00:00
Aaron Jacobs
1b138e8544
Gave a more consistent behavior to the Value::isFoo methods. See
...
NEWS.txt for more details.
2011-05-25 04:19:17 +00:00
Aaron Jacobs
a761530f14
Fixed a missing include error.
2011-05-24 06:27:36 +00:00
Aaron Jacobs
f1053e7acb
Fixed a bunch of compilation errors when JSON_HAS_INT64 is set.
2011-05-24 03:18:02 +00:00
Aaron Jacobs
e3d0eca9f4
Centralized assertion macros and made them obey JSON_USE_EXCEPTION.
2011-05-24 01:03:22 +00:00
Baptiste Lepilleur
eadc478e50
Fixed typo: amalga*ma*te. Replaced macro JSON_IS_AMALGATED with JSON_IS_AMALGAMATION
2011-05-02 21:09:30 +00:00
Baptiste Lepilleur
1837a1c508
Value::compare() is now const and has an actual implementation with unit tests.
2011-05-02 20:11:48 +00:00
Baptiste Lepilleur
e3cc0f004b
Untabified some sources
2011-05-02 18:41:01 +00:00
Baptiste Lepilleur
40388494bd
Release test-0.6.0
2011-05-01 20:50:44 +00:00
Baptiste Lepilleur
64e40aafe5
Added support for amalgated source and header generation (a la sqlite). Refer to README.txt section "Generating amalgated source and header" for detail.
...
The amalgated sources are generated by concatenating JsonCpp source in the correct order and defining macro JSON_IS_AMALGATED to prevent inclusion of other headers. Sources and header has been modified to prevent any inclusion when this macro is defined.
The script amalgate.py handle the generation.
2011-05-01 20:13:40 +00:00
Baptiste Lepilleur
5349225f43
Added known bug reference for experimental internal map.
2011-05-01 16:42:18 +00:00
Baptiste Lepilleur
b2e8cccbc6
Renamed Reader::getFormatedErrorMessages() to getFormattedErrorMessages. Bug #3023708 (Formatted has 2 't'). The old member function is deprecated but still present for backward compatibility.
2011-05-01 16:27:55 +00:00
Baptiste Lepilleur
842e9ac54b
Major rework of 64 integer support: 64 bits integer are only returned when explicitly request via Json::Value::asInt64(), unlike previous implementation where Json::Value::asInt() returned a 64 bits integer.
...
This eases porting portable code and does not break compatibility with the previous release.
Json::Value::asLargestInt() has also be added to ease writing portable code independent of 64 bits integer support. It is typically used to implement writers.
2010-12-27 17:45:23 +00:00
Baptiste Lepilleur
b96aed0f3e
Added float Json::Value::asFloat() to obtain a floating point value as a float (avoid lost of precision warning caused by used of asDouble() to initialize a float).
2010-12-24 19:30:06 +00:00
Baptiste Lepilleur
fa130ef871
- Array index can be passed as int to operator[], allowing use of literal:
...
Json::Value array;
array.append( 1234 );
int value = array[0].asInt(); // did not compile previously
2010-12-24 12:47:14 +00:00
Baptiste Lepilleur
7469f1d014
JsonCpp is now licensed under MIT license, or public domain if desired and recognized in your jurisdiction.
2010-04-20 21:35:19 +00:00
Baptiste Lepilleur
201fb2cf0d
- Moved definition of Json::Int and Json::UInt to config.h which compiler detection logic to define them to 64 bits integer if JSON_NO_INT64 is not defined.
...
- Added Json::ArrayIndex as an unsigned int to forwards.h
- Modified Json::Value to consistently use Json::ArrayIndex.
- Added int/unsigned int constructor overload to Json::Value to avoid ambiguous constructor call.
- Modified jsontestrunner/main.cpp to use Json::valueToString for Value::asInt() conversion to string.
- Modified Json::Reader to only overflow to double when the number is too large (previous code relied on the fact that an int fitted in a double without precision loss).
- Generalized uintToString() helpers and buffer size to automatically adapt to the precision of Json::UInt.
- Added specific conversion logic for UInt to double conversion on Microsoft Visual Studio 6 which only support __int64 to double conversion (unsigned __int64 conversion is not supported)
- Added test for 64 bits parsing/writing. Notes: those will fail when compiled with JSON_NO_INT64 (more dev required to adapt).
2010-04-19 07:37:41 +00:00
Baptiste Lepilleur
afd9cef928
Removed experimental ValueAllocator, it caused static initialization/destruction order issues (bug #2934500 ). The DefaultValueAllocator has been inlined in code.
2010-03-13 13:10:27 +00:00
Baptiste Lepilleur
0c5fff142d
Removed experimental notification on iterators, and added experimental status for allocator (to be removed)
2010-03-11 20:23:07 +00:00
Baptiste Lepilleur
3a1b93be1c
- added Int/UInt typedef in Json namespace. Modified Value::Int and Value::UInt to be typedef on those. Modified code to use Json::Int instead of Value::Int.
...
- added Value constructor taking begin/end pointer to initialize the Value with a non-zero terminated string.
2010-02-21 14:08:17 +00:00
Baptiste Lepilleur
4a5e58c4f4
Integrated part of Patch #2839016 , fixing default iterator initialization when using internal map.
2010-01-15 14:56:59 +00:00
Baptiste Lepilleur
a1d6c9e66a
Fixed iteration bug over null values.
2009-11-23 22:33:30 +00:00
Baptiste Lepilleur
45c499d310
- added mini unit testing framework
...
- added unit tests for Value.isXYZ() and iteration over Value members to compute size
2009-11-21 18:07:09 +00:00
Baptiste Lepilleur
8868147835
- added Features class that describes allowed extension for Reader, to allow for strict configuration
...
- added tests from json.org jsonchecker and modified jsontestrunner to use strict parsing mode when executing them
2009-11-18 21:38:54 +00:00
Malay Shah
ee4b4dab54
Implementing support for reading and writing Unicode escape sequences.
2009-11-13 04:21:14 +00:00
Christopher Dunn
f4b73938d2
I always have compiler problems when using operator[](unsigned) when I pass int instead, so I added a note to the comments.
2007-06-13 17:02:59 +00:00
Christopher Dunn
605cd7e902
Added StyledStreamWriter, which has no reason to derive from Writer, since its write() method does cannot return a string and must take a stream.
2007-06-13 15:55:50 +00:00
Christopher Dunn
6d135cb5e3
Added prop svn:eol-style native. Stripped carriage-returns on unix. Hopefully, this will work for Windows too now.
2007-06-13 15:51:04 +00:00
Christopher Dunn
a44cffb342
Fixed compilation warnings. Added -Wall to linux-gcc compilation. JSON_ASSERT_MESSAGE now throws exception (but JSON_ASSERT does not).
2007-05-09 19:35:15 +00:00
Christopher Dunn
842d64e8d7
Added virtual destructor to StyledWriter to avoid -Wall warning from g++
2007-04-19 22:20:46 +00:00
Christopher Dunn
f153eaaed0
Fixed 2.95.3 header probs
2007-03-23 10:19:49 +00:00
Christopher Dunn
56a1d6cbf5
Added istream/ostream funcs/operators
2007-03-23 09:57:01 +00:00
Christopher Dunn
208a781e47
Added empty() operator-bang and isNull()
2007-03-23 08:55:25 +00:00
Christopher Dunn
1aa20f9e58
Added removeMember() and altered a few comments.
2007-03-23 08:30:20 +00:00
Christopher Dunn
02ff716d2f
Added/clarified comments. Move extra verbiage out of brief sections.
2007-03-23 07:28:19 +00:00
Christopher Dunn
ca21256395
setComment() will assert if comment does not start with / (or if it were NULL, which would have seg-faulted before).
2007-03-23 07:05:19 +00:00
Christopher Dunn
8386d3efe1
Added comments, pre- and post-condition for resize(), clear(), Value(ValueType).
2007-03-23 06:38:29 +00:00
Baptiste Lepilleur
2d4dd281f1
- Made FastWriter output more compact.
...
- fixed bug in runjsontests.py script.
2007-03-17 22:14:59 +00:00
Baptiste Lepilleur
4cd8bae331
- reorganized repository to match standard layout
2007-03-15 22:11:38 +00:00