Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2007-03-27 14:53:36


The error message suggests that we're trying to change the value of a const
reference.

does q.value() return a ref to a const?

perhaps instead of serializing q.value() you want to serialize the
underlying
value directly and making serialization::access a friend of
boost::units::quantity<Unit,Y>

Robert Ramey

Matthias Schabel wrote:
> In attempting to test serialization input for the proposed Boost
> Units library, I am getting this error :
>
> /Users/matthiasschabel/Code/boost-CVS-HEAD-07-02-21-1603/boost/
> archive/detail/iserializer.hpp:589: error: no matching function for
> call to 'load_wrapper(boost::archive::binary_iarchive&, const
> double&, boost::serialization::is_wrapper<double>)'
>
> corresponding to this code :
>
> std::ifstream ifs
> ("boost_units_serialize_test.txt",std::ios::binary);
>
> boost::archive::binary_iarchive bia(ifs);
>
> for (int i=0;i<100;++i)
> {
> quantity<CGS::area> ac;
>
> bia >> ac;
> }
>
> ifs.close();
>
> where I have defined
>
> /// Boost Serialization library support for quantities.
> template<class Archive,class Unit,class Y>
> inline void serialize(Archive& ar,boost::units::quantity<Unit,Y>&
> q,const unsigned int version)
> {
> ar & q.value();
> }
>
> Am I missing something obvious here? I get basically the same error
> if I try using text_iarchive instead...
>
> Matthias
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk