Hi,
I run into compilation error with the Intel compiler for doing serialization traits and tracking. I have the following code which does serialization of virtual base classes :
#include <boost/archive/text_iarchive.hpp>
#include <boost/archive/text_oarchive.hpp>
#include <boost/serialization/utility.hpp>
#include <boost/serialization/split_member.hpp>
#include <boost/serialization/tracking.hpp>
#include <boost/serialization/nvp.hpp>
#include <boost/serialization/export.hpp>
typedef unsigned _int64 ut8;
typedef unsigned char otext;
typedef unsigned int ut4;
class Object
{
private:
void* _ojhi;
ut8 _seqno;
public:
template<class Archive>
void save(Archive &ar, const unsigned int /* file version */) const
{
ar << BOOST_SERIALIZATION_NVP(_ojhi) << BOOST_SERIALIZATION_NVP(_seqno);
}
template<class Archive>
void load(Archive& ar, const unsigned int /* file version */)
{
ar >> BOOST_SERIALIZATION_NVP(_ojhi) >> BOOST_SERIALIZATION_NVP(_seqno);
}
BOOST_SERIALIZATION_SPLIT_MEMBER()
protected:
Object(const Object& ) : _ojhi(NULL), _seqno(0) {}
Object(const char *num=NULL, int is_stub=1) :
_ojhi(NULL), _seqno(0) {}
virtual ~Object() {}
void operator=(const Object& ) {}
};
BOOST_IS_ABSTRACT(Object)
BOOST_CLASS_TRACKING(Object, track_always)
class EModule {
public:
class IInterface : public virtual Object {
private:
static const otext * _Desc;
static const ut4 _pkgIndex;
static const ut4 _clsIndex;
protected:
IInterface() {}
IInterface(const IInterface&) {}
public:
template<class Archive>
void save(Archive& ar, const unsigned int /*file_version*/) const
{
ar << const_cast(otext *> (_Desc) << const_cast<ut4> (_pkgIndex) << const_cast<ut4> (_clsIndex);
ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(Object);
}
template<class Archive>
void load(Archive& ar, const unsigned int /*file_version*/) const
{
ar << const_cast(otext *> (_Desc) << const_cast<ut4> (_pkgIndex) << const_cast<ut4> (_clsIndex);
ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(Object);
}
};
};
BOOST_CLASS_TRACKING(EModule::IInterface, track_always)
class CModule {
public:
class CInterface : public virtual EModule::IInterface, public virtual Object {
private:
static const otext * _Desc;
static const ut4 _pkgIndex;
static const ut4 _clsIndex;
protected:
CInterface() {}
CInterface(const CInterface&) {}
public:
template <class Archive>
void save(Archive& ar, const unsigned int /* file_version */) const
{
ar << const_cast<otext *> (_Desc) << const_cast<ut4> (_pkgIndex) << const_cast<ut4> (_clsIndex);
ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(EModule::IInterface);
ar << BOOST_SERIALIZATION_BASE_OBJECT_NVP(Object);
}
template <class Archive>
void load(Archive & ar, const unsigned int /* file_version */)
{
ar >> const_cast<otext *> (_Desc) >> const_cast<ut4> (_pkgIndex) >> const_cast<ut4> (_clsIndex);
ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(EModule::IInterface);
ar >> BOOST_SERIALIZATION_BASE_OBJECT_NVP(Object);
}
BOOST_SERIALIZATION_SPLIT_MEMBER()
virtual ~CInterface() {}
};
};
BOOST_CLASS_EXPORT(CModule::CInterface)
I followed strictly from the documentation. Is there a way I can get it compiled?
Enclosed please find the compile log.
---------------------------------
Yahoo! Mail
Use Photomail to share photos without annoying attachments.
W:\WUTemp\Myfolder\xsolapi>ecl /c /Fotest1.obj /G2 /Wp64 /GR /GX /Qms /O1 /G2 /nologo /Zl /G2 /DWIN64 /D_WIN64 /DWIN_NT /DWIN32COMMON /MD /DSS_64BIT_SERVER /D_IA64_=1 -DOS_STL_ASSERT /Zm300 /Ob0 test1.cpp
test1.cpp
v:\temp\boost_1_33_0\boost/archive/detail/oserializer.hpp(566): error: incomplete type is not allowed
BOOST_STATIC_ASSERT(check_tracking<T>::value);
^
detected during:
instantiation of "void boost::archive::save(Archive &__ptr64, T &__ptr64) [with Archive=boost::archive::text_oarchive, T=otext={unsigned char} *__ptr64]" at line 78 of "v:\temp\boost_1_33_0\boost/archive/basic_text_oarchive.hpp"
instantiation of "void boost::archive::basic_text_oarchive<Archive>::save_override(T &__ptr64, int) [with Archive=boost::archive::text_oarchive, T=otext={unsigned char} *__ptr64]" at line 85 of "v:\temp\boost_1_33_0\boost/archive/detail/interface_oarchive.hpp"
instantiation of "Archive &__ptr64 boost::archive::detail::interface_oarchive<Archive>::operator<<(T &__ptr64) [with Archive=boost::archive::text_oarchive, T=otext={unsigned char} *__ptr64]" at line 92 of "test1.cpp"
instantiation of "void CModule::CInterface::save(Archive &__ptr64, const unsigned int ) const [with Archive=boost::archive::text_oarchive]" at line 93 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
instantiation of "void boost::serialization::access::member_save(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=const CModule::CInterface ]" at line 43 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
[ 15 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/serialization/access.hpp(109): error: expression must have class type
t.serialize(ar, file_version);
^
detected during:
instantiation of "void boost::serialization::access::serialize(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=unsigned char]" at line 81 of "v:\temp\boost_1_33_0\boost/serialization/serialization.hpp"
instantiation of "void boost::serialization::serialize(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=unsigned char]" at line 140 of "v:\temp\boost_1_33_0\boost/serialization/serialization.hpp"
instantiation of "void boost::serialization::serialize_adl(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=unsigned char]" at line 224 of "v:\temp\boost_1_33_0\boost/archive/detail/oserializer.hpp"
instantiation of "boost::archive::detail::pointer_oserializer<T, Archive>::pointer_oserializer() [with T=unsigned char, Archive=boost::archive::text_oarchive]" at line 189 of "v:\temp\boost_1_33_0\boost/archive/detail/oserializer.hpp"
instantiation of class "boost::archive::detail::pointer_oserializer<T, Archive> [with T=unsigned char, Archive=boost::archive::text_oarchive]" at line 189 of "v:\temp\boost_1_33_0\boost/archive/detail/oserializer.hpp"
[ 28 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
test1.cpp(92): error: the type in a const_cast must be a pointer, reference, or pointer to member to an object type
ar << const_cast<otext *> (_Desc) << const_cast<ut4> (_pkgIndex) << const_cast<ut4> (_clsIndex);
^
detected during:
instantiation of "void CModule::CInterface::save(Archive &__ptr64, const unsigned int ) const [with Archive=boost::archive::text_oarchive]" at line 93 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
instantiation of "void boost::serialization::access::member_save(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=const CModule::CInterface ]" at line 43 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::detail::member_saver<Archive, T>::invoke(Archive &__ptr64, const T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=CModule::CInterface]" at line 69 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::split_member(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=CModule::CInterface]" at line 103
instantiation of "void CModule::CInterface::serialize(Archive &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive]" at line 109 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
[ 12 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
test1.cpp(92): error: the type in a const_cast must be a pointer, reference, or pointer to member to an object type
ar << const_cast<otext *> (_Desc) << const_cast<ut4> (_pkgIndex) << const_cast<ut4> (_clsIndex);
^
detected during:
instantiation of "void CModule::CInterface::save(Archive &__ptr64, const unsigned int ) const [with Archive=boost::archive::text_oarchive]" at line 93 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
instantiation of "void boost::serialization::access::member_save(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=const CModule::CInterface ]" at line 43 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::detail::member_saver<Archive, T>::invoke(Archive &__ptr64, const T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=CModule::CInterface]" at line 69 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::split_member(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive, T=CModule::CInterface]" at line 103
instantiation of "void CModule::CInterface::serialize(Archive &__ptr64, const unsigned int ) [with Archive=boost::archive::text_oarchive]" at line 109 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
[ 12 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/archive/detail/oserializer.hpp(459): error: expression must be a pointer to a complete object type
const basic_pointer_oserializer * bpos_ptr = register_type(ar, * t);
^
detected during:
instantiation of "void boost::archive::detail::save_pointer_type<Archive, TPtr>::invoke(Archive &__ptr64, const TPtr ) [with Archive=boost::archive::text_oarchive, TPtr=void *__ptr64]" at line 535
instantiation of "void boost::archive::save(Archive &__ptr64, const T &__ptr64) [with Archive=boost::archive::text_oarchive, T=void *__ptr64]" at line 78 of "v:\temp\boost_1_33_0\boost/archive/basic_text_oarchive.hpp"
instantiation of "void boost::archive::basic_text_oarchive<Archive>::save_override(T &__ptr64, int) [with Archive=boost::archive::text_oarchive, T=void *const __ptr64 ]" at line 85 of "v:\temp\boost_1_33_0\boost/archive/detail/interface_oarchive.hpp"
instantiation of "Archive &__ptr64 boost::archive::detail::interface_oarchive<Archive>::operator<<(T &__ptr64) [with Archive=boost::archive::text_oarchive, T=void *const __ptr64 ]" at line 77 of "v:\temp\boost_1_33_0\boost/serialization/nvp.hpp"
instantiation of "void boost::serialization::nvp<T>::save(Archivex &__ptr64, const unsigned int ) const [with T=void *const __ptr64 , Archivex=boost::archive::text_oarchive]" at line 93 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
[ 58 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/archive/detail/oserializer.hpp(466): error: expression must be a pointer to a complete object type
save(ar, * t, bpos_ptr);
^
detected during:
instantiation of "void boost::archive::detail::save_pointer_type<Archive, TPtr>::invoke(Archive &__ptr64, const TPtr ) [with Archive=boost::archive::text_oarchive, TPtr=void *__ptr64]" at line 535
instantiation of "void boost::archive::save(Archive &__ptr64, const T &__ptr64) [with Archive=boost::archive::text_oarchive, T=void *__ptr64]" at line 78 of "v:\temp\boost_1_33_0\boost/archive/basic_text_oarchive.hpp"
instantiation of "void boost::archive::basic_text_oarchive<Archive>::save_override(T &__ptr64, int) [with Archive=boost::archive::text_oarchive, T=void *const __ptr64 ]" at line 85 of "v:\temp\boost_1_33_0\boost/archive/detail/interface_oarchive.hpp"
instantiation of "Archive &__ptr64 boost::archive::detail::interface_oarchive<Archive>::operator<<(T &__ptr64) [with Archive=boost::archive::text_oarchive, T=void *const __ptr64 ]" at line 77 of "v:\temp\boost_1_33_0\boost/serialization/nvp.hpp"
instantiation of "void boost::serialization::nvp<T>::save(Archivex &__ptr64, const unsigned int ) const [with T=void *const __ptr64 , Archivex=boost::archive::text_oarchive]" at line 93 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
[ 58 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/serialization/access.hpp(109): error: expression must have class type
t.serialize(ar, file_version);
^
detected during:
instantiation of "void boost::serialization::access::serialize(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=unsigned char]" at line 81 of "v:\temp\boost_1_33_0\boost/serialization/serialization.hpp"
instantiation of "void boost::serialization::serialize(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=unsigned char]" at line 140 of "v:\temp\boost_1_33_0\boost/serialization/serialization.hpp"
instantiation of "void boost::serialization::serialize_adl(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=unsigned char]" at line 318 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of "boost::archive::detail::pointer_iserializer<T, Archive>::pointer_iserializer() [with T=unsigned char, Archive=boost::archive::text_iarchive]" at line 201 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of class "boost::archive::detail::pointer_iserializer<T, Archive> [with T=unsigned char, Archive=boost::archive::text_iarchive]" at line 201 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
[ 29 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
test1.cpp(99): error: the type in a const_cast must be a pointer, reference, or pointer to member to an object type
ar >> const_cast<otext *> (_Desc) >> const_cast<ut4> (_pkgIndex) >> const_cast<ut4> (_clsIndex);
^
detected during:
instantiation of "void CModule::CInterface::load(Archive &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive]" at line 101 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
instantiation of "void boost::serialization::access::member_load(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 54 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::detail::member_loader<Archive, T>::invoke(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 69 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::split_member(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 103
instantiation of "void CModule::CInterface::serialize(Archive &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive]" at line 109 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
[ 13 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
test1.cpp(99): error: the type in a const_cast must be a pointer, reference, or pointer to member to an object type
ar >> const_cast<otext *> (_Desc) >> const_cast<ut4> (_pkgIndex) >> const_cast<ut4> (_clsIndex);
^
detected during:
instantiation of "void CModule::CInterface::load(Archive &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive]" at line 101 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
instantiation of "void boost::serialization::access::member_load(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 54 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::detail::member_loader<Archive, T>::invoke(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 69 of "v:\temp\boost_1_33_0\boost/serialization/split_member.hpp"
instantiation of "void boost::serialization::split_member(Archive &__ptr64, T &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 103
instantiation of "void CModule::CInterface::serialize(Archive &__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive]" at line 109 of "v:\temp\boost_1_33_0\boost/serialization/access.hpp"
[ 13 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp(472): error: expression must be a pointer to a complete object type
const basic_pointer_iserializer * bpis_ptr = register_type(ar, *t);
^
detected during:
instantiation of "void boost::archive::detail::load_pointer_type<Archive, Tptr>::invoke(Archive &__ptr64, Tptr &__ptr64) [with Archive=boost::archive::text_iarchive, Tptr=void *__ptr64]" at line 559
instantiation of "void boost::archive::load(Archive &__ptr64, T &__ptr64) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 64 of "v:\temp\boost_1_33_0\boost/archive/basic_text_iarchive.hpp"
instantiation of "void boost::archive::basic_text_iarchive<Archive>::load_override(T &__ptr64, int) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 64 of "v:\temp\boost_1_33_0\boost/archive/text_iarchive.hpp"
instantiation of "void boost::archive::text_iarchive_impl<Archive>::load_override(T &__ptr64, int) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 84 of "v:\temp\boost_1_33_0\boost/archive/detail/interface_iarchive.hpp"
instantiation of "Archive &__ptr64 boost::archive::detail::interface_iarchive<Archive>::operator>>(T &__ptr64) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 85 of "v:\temp\boost_1_33_0\boost/serialization/nvp.hpp"
[ 65 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp(480): error: expression must be a pointer to a complete object type
t = pointer_tweak(newbpis_ptr->get_eti(), t, *t);
^
detected during:
instantiation of "void boost::archive::detail::load_pointer_type<Archive, Tptr>::invoke(Archive &__ptr64, Tptr &__ptr64) [with Archive=boost::archive::text_iarchive, Tptr=void *__ptr64]" at line 559
instantiation of "void boost::archive::load(Archive &__ptr64, T &__ptr64) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 64 of "v:\temp\boost_1_33_0\boost/archive/basic_text_iarchive.hpp"
instantiation of "void boost::archive::basic_text_iarchive<Archive>::load_override(T &__ptr64, int) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 64 of "v:\temp\boost_1_33_0\boost/archive/text_iarchive.hpp"
instantiation of "void boost::archive::text_iarchive_impl<Archive>::load_override(T &__ptr64, int) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 84 of "v:\temp\boost_1_33_0\boost/archive/detail/interface_iarchive.hpp"
instantiation of "Archive &__ptr64 boost::archive::detail::interface_iarchive<Archive>::operator>>(T &__ptr64) [with Archive=boost::archive::text_iarchive, T=void *__ptr64]" at line 85 of "v:\temp\boost_1_33_0\boost/serialization/nvp.hpp"
[ 65 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/serialization/access.hpp(116): error #373: "Object::~Object(unsigned int)" is inaccessible
delete const_cast<T *>(t);
^
detected during:
instantiation of "void boost::serialization::access::destroy(const T *__ptr64) [with T=Object]" at line 105 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of "void boost::archive::detail::iserializer<Archive, T>::destroy(void *__ptr64) const [with Archive=boost::archive::text_iarchive, T=Object]" at line 113 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of "boost::archive::detail::iserializer<Archive, T>::iserializer() [with Archive=boost::archive::text_iarchive, T=Object]" at line 144 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of "boost::archive::detail::iserializer<Archive, T> &__ptr64 boost::archive::detail::iserializer<Archive, T>::instantiate() [with Archive=boost::archive::text_iarchive, T=Object]" at line 362 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of "void boost::archive::detail::load_non_pointer_type<Archive, T>::load_standard::invoke(Archive &__ptr64, T &__ptr64) [with Archive=boost::archive::text_iarchive, T=Object]" at line 412 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
[ 38 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"
v:\temp\boost_1_33_0\boost/serialization/access.hpp(123): error #373: "CModule::CInterface::CInterface()" is inaccessible
::new(t)T;
^
detected during:
instantiation of "void boost::serialization::access::construct(Archive &__ptr64, T *__ptr64) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 105 of "v:\temp\boost_1_33_0\boost/serialization/serialization.hpp"
instantiation of "void boost::serialization::load_construct_data(Archive &__ptr64, T *__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 170 of "v:\temp\boost_1_33_0\boost/serialization/serialization.hpp"
instantiation of "void boost::serialization::load_construct_data_adl(Archive &__ptr64, T *__ptr64, const unsigned int ) [with Archive=boost::archive::text_iarchive, T=CModule::CInterface]" at line 307 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of "void boost::archive::detail::pointer_iserializer<T, Archive>::load_object_ptr(boost::archive::detail::basic_iarchive &__ptr64, void *__ptr64 &__ptr64, const unsigned int ) const [with T=CModule::CInterface, Archive=boost::archive::text_iarchive]" at line 329 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
instantiation of "boost::archive::detail::pointer_iserializer<T, Archive>::pointer_iserializer() [with T=CModule::CInterface, Archive=boost::archive::text_iarchive]" at line 201 of "v:\temp\boost_1_33_0\boost/archive/detail/iserializer.hpp"
[ 9 instantiation contexts not shown ]
instantiation of class "boost::archive::detail::export_generator<T, ASeq> [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
implicit definition of "const boost::archive::detail::export_generator<CModule::CInterface, boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>> boost::archive::detail::export_generator<T, ASeq>::instance [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 178 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "const void *__ptr64 boost::archive::detail::export_instance<T, ASeq>::not_abstract::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 210 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instance<T, ASeq>::invoke() [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]" at line 219 of "v:\temp\boost_1_33_0\boost/serialization/export.hpp"
instantiation of "std::pair<const void *__ptr64, const void *__ptr64> boost::archive::detail::export_instantiate(T &__ptr64, ASeq &__ptr64) [with T=CModule::CInterface, ASeq=boost::mpl::list2<boost::archive::text_oarchive, boost::archive::text_iarchive>]"