|
Boost Users : |
From: Alejandro Rubinos Carbajal (rubinoes_at_[hidden])
Date: 2007-06-12 11:53:35
how should i do that, the thing is that i am working in a network linux home
and i have to find a way to be make that change in my own proyect not
modificating the boost/multiarray.hpp. You will have to excuse my english i
am from cuba.
i have this code but i don't know how to call it inside a class were i
already have a serialize methods for other parameters of the class, i also
want to make an xml output file.
#ifndef BOOST_MULTI_ARRAY_S11N_HPP
#define BOOST_MULTI_ARRAY_S11N_HPP
//For serialization
#include <iomanip>
#include <iostream>
#include <fstream>
#include <boost/archive/text_oarchive.hpp>
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/binary_oarchive.hpp>
#include <boost/archive/binary_iarchive.hpp>
#include <boost/serialization/split_free.hpp>
//#include <boost/serialization/export.hpp>
//For multi_array
#include <boost/multi_array.hpp>
namespace boost {
namespace serialization {
//-----------------------------------------------------------------------------
template< class Archive, class T >
void save( Archive & ar, const multi_array<T,2>& t,
const unsigned int /* version */ )
{
unsigned int rows = t.shape()[0];
unsigned int cols = t.shape()[1];
ar & rows & cols;
for ( unsigned int i=0; i<rows; ++i ) {
for ( unsigned int j=0; j<cols; ++j ) {
ar & t[i][j];
}
}
}
template< class Archive, class T >
void load( Archive & ar, multi_array<T,2>& t,
const unsigned int /* version */ )
{
unsigned int rows, cols;
ar & rows & cols;
t.resize( boost::extents[rows][cols] );
for ( unsigned int i=0; i<rows; ++i ) {
for ( unsigned int j=0; j<cols; ++j ) {
ar & t[i][j];
}
}
}
template<class Archive, class T>
inline void serialize( Archive & ar, multi_array<T,2>& t,
const unsigned int file_version )
{
split_free(ar, t, file_version);
}
On 6/12/07, Matthias Troyer <troyer_at_[hidden]> wrote:
>
>
> On Jun 12, 2007, at 4:54 PM, Alejandro Rubinos Carbajal wrote:
>
> > I want to know how can i serialize with boost::serialization a two
> > dimensions boost::multiarray.
>
> You will need to implement serialization support in boost::multiarray
>
> Matthias
>
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net