595 Commits

Author SHA1 Message Date
Shane Grant
8db68d25bd Use __VA_ARGS__ in register macros
See #141

Should work across all compilers we currently support, for any other
times when templated types are needed in a macro, just unroll the macro
manually and replace as necessary
2016-03-01 14:52:32 -08:00
Shane Grant
61c8e148f6 Merge branch 'arm_fixes' of https://github.com/kallehuttunen/cereal into kallehuttunen-arm_fixes 2016-03-01 14:33:14 -08:00
Shane Grant
7ea8da1a27 update copyright date and remove extra include 2016-03-01 14:31:17 -08:00
Shane Grant
08891efaa9 Add empty serialization func for std::less
-Resolves issues with compiling priority_queue (#264)
-Removed std::less serialization from testing common file
2016-03-01 14:30:02 -08:00
Shane Grant
404f3597ff Merge branch 'vcatechnology-json' into develop
see #229
2016-02-05 13:55:55 -08:00
Shane Grant
c5a47be1e3 more documentation for #201 2016-02-05 10:46:38 -08:00
Shane Grant
aaed50c767 Changing directories for concepts
relates #205
2016-02-05 10:24:22 -08:00
Shane Grant
e9d33b0a1f BinaryData optimization for Bitset
Integrates the changes proposed by #236

Bitset will now use a chunking method when serializing to BinaryData
capable archives, which should be faster, especially for larger bitsets.

Archives that do not support BinaryData will continue to use the old method.

Also added a larger bitset to the test case
2016-02-05 10:14:44 -08:00
Shane Grant
6c1b3f7602 Add desired NVP name to NVP not found error for json/xml
see #226
2016-01-27 15:48:21 -08:00
Shane Grant
7f3e3b59b1 Merge pull request #228 from kylefleming/fix_boost_variant
Fix boost::variant compile error with clang 3.5.0/3.6.0
2016-01-27 15:02:27 -08:00
Kalle Huttunen
977062eeb1 Fix ambiguous function template overload in json.hpp
There are already the "small signed/unsigned overloads" of loadValue that
are always selected for integers smaller than 64 bits.

The fixed overloads conflicted with the "small signed/unsigned overloads"
if:

- long is smaller than 64 bits
- int32_t is not typedef for long
2016-01-22 10:13:52 +02:00
Kalle Huttunen
742a585626 Account for possibility of char being unsigned by default in xml.hpp
This is the case for example in ARM based platforms.
2016-01-22 10:03:31 +02:00
Shane Grant
20778fe4b8 Finish up endian support for portable binary
-added more tests
-should resolve #115
2015-12-27 23:21:59 -08:00
Shane Grant
33556de79f include <polymorphic> by default for <memory>
relates #193
2015-12-25 18:11:25 -08:00
Shane Grant
05afe09737 Merge branch 'issue_188' into develop
resolves #188

still need to update website doc
2015-12-25 18:02:20 -08:00
Shane Grant
61d610db27 Merge branch 'develop' of github.com:USCiLab/cereal into develop 2015-12-25 17:58:08 -08:00
Shane Grant
5a906d1c41 add inline specifier to function 2015-12-25 17:53:08 -08:00
Shane Grant
33e421cb32 Cleanup on documentation/some other small things
relates #188
2015-12-25 17:51:02 -08:00
Shane Grant
3f055ae24c Working on MSVC2013
-removed some debug messages
-spruced up some documentation
-modified main.cpp for MSVC tests to properly compile given previously made changes in common.hpp
relates issue #188
2015-12-23 22:54:35 -08:00
Shane Grant
37380fa6ff First pass at inline doc for new polymorphic casting
Also some changes to make sandbox things work with the new casting

Made it so base_class doesn't need to know about polymorphism to work

All relates to #188
2015-12-22 23:39:25 -08:00
Shane Grant
ba561c067f Merge pull request #240 from kersson/json_minimal_msvc2013
Additional MSVC JSON minimal fixes
2015-12-22 14:56:39 -08:00
Shane Grant
ecb44372e5 grammar fix 2015-12-22 14:52:02 -08:00
Shane Grant
61429d2292 Merge branch 'develop' of https://github.com/BigSeb/cereal into BigSeb-develop 2015-12-22 14:44:37 -08:00
Shane Grant
7a3933ff0f Wrapping up external code in cereal namespace
Covers base64 and rapidxml, still need to do json
see #121
2015-12-22 14:26:14 -08:00
Shane Grant
bdd766d474 Adding unit tests for polymorphic casting
Added support for up and downcasting for polymorphism, see issue #188

Still needs final documentation + cleanup
2015-12-20 18:15:29 -08:00
Shane Grant
5008bddcb9 initial progress towards #188, fixed in the save direction
Needs to be done in load direction + unit tests + attribution + cleanup
2015-12-19 12:07:26 -08:00
Sébastien Matte
de1011152e Fixed an issue with the preservation of whitespaces for strings. The validation may be invalid when one of the previous calls to the saveValue was done and the value was taking more characters. A test is now added in order to reproduce this error. 2015-11-06 00:24:17 -05:00
Krishna Ersson
3184b468bc Additional MSVC JSON minimal fixes
The fixes in f451090 still did not solve USCiLab/cereal#217.
Changed the SFINAE logic to use EnableIf with AND conjunctions via the variadic arguments.
2015-10-08 17:11:18 -04:00
Shane Grant
1479f8e635 XML getNodeName working as intended now
Fixes #235
2015-09-24 21:17:49 -07:00
Matt Clarkson
2c0451d647 Support root arrays in JSONInput
If a root array '[13, 14, 15]' is given to the JSONInput it will fail to
parse it because it is expecting an object. Root arrays are conformable to
the old JSON specification that the version of RapidJSON cereal uses
implements
2015-09-22 15:03:24 +01:00
Matt Clarkson
608d48d7b8 Fix whitespace alignment 2015-09-17 15:15:31 +01:00
Matt Clarkson
8fefa0cd77 Allow serialization of nullptr
This allows 'null' to be written to JSON archives
2015-09-17 15:15:13 +01:00
Matt Clarkson
f54f9e89fd Correct whitespace error 2015-09-11 14:45:47 +01:00
Shane Grant
0ff685ce4d Merge pull request #220 from berenm/patch-1
Add inline specifiers to make_size_tag, prologue and epilogue
2015-09-09 22:47:17 -07:00
Shane Grant
f45109083f MSVC JSON minimal fixes
MSVC 2013 couldn't handle the boolean expression used in some SFINAE tests - was treating a three-way OR with one true value as false.  This fixes #217
2015-09-09 22:25:15 -07:00
Matt Clarkson
6da711b843 Allow JSON output node to finish arrays
It is possible that a node might want to serialize as an Array at the
top level. This patch closes out the array if that is the situation.
2015-09-04 10:13:40 +01:00
Matt Clarkson
23053232d4 Resolve whitespace error 2015-09-04 10:13:24 +01:00
Kyle Fleming
df33ae5c4d Fix boost::variant compile error with clang 3.5.0
boost::variant<int> variant(10);
cereal::JSONOutputArchive oarchive(std::cout);
cereal::save(oarchive, variant);

note: candidate template ignored: substitution failure [with Archive = cereal::JSONOutputArchive, VariantTypes = <>]: too few template arguments for class template 'variant'
  void save( Archive & ar, boost::variant<VariantTypes...> const & variant )

see: https://llvm.org/bugs/show_bug.cgi?id=20890#c1
2015-09-03 17:10:32 -07:00
Beren Minor
447bdc7399 Add inline specifiers to make_size_tag, prologue and epilogue
It looks like that MSVC doesn't want to inline make_size_tag, and it has an impact on performance. I haven't seen the problem with prologue and epilogue functions. In anyways, just for the sake of consistency with other wrappers, inline looks sensible here.
2015-08-20 16:34:40 +02:00
Shane Grant
b849a39950 Merge branch 'abutcher-gh-generalize-map-serializer' into develop
see #205
2015-07-17 10:47:13 -07:00
Shane Grant
db6aaffb69 Comment level doc for #205 2015-07-17 10:46:33 -07:00
Adam Butcher
d350c81947 concepts/pair_associative_container.hpp: Have inclusion guard reflect location. 2015-07-17 09:18:41 +01:00
Adam Butcher
207c085a26 Added cereal/concepts/pair_associative_container.hpp and restored std includes in cereal/types/{unordered_map,map}.hpp 2015-07-17 09:13:23 +01:00
Adam Butcher
84e2f8edda Generalize cereal/types/map.hpp to deal with arbitrary pair associative containers having mapped_type. 2015-07-14 10:49:08 +01:00
Janick Martinez Esturo
f3d7206bb2 Fix shared_ptr costum deleter
Correctly prevent calling destructor on unitialized data
2015-06-16 01:41:56 +01:00
Shane Grant
4b1b70b302 tab spacing style fix 2015-05-02 21:52:44 -07:00
Shane Grant
839ae30cc0 style changes 2015-05-02 21:41:43 -07:00
Shane Grant
7e1d32f1d5 Merge branch 'std.valarray.support.implementation' of https://github.com/ilerik/cereal into ilerik-std.valarray.support.implementation 2015-05-02 21:30:25 -07:00
Shane Grant
5d541d33cd JSON now matches string length for out of order NVPs
Fixes #183, relates #168, #169
fix originally proposed by @felixzng
2015-05-02 21:17:44 -07:00
ilerik
005d628652 Added support for std::valarray.
1) Implemented std::valarray serialization (based on vector.hpp) in file valarray.hpp
2) Implemented unit tests in file valarray.cpp (based on vector.cpp tests, except for bool case)
3) vs2013/unittests project configuration updated accordingly
4) unittests/common.hpp updated.
5) No documentation so far
2015-04-18 17:50:59 +03:00