[fusion] mpl::is_sequence<fusion::vector<> >::type::value should work right?

Hi Guys, I've tried the following minimal test with the latest in trunk and I get an error with GCC 4.2. #include <boost/fusion/container/vector.hpp> #include <boost/static_assert.hpp> int main(int argc, char *argv[]) { BOOST_STATIC_ASSERT((boost::mpl::is_sequence<boost::fusion::vector<>
::type::value)); return EXIT_SUCCESS; }
The error is pasted below: /home/dean/boost_trunk/boost/mpl/begin_end.hpp: In instantiation of 'boost::mpl::begin<boost::fusion::vector<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >': /home/dean/boost_trunk/boost/mpl/is_sequence.hpp:95: instantiated from 'boost::mpl::is_sequence<boost::fusion::vector<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >' fusion_is_sequence_test.cpp:5: instantiated from here /home/dean/boost_trunk/boost/mpl/begin_end.hpp:35: error: invalid use of incomplete type 'struct boost::mpl::begin_impl<boost::fusion::fusion_sequence_tag>' /home/dean/boost_trunk/boost/mpl/begin_end_fwd.hpp:19: error: declaration of 'struct boost::mpl::begin_impl<boost::fusion::fusion_sequence_tag>' fusion_is_sequence_test.cpp: In function 'int main(int, char**)': fusion_is_sequence_test.cpp:5: error: 'type' is not a member of 'boost::mpl::is_sequence<boost::fusion::vector<boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_, boost::fusion::void_> >' fusion_is_sequence_test.cpp:5: error: template argument 1 is invalid fusion_is_sequence_test.cpp:5: error: template argument 1 is invalid Is this a bug? HTH -- Dean Michael C. Berris Software Engineer, Friendster, Inc.

Dean Michael Berris wrote:
Hi Guys,
I've tried the following minimal test with the latest in trunk and I get an error with GCC 4.2.
#include <boost/fusion/container/vector.hpp> #include <boost/static_assert.hpp>
int main(int argc, char *argv[]) { BOOST_STATIC_ASSERT((boost::mpl::is_sequence<boost::fusion::vector<>
::type::value)); return EXIT_SUCCESS; }
Try adding #include <boost/fusion/include/mpl.hpp> Cheers, -- Joel de Guzman http://www.boostpro.com http://spirit.sf.net

On Tue, Jan 13, 2009 at 11:16 AM, Joel de Guzman <joel@boost-consulting.com> wrote:
Dean Michael Berris wrote:
Hi Guys,
I've tried the following minimal test with the latest in trunk and I get an error with GCC 4.2.
#include <boost/fusion/container/vector.hpp> #include <boost/static_assert.hpp>
int main(int argc, char *argv[]) { BOOST_STATIC_ASSERT((boost::mpl::is_sequence<boost::fusion::vector<>
::type::value));
return EXIT_SUCCESS; }
Try adding
#include <boost/fusion/include/mpl.hpp>
AHA! That did the trick, thanks. :) Now moving on with adapting GCC Tuple's into Fusion sequences... -- Dean Michael C. Berris Software Engineer, Friendster, Inc.
participants (2)
-
Dean Michael Berris
-
Joel de Guzman