changes to serialization (split_free)?

I just updated to latest cvs head, and my serialization split_free broke. It used to be that namespace boost { namespace serialization { template<class Archive, class U> inline void serialize (Archive &ar, ublas::vector<U>& v, const unsigned int file_version) { boost::serialization::split_free (ar, v, file_version); } } } Would work when 'save' and 'load' were free functions in ::namespace, but now I'm getting 'no matching function' for 'save' and 'load'. Moving 'save' and 'load' into boost::serialization namespace fixed it. Is this expected/desired? This is gcc-4.1.1 (fedora fc6)

Neal Becker wrote:
I just updated to latest cvs head, and my serialization split_free broke.
It used to be that
namespace boost { namespace serialization { template<class Archive, class U> inline void serialize (Archive &ar, ublas::vector<U>& v, const unsigned int file_version) { boost::serialization::split_free (ar, v, file_version); } } }
Would work when 'save' and 'load' were free functions in ::namespace, but now I'm getting 'no matching function' for 'save' and 'load'. Moving 'save' and 'load' into boost::serialization namespace fixed it.
Is this expected/desired? This is gcc-4.1.1 (fedora fc6)
The proper place for these should be in ublas::, but I see that split_free has an explicit hack that allows you to put them in boost::serialization as well.

I don't know of anything that that would affect this. What "broke" ? Robert Ramey Neal Becker wrote:
I just updated to latest cvs head, and my serialization split_free broke.
It used to be that
namespace boost { namespace serialization { template<class Archive, class U> inline void serialize (Archive &ar, ublas::vector<U>& v, const unsigned int file_version) { boost::serialization::split_free (ar, v, file_version); } } }
Would work when 'save' and 'load' were free functions in ::namespace, but now I'm getting 'no matching function' for 'save' and 'load'. Moving 'save' and 'load' into boost::serialization namespace fixed it.
Is this expected/desired? This is gcc-4.1.1 (fedora fc6)
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Robert Ramey wrote:
I don't know of anything that that would affect this. What "broke" ?
Robert Ramey
It used to compile without error, now I get the referred to error; which is, 'no matching function' for the 'save' and 'load'. As suggested, I moved save and load to boost::numeric::ublas, and it compiles. In any case, *something* changed.
Neal Becker wrote:
I just updated to latest cvs head, and my serialization split_free broke.
It used to be that
namespace boost { namespace serialization { template<class Archive, class U> inline void serialize (Archive &ar, ublas::vector<U>& v, const unsigned int file_version) { boost::serialization::split_free (ar, v, file_version); } } }
Would work when 'save' and 'load' were free functions in ::namespace, but now I'm getting 'no matching function' for 'save' and 'load'. Moving 'save' and 'load' into boost::serialization namespace fixed it.
Is this expected/desired? This is gcc-4.1.1 (fedora fc6)
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (3)
-
Neal Becker
-
Peter Dimov
-
Robert Ramey