Merge branch 'master' of git.r-c-v.com:rand/cereal

This commit is contained in:
Shane Grant 2013-06-14 16:20:57 -07:00
commit 2ba3fe9165
8 changed files with 1196 additions and 139 deletions

View File

@ -2,7 +2,7 @@ all: test.cpp unittests
g++ -std=c++0x test.cpp -o test -ljsoncpp -I./..
unittests: unittests.cpp
g++ -std=c++0x unittests.cpp -o unittests -lboost_unit_test_framework -I./..
clang++ -std=c++0x unittests.cpp -o unittests -lboost_unit_test_framework -I./..
./unittests --show_progress
boost_serialize: boost_serialize.cpp

View File

@ -12,7 +12,7 @@ namespace cereal
{
ar & deque.size();
for( const auto & i : deque )
for( auto const & i : deque )
ar & i;
}

View File

@ -12,7 +12,7 @@ namespace cereal
{
ar & list.size();
for( const auto & i : list )
for( auto const & i : list )
ar & i;
}

View File

@ -68,7 +68,7 @@ namespace cereal
{
C container;
ar & container;
priority_queue = std::priority_queue<T, C, Comp>( std::move( container ) );
priority_queue = std::priority_queue<T, C, Comp>( container.begin(), container.end() );
}
} // namespace cereal

View File

@ -7,8 +7,8 @@
namespace cereal
{
//! Saving for std::set to binary
template <class K, class H, class KE, class A>
void save( BinaryOutputArchive & ar, std::set<K, H, KE, A> const & set )
template <class K, class C, class A>
void save( BinaryOutputArchive & ar, std::set<K, C, A> const & set )
{
ar & set.size();
@ -17,8 +17,8 @@ namespace cereal
}
//! Loading for std::set to binary
template <class K, class H, class KE, class A>
void load( BinaryInputArchive & ar, std::set<K, H, KE, A> & set )
template <class K, class C, class A>
void load( BinaryInputArchive & ar, std::set<K, C, A> & set )
{
size_t size;
ar & size;
@ -33,8 +33,8 @@ namespace cereal
}
//! Saving for std::multiset to binary
template <class K, class H, class KE, class A>
void save( BinaryOutputArchive & ar, std::multiset<K, H, KE, A> const & multiset )
template <class K, class C, class A>
void save( BinaryOutputArchive & ar, std::multiset<K, C, A> const & multiset )
{
ar & multiset.size();
@ -43,8 +43,8 @@ namespace cereal
}
//! Loading for std::multiset to binary
template <class K, class H, class KE, class A>
void load( BinaryInputArchive & ar, std::multiset<K, H, KE, A> & multiset )
template <class K, class C, class A>
void load( BinaryInputArchive & ar, std::multiset<K, C, A> & multiset )
{
size_t size;
ar & size;

View File

@ -10,8 +10,6 @@ namespace cereal
template<class CharT, class Traits, class Alloc>
void save(BinaryOutputArchive & ar, std::basic_string<CharT, Traits, Alloc> const & str)
{
std::cout << "Saving string" << std::endl;
// Save number of chars + the data
ar & str.size();
ar.save_binary(str.data(), str.size() * sizeof(CharT));
@ -21,8 +19,6 @@ namespace cereal
template<class CharT, class Traits, class Alloc>
void load(BinaryInputArchive & ar, std::basic_string<CharT, Traits, Alloc> & str)
{
std::cout << "Loading string" << std::endl;
size_t size;
ar & size;
str.resize(size);

View File

@ -11,7 +11,7 @@ namespace cereal
typename std::enable_if<std::is_arithmetic<T>::value && !std::is_same<T, bool>::value, void>::type
save( BinaryOutputArchive & ar, std::vector<T, A> const & vector )
{
const size_t dataSize = std::addressof(vector.back()) - std::addressof(vector.front()) + 1;
size_t const dataSize = std::addressof(vector.back()) - std::addressof(vector.front()) + 1;
ar & vector.size(); // number of elements
ar & dataSize; // size of data (may be larger due to allocator strategy)

File diff suppressed because it is too large Load Diff