729 Commits

Author SHA1 Message Date
Shane Grant
436a0a275c g++ 4.7.3 compatability fixed
closes #38

Added a preprocessor define CEREAL_OLDER_GCC that exists if using
any GCC 4.7.x or earlier.  If this is defined some type traits change to
our original solution (prior to VS compatible), which is probably what we'd switch
to if VS ever gets around to fully supporting SFINAE and constexpr.

In map and set, as well as in unit tests, use insert instead of emplace for 4.7.x.
2013-12-22 13:25:06 -08:00
Shane Grant
456122cfd0 re-do fix for 4.7
beware using the wrong compiler, still uses typo fix
2013-12-22 12:41:18 -08:00
Shane Grant
046eefa4af fixed typo in characterOk that allows previous 4.7 workaround to be removed 2013-12-22 12:39:20 -08:00
Shane Grant
402ff90c4e 4.7 compatability changes
-Convert to int with constexpr in reader/writer to avoid
 always false comparison error in gcc 4.7.3
-make clean now removes visual studio sandbox if built
-fixes to traits for 4.7, still more to do there
see #38
2013-12-22 12:32:54 -08:00
Shane Grant
89baf45371 fixed shadow warning 2013-12-22 12:15:50 -08:00
Shane Grant
8e5fa8ef33 testing macros for gcc 4.7 2013-12-22 12:14:23 -08:00
Shane Grant
9085b6dc79 Adding tests for #8, fixed bug re #8
Added a test case for versioning which exposed a small bug that related to loading versioned data due to an improper use
of static.
2013-12-21 23:21:24 -08:00
Shane Grant
7ef5a9311b Making some changes on vs2013, replacing some typedefs with using statements now that those are cool 2013-12-21 21:22:46 -08:00
Shane Grant
f9b3eb5bd6 Adding missing header from access for std::uint32 2013-12-21 13:54:10 -08:00
Shane Grant
10b7f7a00f Compiling with pedantic on
see issue #17
2013-12-21 00:08:37 -08:00
Shane Grant
f27eb02caf Compiling with clang and gcc with -Wshadow
See issue #17

Somewhere along the way we've also broken our ability to compile with GCC 4.7.3.  We'll have to decide if we care about
supporting 4.7.3 or not.  The changes that break this are:

-there is no emplace in std::map (or related) in 4.7.3
-there are some enable_ifs in rapidjson's writer.h that are always false (which is fine), but
GCC 4.7.3 doesn't like this
2013-12-20 20:22:17 -08:00
Shane Grant
16b6e791a4 Compiles with wextra under clang 2013-12-20 11:56:28 -08:00
Shane Grant
cc9c4ac2b2 make all compiling with wextra
see #17
2013-12-20 11:51:45 -08:00
Shane Grant
59f066f974 doxygen updates #22 2013-12-20 11:41:17 -08:00
Shane Grant
c98a232fb1 no longer calling versioning "boost transition layer"
Separating actual boost transition layer (operator&, <<, >>) with the versioning
stuff, which is now a feature of cereal on its own.

Moving macro for defining version information into cereal.hpp to make it visible.

Added code level (doxygen) documentation for these features

See issue #22
2013-12-20 11:36:05 -08:00
Shane Grant
4a698e9e76 Merge branch 'develop' of github.com:USCiLab/cereal into develop 2013-12-20 11:11:25 -08:00
Shane Grant
b85a2ad7bb Adds denormal support for json
see issue #31
2013-12-20 11:10:49 -08:00
Shane Grant
b5e1f3af26 Adding support for denormalized floating point 2013-12-20 10:43:02 -08:00
Shane Grant
a4b438e59e adds ability to parse infinity 2013-12-20 10:11:29 -08:00
Shane Grant
f178572e77 Adding ability to parse NaN 2013-12-20 10:08:09 -08:00
Randolph Voorhies
087a64298e Small code cleanup 2013-12-19 20:02:47 -08:00
Randolph Voorhies
6246b652a5 Making the Versions struct a StaticObject
This refs issue #37 and possibly fixes it.
2013-12-18 18:04:25 -08:00
Shane Grant
d6bfabe7cc Versioning working
see #8
2013-12-11 12:02:12 -08:00
Shane Grant
6dcef8370b unstable wip 2013-12-10 16:47:40 -08:00
Shane Grant
9a3b1a339c Boost transition layer saving working
See issue #8
2013-12-08 13:28:39 -08:00
Shane Grant
d30c21e5f8 Serialize (save) working with versioning
Simple case of making these functions for the rest of the output archive serialization functions and then adding it to
load.  Progress towards issue #8.
2013-12-04 23:58:58 -08:00
Shane Grant
e64ad60b4a closes #34 2013-12-04 23:39:50 -08:00
Shane Grant
2c15ff7103 More progress towards issue #8
Remaining things to do: Modify cereal.hpp to properly choose between
versioned and non-versioned functions and place entries in the set of
versioned types as appropriate.
2013-12-02 22:52:31 -08:00
Shane Grant
646d35222a Modified performance testing for Boost Transition Layer
Had to split apart the structs that were being serialized by both boost and cereal
as we no longer allow a type to have both versioned and non-versioned serialization functions
2013-12-02 22:32:43 -08:00
Shane Grant
cf64c03335 Working on type traits for Boost Transition Layer 2013-12-02 21:28:48 -08:00
Shane Grant
61315b09ec adding version macro for boost transition layer 2013-12-01 00:10:31 -08:00
Shane Grant
3411b0f3a8 testing boost ops 2013-10-17 15:22:17 -07:00
Shane Grant
a5641c5421 implements operator& and <<, >> overloads for boost compat
see #8
2013-10-17 15:19:48 -07:00
Shane Grant
b733fe6f46 Should close #13
Cleaned up the implementation a little, I'm sure it can still be optimized further.  Undid some hacky things in
rapidjson that the old implementation utilized.
2013-10-17 11:35:55 -07:00
Shane Grant
855002604b unordered json working, needs to be optimized 2013-10-17 10:58:02 -07:00
Shane Grant
7bd5dffff9 working on json unordered loads, almost settled on a solution 2013-10-16 17:16:22 -07:00
Shane Grant
279d60c008 Fixes #27 2013-10-16 13:37:25 -07:00
Shane Grant
400b72ecfc Progress towards #13 unordered JSON loads 2013-10-14 12:04:57 -07:00
Shane Grant
54d02ab16a documentation and code cleanup 2013-10-14 11:09:50 -07:00
Shane Grant
4e7ec310b3 mostly comment changes 2013-10-12 16:03:28 -07:00
Shane Grant
8b170b1651 more reorg/doc updates 2013-10-09 11:33:27 -07:00
Shane Grant
767c9ee06f Making makefile a bit nicer, moving some code around in xml.hpp to better organize it 2013-10-09 11:23:08 -07:00
Shane Grant
83e06bdc7f Fix and close #19
All containers that used insert during loads (map, unordered_map, set, unordered_set)
now use emplace or emplace_hint and move their loaded values into position.
2013-09-12 10:23:43 -07:00
Shane Grant
112cb47c62 removed debug messages, closes #14 2013-09-06 17:17:29 -07:00
Shane Grant
3fccebb030 out of order XML working properly:
Errors in unittests turned out to be errors in the way the tests were written,
not in the actual XML archive.

Additional errors were due to improper loads in vector<bool>, which is now
fixed.
2013-09-06 17:14:44 -07:00
Shane Grant
db0f1cf47f Changed the way vector<bool> works to avoid issues with XML.
XML out of order seems to be working fine but the unit tests are running into a crash on the out of order test, which
doesn't show up in the sandbox version of the same thing.  Need to debug this and out of order should be good to go
for XML.
2013-09-06 16:33:23 -07:00
Shane Grant
7137314e58 debugging xml ooo 2013-09-06 15:43:22 -07:00
Shane Grant
7f857a2f42 more progress towards unordered XML - need to look everything over and clean up 2013-09-01 18:37:19 -07:00
Shane Grant
92559772f1 added unit test for unordered loads and fixed an error with loading/saving vectors of bools.
unit test is currently crashing on the xml load test
2013-09-01 16:11:36 -07:00
Shane Grant
04430f32ba Unordered loads looking good for XML, needs better testing though. 2013-09-01 15:18:54 -07:00