Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2005-02-10 00:26:33


So, to summarize,

On my machine the results for test_variant are:

fail borland 5.51
fail borland 5.64
fail msvc 6
fail VC 8.0

pass VC 7.1
pass gcc 3.3

I'm sure these are issues with other libraries and older compilers rather
than the serialization of variant itself. See if you can convince the
respective authors to help you on this.

Robert Ramey

Here is the message for msvc:

test_variant.cpp
Linking to lib file: libboost_serialization-vc6-mt-gd-1_32.lib
C:\BoostMainCVS\boost/serialization/variant.hpp(118) : error C2780: 'class
boost::_bi::bind_t<R,class boost::_mfi::dm<R,T>,class
boost::_bi::list1<class boost::_bi::value<R> > > __cdecl boost::bind(R
T::*,A1)' : expects 2 arguments - 3 provided
        C:\BoostMainCVS\boost/bind.hpp(1501) : see declaration of 'bind'
        C:\BoostMainCVS\boost/serialization/split_free.hpp(44) : see
reference to function template instantiation 'void __cdecl
boost::serialization::save(class boost::archive::binary_oarchive &,const
class boost::variant<bool,float,int,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,struct
boost::detail::variant::void4,struct boost::detail::variant::void5,struct
boost::detail::variant::void6,struct boost::detail::variant::void7,struct
boost::detail::variant::void8,struct boost::detail::variant::void9,struct
boost::detail::variant::void10,struct boost::detail::variant::void11,struct
boost::detail::variant::void12,struct boost::detail::variant::void13,struct
boost::detail::variant::void14,struct boost::detail::variant::void15,struct
boost::detail::variant::void16,struct boost::detail::variant::void17,struct
boost::detail::variant::void18,struct boost::detail::variant::void19>
&,unsigned int)' being compiled
C:\BoostMainCVS\boost/serialization/variant.hpp(118) : error C2780: 'class
boost::_bi::bind_t<R,struct
boost::_mfi::cmf8<R,T,B1,B2,B3,B4,B5,B6,B7,B8>,class boost::_bi::list9<class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class boost::_bi::value<R> >
> __cdecl boost::bind(R (__thiscall T::*)(B1,B2,B3,B4,B5,B6,B7,B8)
const,A1,A2,A3,A4,A5,A6,A7,A8,A9)' : expects 10 arguments - 3 provided
        C:\BoostMainCVS\boost/bind/bind_mf_cc.hpp(222) : see declaration of
'bind'
        C:\BoostMainCVS\boost/serialization/split_free.hpp(44) : see
reference to function template instantiation 'void __cdecl
boost::serialization::save(class boost::archive::binary_oarchive &,const
class boost::variant<bool,float,int,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,struct
boost::detail::variant::void4,struct boost::detail::variant::void5,struct
boost::detail::variant::void6,struct boost::detail::variant::void7,struct
boost::detail::variant::void8,struct boost::detail::variant::void9,struct
boost::detail::variant::void10,struct boost::detail::variant::void11,struct
boost::detail::variant::void12,struct boost::detail::variant::void13,struct
boost::detail::variant::void14,struct boost::detail::variant::void15,struct
boost::detail::variant::void16,struct boost::detail::variant::void17,struct
boost::detail::variant::void18,struct boost::detail::variant::void19>
&,unsigned int)' being compiled
C:\BoostMainCVS\boost/serialization/variant.hpp(118) : error C2780: 'class
boost::_bi::bind_t<R,struct
boost::_mfi::mf8<R,T,B1,B2,B3,B4,B5,B6,B7,B8>,class boost::_bi::list9<class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class boost::_bi::value<R> >
> __cdecl boost::bind(R (__thiscall
T::*)(B1,B2,B3,B4,B5,B6,B7,B8),A1,A2,A3,A4,A5,A6,A7,A8,A9)' : expects 10
arguments - 3 provided
        C:\BoostMainCVS\boost/bind/bind_mf_cc.hpp(211) : see declaration of
'bind'
        C:\BoostMainCVS\boost/serialization/split_free.hpp(44) : see
reference to function template instantiation 'void __cdecl
boost::serialization::save(class boost::archive::binary_oarchive &,const
class boost::variant<bool,float,int,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,struct
boost::detail::variant::void4,struct boost::detail::variant::void5,struct
boost::detail::variant::void6,struct boost::detail::variant::void7,struct
boost::detail::variant::void8,struct boost::detail::variant::void9,struct
boost::detail::variant::void10,struct boost::detail::variant::void11,struct
boost::detail::variant::void12,struct boost::detail::variant::void13,struct
boost::detail::variant::void14,struct boost::detail::variant::void15,struct
boost::detail::variant::void16,struct boost::detail::variant::void17,struct
boost::detail::variant::void18,struct boost::detail::variant::void19>
&,unsigned int)' being compiled
C:\BoostMainCVS\boost/serialization/variant.hpp(118) : error C2780: 'class
boost::_bi::bind_t<R,struct
boost::_mfi::cmf7<R,T,B1,B2,B3,B4,B5,B6,B7>,class boost::_bi::list8<class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R> > > __cdecl boost::bind(R
(__thiscall T::*)(B1,B2,B3,B4,B5,B6,B7) const,A1,A2,A3,A4,A5,A6,A7,A8)' :
expects 9 arguments - 3 provided
        C:\BoostMainCVS\boost/bind/bind_mf_cc.hpp(198) : see declaration of
'bind'
        C:\BoostMainCVS\boost/serialization/split_free.hpp(44) : see
reference to function template instantiation 'void __cdecl
boost::serialization::save(class boost::archive::binary_oarchive &,const
class boost::variant<bool,float,int,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,struct
boost::detail::variant::void4,struct boost::detail::variant::void5,struct
boost::detail::variant::void6,struct boost::detail::variant::void7,struct
boost::detail::variant::void8,struct boost::detail::variant::void9,struct
boost::detail::variant::void10,struct boost::detail::variant::void11,struct
boost::detail::variant::void12,struct boost::detail::variant::void13,struct
boost::detail::variant::void14,struct boost::detail::variant::void15,struct
boost::detail::variant::void16,struct boost::detail::variant::void17,struct
boost::detail::variant::void18,struct boost::detail::variant::void19>
&,unsigned int)' being compiled
C:\BoostMainCVS\boost/serialization/variant.hpp(118) : error C2780: 'class
boost::_bi::bind_t<R,struct boost::_mfi::mf7<R,T,B1,B2,B3,B4,B5,B6,B7>,class
boost::_bi::list8<class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class boost::_bi::value<R> >
> __cdecl boost::bind(R (__thiscall
T::*)(B1,B2,B3,B4,B5,B6,B7),A1,A2,A3,A4,A5,A6,A7,A8)' : expects 9
arguments - 3 provided
        C:\BoostMainCVS\boost/bind/bind_mf_cc.hpp(187) : see declaration of
'bind'
        C:\BoostMainCVS\boost/serialization/split_free.hpp(44) : see
reference to function template instantiation 'void __cdecl
boost::serialization::save(class boost::archive::binary_oarchive &,const
class boost::variant<bool,float,int,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,struct
boost::detail::variant::void4,struct boost::detail::variant::void5,struct
boost::detail::variant::void6,struct boost::detail::variant::void7,struct
boost::detail::variant::void8,struct boost::detail::variant::void9,struct
boost::detail::variant::void10,struct boost::detail::variant::void11,struct
boost::detail::variant::void12,struct boost::detail::variant::void13,struct
boost::detail::variant::void14,struct boost::detail::variant::void15,struct
boost::detail::variant::void16,struct boost::detail::variant::void17,struct
boost::detail::variant::void18,struct boost::detail::variant::void19>
&,unsigned int)' being compiled
C:\BoostMainCVS\boost/serialization/variant.hpp(118) : error C2780: 'class
boost::_bi::bind_t<R,struct boost::_mfi::cmf6<R,T,B1,B2,B3,B4,B5,B6>,class
boost::_bi::list7<class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R>,class
boost::_bi::value<R>,class boost::_bi::value<R> > > __cdecl boost::bind(R
(__thiscall T::*)(B1,B2,B3,B4,B5,B6) const,A1,A2,A3,A4,A5,A6,A7)' : expects
8 arguments - 3 provided
        C:\BoostMainCVS\boost/bind/bind_mf_cc.hpp(174) : see declaration of
'bind'
        C:\BoostMainCVS\boost/serialization/split_free.hpp(44) : see
reference to function template instantiation 'void __cdecl
boost::serialization::save(class boost::archive::binary_oarchive &,const
class boost::variant<bool,float,int,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >,struct
boost::detail::variant::void4,struct boost::detail::variant::void5,struct
boost::detail::variant::void6,struct boost::detail::variant::void7,struct
boost::detail::variant::void8,struct boost::detail::variant::void9,struct
boost::detail::variant::void10,struct boost::detail::variant::void11,struct
boost::detail::variant::void12,struct boost::detail::variant::void13,struct
boost::detail::variant::void14,struct boost::detail::variant::void15,struct
boost::detail::variant::void16,struct boost::detail::variant::void17,struct
boost::detail::variant::void18,struct boost::detail::variant::void19>
&,unsigned int)' being compiled
C:\BoostMainCVS\boost/serialization/variant.hpp(118) : error C2780: 'class
boost::_bi::bind_t<R,struct boost::_mfi::mf6<R,T,B1,B2,B3,B4,B5,B6>,class
boost::_bi::list7<class boost::_bi::value<R>,class
boost::_bi::value<R>,class...
   (remainder deleted because of excessive size)


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