Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r64178 - trunk/libs/serialization/example
From: ramey_at_[hidden]
Date: 2010-07-19 17:00:43


Author: ramey
Date: 2010-07-19 17:00:43 EDT (Mon, 19 Jul 2010)
New Revision: 64178
URL: http://svn.boost.org/trac/boost/changeset/64178

Log:
fix for archives version 7 marked version 6
Added:
   trunk/libs/serialization/example/fix_six.cpp (contents, props changed)

Added: trunk/libs/serialization/example/fix_six.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/serialization/example/fix_six.cpp 2010-07-19 17:00:43 EDT (Mon, 19 Jul 2010)
@@ -0,0 +1,37 @@
+#include <fstream>
+#include <ios>
+#include <iostream>
+#include <boost/integer_traits.hpp>
+#include <boost/archive/binary_iarchive.hpp>
+
+void usage(const char * program_name){
+ std::cout << "usage:";
+ std::cout << program_name << " filename" << std::endl;
+}
+
+int main(int argc, char *argv[]){
+ if(argc != 2){
+ std::cout << "invalid number of arguments" << std::endl;
+ usage(argv[0]);
+ return 1;
+ }
+ std::filebuf fb;
+ fb.open(
+ argv[1],
+ std::ios_base::binary | std::ios_base::in | std::ios_base::out
+ );
+ if(!fb.is_open()){
+ std::cout << argv[1] << " failed to open" << std::endl;
+ return 1;
+ }
+ boost::archive::binary_iarchive ia(fb);
+ boost::archive::library_version_type lvt = ia.get_library_version();
+ if(boost::archive::library_version_type(6) != lvt){
+ std::cout << "library version not equal to six" << std::endl;
+ return 1;
+ }
+ lvt = boost::archive::library_version_type(7);
+ fb.pubseekpos(26, std::ios_base::out);
+ fb.sputn(reinterpret_cast<const char *>(& lvt), sizeof(lvt));
+ fb.close();
+}


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk