620 Commits

Author SHA1 Message Date
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
Randolph Voorhies
8ec6ded75c Added renameincludes script
This is to allow projects to easily include Cereal into their project
2013-07-01 15:25:29 -07:00
Shane Grant
825039a4e5 changed to std::distance impl for size on forward_list 2013-07-01 14:19:27 -07:00
Shane Grant
441f5c44a5 removed push/pop pusition from binary archive, forward_list now needs to traverse an extra time for size 2013-07-01 14:16:43 -07:00
Shane Grant
3c2c1315f0 making it possible to override process 2013-07-01 14:10:08 -07:00
Shane Grant
5c3664f134 renamed operator& to processImpl 2013-07-01 11:40:57 -07:00
Shane Grant
d06b100cb5 weak_ptr seems to work for poly types 2013-07-01 11:28:54 -07:00
Shane Grant
7f791d2af9 mostly documentation, some playing around with weak_ptr but it doesn't seem to be properly working 2013-06-29 11:50:51 -07:00
Shane Grant
0568675db1 documentation and style updates 2013-06-28 23:15:52 -07:00
Shane Grant
955eade217 code cleanup and documentation 2013-06-28 23:00:06 -07:00
Shane Grant
358743ac2a Documentation and code cleanup 2013-06-28 22:53:16 -07:00
Randolph Voorhies
0ff5a0fe25 Polymorphic unique_ptrs working 2013-06-28 18:09:13 -07:00
Randolph Voorhies
d9493f02ca Loading polymorphig shared_ptrs works 2013-06-28 17:23:30 -07:00
Randolph Voorhies
3c9554f8a2 null ptr support to unique_ptr 2013-06-28 15:54:45 -07:00
Randolph Voorhies
f1b42507d7 Basic polymorphism serialization works! 2013-06-28 15:29:40 -07:00
Randolph Voorhies
1cb49610b6 Made OutputBinding serializers 2013-06-28 15:23:13 -07:00
Randolph Voorhies
d72cfd7297 OutputBinding initial implementation 2013-06-28 14:53:47 -07:00
Randolph Voorhies
35f538ecae Implemented PtrWrapper in memory 2013-06-28 14:02:13 -07:00
Shane Grant
3815c06798 ?? went to lunch 2013-06-28 13:23:57 -07:00
Shane Grant
196023c4ce tidying up 2013-06-28 11:39:34 -07:00