939 Commits

Author SHA1 Message Date
Shane Grant
8fcb6389e8 Made unit tests work for XML, needed to put scope around output archives since they flush on destruction.
Added some documentation to XML output archive describing how it works.

Added attribute size="dynamic" to types that specify a size tag for XML, making it easier for a human to figure out what
they can add or remove data from.

Documentation updates on a few other things.
2013-07-07 18:01:17 -07:00
Randolph Voorhies
0ce654759a Doxygen updates 2013-07-06 19:24:31 -07:00
Randolph Voorhies
af8ba33d63 Merge branch 'master' of git.r-c-v.com:rand/cereal 2013-07-06 19:01:28 -07:00
Randolph Voorhies
ef4ec7bd69 Adding doxygen file tags and STLSupport module 2013-07-06 19:01:04 -07:00
Shane Grant
66baefdaef Merge branch 'master' of git.r-c-v.com:rand/cereal 2013-07-06 16:25:19 -07:00
Shane Grant
39978c7377 added XML to all tests in unittests
Some things are failing, will need to look at this later.

string test is commented out for XML since it doesn't work with wchar yet
priority_queue test is commented out for XML since it doesn't work with empty structs automatically
2013-07-06 16:24:36 -07:00
Shane Grant
a17b067c7e adding bool to pod tests 2013-07-06 16:01:09 -07:00
Shane Grant
1f64755397 added some comments to xml for loadvalue, everything running fine through valgrind now 2013-07-06 15:58:55 -07:00
Randolph Voorhies
74737ede8c Merge branch 'master' of git.r-c-v.com:rand/cereal 2013-07-06 15:58:21 -07:00
Randolph Voorhies
8aae41d529 Documentation 2013-07-06 15:58:13 -07:00
Shane Grant
283db1b09d fixes a memory issue with rapidxml, we need to make sure that input streams are null terminated (C++ api yeah right!) 2013-07-06 15:52:39 -07:00
Shane Grant
c4ce4260ed testing XML for pod types, getting some strange parsing error that needs to be sorted out. doesn't seem to happen 100%
of the time
2013-07-06 15:28:10 -07:00
Shane Grant
0bc893a241 fixing up string to value conversions 2013-07-06 15:17:31 -07:00
Shane Grant
5017efef4e C style arrays now exist in common.hpp, no longer need to do them for each archive type 2013-07-06 13:49:04 -07:00
Shane Grant
219558cbd2 new static_assert if specializing without having the proper serialization functions 2013-07-05 17:05:50 -07:00
Shane Grant
5445bed830 testing for specialized types
reveals that we need an error message if someone specializes but doesn't actually have the save/load functions required
2013-07-05 16:20:22 -07:00
Shane Grant
09fcbc5134 fixed multimap test 2013-07-05 16:07:54 -07:00
Shane Grant
9ed52f22a1 adding doxygen generation 2013-07-04 23:43:46 -07:00
Shane Grant
882415127b testing pointers and polymorphism with xml, looks godo 2013-07-04 23:17:03 -07:00
Shane Grant
611e10cfb3 cereal now gives a static_assert if save is not const 2013-07-04 23:07:12 -07:00
Shane Grant
d5f583587e tidying up 2013-07-04 18:16:06 -07:00
Shane Grant
b8d6bc2a3b Fixed small bug with xml output for unique_ptr, uint8_t was being serialized as a character, now serialized as a number 2013-07-04 18:13:40 -07:00
Shane Grant
41d3098f8e Fixed a bug relating to overload resolution for loading types. ProcessImpl was taking a universal reference and the
type traits were failing on T& as opposed to a T.  loading's processimpl now only takes refs.  we still let op() take
r-values in case someone passes it an nvp or something
2013-07-04 17:54:03 -07:00
Shane Grant
cb6e04c8a6 NVP + traits changes
Added more NVP info to types that need it

Adding ability to detect a save function (member or non-member) that is incorrectly declared as non-const.  This is
needed since some nasty compilation errors crop up if you explicitly specify a serialization type and register that type
with an incorrectly constified save function.

So not done yet, but soon in: using a non const save function will trigger a static assertion.

Still need to investigate registering types with explicit disambiguation
2013-07-04 17:33:13 -07:00
Shane Grant
f37890f7a5 moved _NVP into helpers as _CEREAL_NVP, now using it in other types that serialize metadata other than size
In general, don't use CEREAL_NVP for sizes since those get thrown in a size tag and handled on their own anyway
2013-07-04 14:00:59 -07:00
Shane Grant
8d2bdbf5db cleaning up code, renamed detail in memory to memory_detail 2013-07-04 13:12:32 -07:00
Shane Grant
0871768b0a Update README.md 2013-07-03 22:23:59 -07:00
Shane Grant
3ec111954c Update README.md 2013-07-03 22:22:50 -07:00
Randolph Voorhies
90b994f25c Added make_map_item to unordered flavors 2013-07-03 20:07:12 -07:00
Randolph Voorhies
d24c0e2db2 Added a MapItem to wrap key/value pairs 2013-07-03 20:05:34 -07:00
Randolph Voorhies
3885d8b537 Never using NVP on loads for consistency 2013-07-03 20:02:09 -07:00
Randolph Voorhies
2dcf50a57f Added make_nvp<Archive> to elide unnecessary names 2013-07-03 18:57:42 -07:00
Randolph Voorhies
5609161e3d Performance enhancements for map and set 2013-07-03 18:57:24 -07:00
Randolph Voorhies
34de565d68 Basic JSON saving works 2013-07-03 16:37:47 -07:00
Randolph Voorhies
9b303ccb4e Working on JSON 2013-07-03 16:06:05 -07:00
Shane Grant
27d81b4eb1 xml working 100% assuming no weird bugs 2013-07-03 15:53:59 -07:00
Shane Grant
c2d2e2d142 renamed CEREAL_ARCHIVE_RESTRICT_SERIALIZE to CEREAL_ARCHIVE_RESTRICT, more progress on xml serializtion 2013-07-03 14:00:31 -07:00
Shane Grant
5cecbdf08f working on input xml 2013-07-03 12:08:47 -07:00
Shane Grant
002b1ceeb1 adding size_tag wrappers, XML output looking good 2013-07-03 11:17:47 -07:00
Shane Grant
d3ccaee633 adding missing fiels, adding json lib 2013-07-02 15:33:18 -07:00
Shane Grant
2e7af45f68 added SizeTag, needs to be added to all types with sizes 2013-07-02 15:28:51 -07:00
Shane Grant
ccbc8ef1a9 creating helpers.hpp to house things like binarydata, namevaluepair, etc to trim fat in includes for various types 2013-07-02 15:19:33 -07:00
Shane Grant
362fa9f86b Merge branch 'master' of git.r-c-v.com:rand/cereal 2013-07-02 15:14:15 -07:00
Shane Grant
ebf83956e5 workign on xml 2013-07-02 15:14:07 -07:00
Randolph Voorhies
38a28aa2de Case for serializing true polymorphic pointers 2013-07-02 15:13:47 -07:00
Shane Grant
58e707a40e Working on prologue/epilogue for xml 2013-07-02 15:05:25 -07:00
Shane Grant
6e7c922623 playing with xml implementation
XML is based off of rapidxml

NVPs can no longer be made to NVPs (can't directly nest them)
2013-07-02 13:37:21 -07:00
Shane Grant
d06900df8f ignore updates 2013-07-01 22:42:22 -07:00
Shane Grant
d5d61fd8db Update README.md 2013-07-01 21:44:56 -07:00
Randolph Voorhies
adcc87cc1f Added base_class to complement virtual_base_class 2013-07-01 16:12:43 -07:00