"Oliver Kania" <kania.oliver@googlemail.com> wrote in message news:1262c4ee0711080702u39083c2gec466f83af0d22cf@mail.gmail.com...Hello and thx
I guess that means I cannot change class state in my save method.
That is what I need ! Is there any way around it ?
regards, Oliver
On Nov 8, 2007 3:47 PM, Oliver Mutz < omutz@isdcad.de> wrote:
Hello Oliver,
Your save method has to be const.
Regards
Oliver
________________________________
Von: boost-users-bounces@lists.boost.org
[mailto: boost-users-bounces@lists.boost.org] Im Auftrag von Oliver Kania
Gesendet: Donnerstag, 8. November 2007 15:16
An: boost-users
Betreff: [Boost-users] [Boost Users] Serialization: problems when
splittingserialize into load / save
_______________________________________________
Hello out there !
I have an urgent problem concerning boost::serialize.
I have split the serialize operation into save / load as described
in the tutorial:
===================================================
template<class Archive>
void save( Archive &ar, unsigned int version) {
m_offlineMode = true;
// we cannot load more when offline --> always cachedAll
bool oldCachedAll = m_CachedAll;
m_CachedAll = true;
ar & m_CachedAll;
ar & m_offlineMode;
// do not serialize the lock -- use the default constructor.
// we assume that no iterators that lock the cache do exist
when serializing.
// ar & m_Lock;
ar & m_LookupId;
ar & m_LookupName;
ar & m_SequenceNumber;
//reset old state for the case we want to continue working
m_CachedAll = oldCachedAll;
m_offlineMode = false;
}
template<class Archive>
void load( Archive &ar, unsigned int version) {
ar & m_CachedAll;
ar & m_offlineMode;
// do not serialize the lock -- use the default constructor.
// we assume that no iterators that lock the cache do exist
when serializing.
// ar & m_Lock;
ar & m_LookupId;
ar & m_LookupName;
ar & m_SequenceNumber;
//reset old state for the case we want to continue working
}
BOOST_SERIALIZATION_SPLIT_MEMBER()
===============================================================
The class I serialize is part of a deep class hierarchy that I want to
serialize as a whole.
With the standard serialize() it seems to work, but now the compiler complains
( when I
want to perform the actual serialization):
error C2662: 'void
jedox::palo::AbstractCache<C,Exception>::save<Archive>(Archive &,unsigned
int)' :
cannot convert 'this' pointer from 'const
jedox::palo::AbstractCache<C,Exception>' to
'jedox::palo::AbstractCache<C,Exception> &'
AbstractCache is the class containing the above load / save operations
kind regards,
Oliver
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users
_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users