Boost logo

Boost Users :

From: sui tam (suitam2006_at_[hidden])
Date: 2006-02-10 20:03:07


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>]"



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net