Commit Graph

35 Commits

Author SHA1 Message Date
Shane Grant
e2d07a1670 Added unit tests for complex and bitset
Made all template functions for the various types inline
2013-06-16 11:31:59 -07:00
Shane Grant
0c56175a1c Adding bitset and complex, both untested
This makes us "feature complete (tm)" as far as things that look worth serializing in the standard library

just need the unit tests for these then we can profile size and speed vs boost
2013-06-15 23:26:47 -07:00
Shane Grant
adcc2532db Unit tests for std::tuple, fixed tuple serialization
Boost check for tuple serialization check could be made better, pair probably the same as well.  boost doesn't like
pairs or tuples in BOOST_CHECK_EQUAL
2013-06-15 22:54:03 -07:00
Randolph Voorhies
4aecb595d5 Empty class elision, and priority_queue unit tests 2013-06-14 18:05:08 -07:00
Shane Grant
2ba3fe9165 Merge branch 'master' of git.r-c-v.com:rand/cereal 2013-06-14 16:20:57 -07:00
Randolph Voorhies
7c3c3781ce unit tests for priority_queue, fixed bug in priority_queue 2013-06-14 16:15:43 -07:00
Shane Grant
618b9c5815 Added macro guard for restricting serialization type 2013-06-14 15:01:46 -07:00
Randolph Voorhies
dab76ebd79 Fixed template arguments in set 2013-06-14 15:00:57 -07:00
Shane Grant
e66e6d38df Adding pair and tuple 2013-06-14 14:50:57 -07:00
Randolph Voorhies
6d8b3f16d4 Merge branch 'master' of git.r-c-v.com:rand/cereal
Conflicts:
	binary_archive/list.hpp
2013-06-14 14:46:17 -07:00
Randolph Voorhies
0dd44928c3 Added map unit tests.
Something funky is going on with the stream operator here, but whatever.
2013-06-14 14:45:11 -07:00
Shane Grant
156704dfe0 adding ignore rules, finished container support 2013-06-14 14:36:54 -07:00
Randolph Voorhies
57a1a8fb53 Merge branch 'master' of git.r-c-v.com:rand/cereal 2013-06-14 13:51:09 -07:00
Shane Grant
b50e0d6b2c adding unordered map, some cleanup 2013-06-14 13:47:52 -07:00
Randolph Voorhies
70225c8e31 Merge branch 'master' of git.r-c-v.com:rand/cereal
Conflicts:
	binary_archive/array.hpp
	binary_archive/forward_list.hpp
2013-06-14 13:46:20 -07:00
Shane Grant
3785c759c8 working on more stl functionality 2013-06-14 13:43:49 -07:00
Shane Grant
50ab9ea53f removing extra non const versions of save 2013-06-14 13:35:32 -07:00
Shane Grant
9225d1c741 Fixed error with push/pop position, works fine now 2013-06-14 13:32:54 -07:00
Shane Grant
e9d277025f const_cast for save(), seeking for binary_oarchive
Using const cast to get rid of having two versions of save (changed vector and array so far)

Initial implementation of seeking to allow saving and restoring position within a binary archive
2013-06-14 12:17:21 -07:00
Randolph Voorhies
d060da918c Added list unit tests 2013-06-13 18:45:33 -07:00
Randolph Voorhies
6821955323 Added forward_list unit tests
Also, forward_list has no .size() method. For now, we're using a linear
traversal of the container with std::distance. We may want to do
something more efficient later?
2013-06-13 18:40:57 -07:00
Randolph Voorhies
11019ef8de Adding deque unit tests 2013-06-13 18:31:29 -07:00
Randolph Voorhies
010252c1d7 Fixed serialization error in vector, added tests 2013-06-13 18:26:29 -07:00
Randolph Voorhies
d1abb9effa Fixing error when serializing arrays with internal
We need to be careful about accepting values as const in our save and
load functions for containers. Consider the following example:

SomeStruct has an internal serialize method. We want to serialize an
array of these things, and so we write a function like:

  void save(BinaryOutputArchive & ar, std::array<SomeStruct, N> const & arr)
  {
    for(SomeStruct const & s : arr) ar & s;
  }

Now we're screwed, because SomeStruct's serialize function looks like
this:

  struct SomeStruct
  {
    template<class Archive>
    void serialize(Archive & ar) // notice there is no const qualifier here!
    { ... whatever ... }
  };

So, the solution is to write a non-const and a const version of save for
containers of non-arithmetic types.
2013-06-13 17:39:27 -07:00
Randolph Voorhies
d198eea570 Merge branch 'master' of git.r-c-v.com:rand/cereal 2013-06-13 17:12:15 -07:00
Awesome Robot
1f5cc9f8b0 adding map and multimap 2013-06-13 17:04:02 -07:00
Randolph Voorhies
bb3f5409d8 Added unit tests for pointers 2013-06-13 17:02:46 -07:00
Awesome Robot
80d0d4ab05 adding support for more stl types 2013-06-13 16:55:56 -07:00
Awesome Robot
bb39747ca9 array support 2013-06-13 16:44:19 -07:00
Awesome Robot
a723dfb47a Added unique_ptr 2013-06-13 16:15:03 -07:00
=
b4afce223b Added weak_ptr support 2013-06-13 16:07:36 -07:00
Laurent Itti
58abf1d2b9 std::shared_ptr works with pointer tracking 2013-06-13 15:54:08 -07:00
Randolph Voorhies
e11edef4c8 Made a special case for arithmetic vectors 2013-06-13 13:29:37 -07:00
Shane Grant
97304f8272 working on pointer support 2013-06-13 12:17:59 -07:00
Shane Grant
4d56ae215b Moving things around into folders; starting to add individual files for support for various standard library things.
Pointers will take some careful thought
2013-06-13 11:31:55 -07:00