[1.35] [serialization] header dependency when using msvc-8.0

Hi all, this very simple program here didn't compile with msvc-8.0 and boost 1.35: // bugtest-boost-1.35-mpl.cpp #include <boost/serialization/map.hpp> int main(int argc, char* argv[]) { return 0; } The compiler outputs those error lines: d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2039: 'and_' : is not a member of 'boost::mpl' d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(50) : see reference to class template instantiation 'boost::serialization::is_bitwise_serializable<std::pair<_Ty1,_Ty2>>' being compiled d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2504: 'and_' : base class undefined d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2143: syntax error : missing ',' before '<' Adding another include line before the existing one makes the compile succeed: #include <boost/mpl/and.hpp> Surely this must be a simple bug in the serialization library. Cheers Stefan

Stefan Heinzmann wrote:
Hi all,
this very simple program here didn't compile with msvc-8.0 and boost 1.35:
// bugtest-boost-1.35-mpl.cpp
#include <boost/serialization/map.hpp>
int main(int argc, char* argv[]) { return 0; }
The compiler outputs those error lines:
d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2039: 'and_' : is not a member of 'boost::mpl' d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(50) : see reference to class template instantiation 'boost::serialization::is_bitwise_serializable<std::pair<_Ty1,_Ty2>>' being compiled d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2504: 'and_' : base class undefined d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) : error C2143: syntax error : missing ',' before '<'
Adding another include line before the existing one makes the compile succeed:
#include <boost/mpl/and.hpp>
Surely this must be a simple bug in the serialization library.
I can confirm that the same thing happens with msvc-9.0 also.

Open up a trak ticket on this. Robert Ramey Stefan Heinzmann wrote:
Hi all,
this very simple program here didn't compile with msvc-8.0 and boost 1.35:
// bugtest-boost-1.35-mpl.cpp
#include <boost/serialization/map.hpp>
int main(int argc, char* argv[]) { return 0; }
The compiler outputs those error lines:
d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48)
error C2039: 'and_' : is not a member of 'boost::mpl'
d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(50)
see reference to class template instantiation 'boost::serialization::is_bitwise_serializable<std::pair<_Ty1,_Ty2>>' being compiled d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) error C2504: 'and_' : base class undefined d:\src\libs\boost\include\boost-1_35\boost\serialization\utility.hpp(48) error C2143: syntax error : missing ',' before '<'
Adding another include line before the existing one makes the compile succeed:
#include <boost/mpl/and.hpp>
Surely this must be a simple bug in the serialization library.
Cheers Stefan
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Robert Ramey <ramey <at> rrsd.com> writes:
Open up a trak ticket on this.
Done: http://svn.boost.org/trac/boost/ticket/1822 Cheers Stefan
participants (3)
-
Edward Diener
-
Robert Ramey
-
Stefan Heinzmann