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@phys.ethz.ch> 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@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users