Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2004-08-09 22:41:11


The test results for the serialization library show a problem with VC 8.0
which for the life of me I can't understand.

http://www.meta-comm.com/engineering/boost-regression/developer/output/Rudbe
kAssociates-bin-boost-libs-serialization-test-test_array_binary_archive-test
-vc8-0-debug.html

The corresponding code is below. If someone has any insight here I would
love to here it. FWIW - no other compiler complains. - and I can't see
anything wrong with it. If it's a bug - how do I work around it?

Thanks in advance.

Robert Ramey

namespace boost {

namespace archive {
namespace detail {
    template<class Archive, class T>
    class iserializer;
    template<class Archive, class T>
    class oserializer;
} // namespace detail
} // namespace archive

namespace serialization {

// forward declarations
namespace detail {
    template<class Archive, class T>
    struct member_saver;
    template<class Archive, class T>
    struct member_loader;
} // namespace detail

// use an "accessor class so that we can use:
// "friend class boost::serialization::access;"
// in any serialized class to permit clean, safe access to private class
members
// by the serialization system

class access {
public:
    // grant access to "real" serialization defaults
#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
public:
#else
    template<class Archive, class T>
    friend struct detail::member_saver;
    template<class Archive, class T>
    friend struct detail::member_loader;
    template<class Archive, class T>
    friend class boost::archive::detail::iserializer;
    template<class Archive, class T>
    friend class boost::archive::detail::oserializer;
    template<class Archive, class T>
    friend inline void serialize(
        Archive & ar,
        T & t,
        const BOOST_PFTO unsigned int file_version
    );
    template<class Archive, class T>
    friend inline void save_construct_data(
        Archive & ar,
        const T * t,
        const BOOST_PFTO unsigned int file_version
    );
    template<class Archive, class T>
    friend inline void load_construct_data(
        Archive & ar,
        T * t,
        const BOOST_PFTO unsigned int file_version
    );
#endif


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