480 Commits

Author SHA1 Message Date
Shane
b562762291 more progress, everything compiles except portable_binary and json. Archiving not working yet. 2013-07-15 00:46:00 -07:00
Shane
e00a74ccfc traits nearly done, looking good so far 2013-07-14 22:41:56 -07:00
Shane
e9bf7d5f1c Adding visual studio stuff to ignore list, progress on traits.
Tried to detect a case where archives were marked as const but this is harder than it seems.  Now detecting if load or serialize incorrectly marke their type parameters as const (or are const member functions)
2013-07-14 22:02:25 -07:00
Shane
f2dd043daa Working on type traits compatability for visual studio, not as terrible as I thought 2013-07-14 19:29:12 -07:00
Shane Grant
ec4589b4e0 added warnings if not ieee 754, closes #6 2013-07-14 13:38:15 -07:00
Randolph Voorhies
bfe2289636 Changed size_t to cereal::size_type everywhere.
This is to ensure binary compatability between machines of different bit persuasions. cereal::size_type is typedef'd to uint64_t in helpers.hpp for now, but as soon as our 128 bit machines arrive we can change this with a one liner.

closes #10.
2013-07-13 16:28:27 -07:00
Randolph Voorhies
8f367b6502 Need to include types/deque for stack also 2013-07-13 15:49:11 -07:00
Randolph Voorhies
46a1133d03 Queue needs to include deque for the default container 2013-07-13 15:46:58 -07:00
Shane Grant
a00597460c Fixed a valgrind uninitialized warning for portable_binary
Progress towards issue#9, modified unique_ptr<void> to use our empty deleter.  Can't do a full test with libc++ because
of various linker errors related to my configuration of libc++.  No change in behavior under libstdc++.
2013-07-13 10:48:38 -07:00
Shane Grant
66fe64f8b3 Merge pull request #7 from neomantra/gcc4.7
Minor changes to support gcc 4.7.3 thanks to neomantra.  Tested with no issues under 4.7.3 and 4.8.1.
2013-07-12 15:34:19 -07:00
Shane Grant
f6497be17d first implementation of portable binary archive 2013-07-12 14:52:28 -07:00
Shane Grant
59cc5cfaf7 reverting back to original CEREAL_REGISTER_TYPE impl 2013-07-12 12:14:52 -07:00
Shane Grant
1e8e53ff74 renamed binary_detail namespace to variant_detail 2013-07-12 10:49:54 -07:00
Shane Grant
49747ed000 Adding additional macros to enable polymorphic support across compilation units.
closes #5
2013-07-12 10:48:15 -07:00
Evan Wies
3d88d45031 Minor changes to support gcc 4.7
gcc 4.7 has significant C++11 support, but is missing some features.
See http://gcc.gnu.org/gcc-4.7/cxx0x_status.html

* #include <stdexcept> was needed to find std::runtime_error

* gcc 4.7 does not support "Inheriting constructors".  This was fixed by using
  the traditional method of explicitly declaring the constructors.

* Some lambda expressions needed extra love.  More color here:
  http://stackoverflow.com/questions/4940259/c11-lambdas-require-capturing-this-to-call-static-member-function

These changes are minor so I did not use gcc version detection via preprocessor.
2013-07-12 13:33:53 -04:00
Shane Grant
03d11de242 Replaced <COPYRIGHT HOLDER> in license with actual names 2013-07-11 11:01:27 -07:00
Randolph Voorhies
3f5ac02c70 Fixed GCC compile error 2013-07-10 11:28:15 -07:00
Randolph Voorhies
1113559a8a Commenting on specialization enum 2013-07-10 11:02:34 -07:00
Shane Grant
a047688c5c documentation and fixed a typo 2013-07-09 16:08:25 -07:00
Awesome Robot
5e6fdb339a doxygen updates, created some new dox groups, put group defs into mainpage.dox 2013-07-09 15:36:01 -07:00
Shane Grant
237d05b1ba updating doxygen 2013-07-09 14:38:51 -07:00
Shane Grant
048c00a92f load binary working properly, everything looks good for json 2013-07-09 10:46:13 -07:00
Shane Grant
525341a9d8 itsNextName properly initialized to nullptr for json output 2013-07-09 10:32:50 -07:00
Shane Grant
cc8784660c modified unit tests to not use floats for map keys, complex now uses boost_check_close for double types 2013-07-09 10:24:20 -07:00
Randolph Voorhies
035b01b473 JSON looking good, just need to fix up all unit tests 2013-07-08 18:19:12 -07:00
Randolph Voorhies
f830367d9d Writing arrays now works. Reading is next 2013-07-08 17:14:40 -07:00
Randolph Voorhies
4631cac259 Object serialization seems to work 2013-07-08 15:14:56 -07:00
Randolph Voorhies
f0216012be Basic single level JSON reading works 2013-07-08 15:00:25 -07:00
Randolph Voorhies
ae87460183 Fixed genericstream, needs to output \0 on eof 2013-07-08 14:49:54 -07:00
Shane Grant
e098238e6d Smart pointers to abstract types no longer require serialization functions. 2013-07-08 11:56:51 -07:00
Shane Grant
8d4a4194e2 removed ^M from some files, skeleton of input json 2013-07-08 11:42:34 -07:00
Shane Grant
cded3bea43 using BOOST_CHECK_CLOSE for long double comparisons
some documentation updates to both xml and util
2013-07-08 10:13:42 -07:00
Shane Grant
0912411844 Documentation updates and priority_queue now tested for XML 2013-07-07 18:23:21 -07:00
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
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
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
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