|
Boost : |
From: Jonathan Turkanis (technews_at_[hidden])
Date: 2003-12-20 17:40:12
I have found that some MPL algorithms and metafunctions fail to compile on
como 4.3.3 when applied to sequences containing certain lambda expressions.
The simplest example is:
BOOST_STATIC_ASSERT( !empty< list< deref<_> > >::value );
Almost every computation I have tried on sequences containing deref<_> fail.
The output in the above case is shown below.
Thanks,
Jonathan
-----------------------------------------------------------
<file>, line 32: error:
class "boost::mpl::arg<-1>" has no member "type"
typedef typename Iterator::type type;
^
detected during:
instantiation of class "boost::mpl::deref<Iterator> [with
Iterator=boost::mpl::_]" at line 23 of
"<directory>\boost-1.30.2\boost/m
pl/aux_/has_tag.hpp"
instantiation of class "boost::mpl::aux::has_tag<T> [with
T=boost::mpl::list<boost::mpl::deref<boost::mpl::_>,
boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_,
boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_,
boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_>]" at line 114 of
"<directory>\boost-1.30.2\boost/m
pl/sequence_tag.hpp"
instantiation of class "boost::mpl::sequence_tag<Sequence> [with
Sequence=boost::mpl::list<boost::mpl::deref<boost::mpl::_
>, boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_,
boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_,
boost::mpl::void_>]" at line 33 of
"<directory>\boost-1.30.2\boost/m
pl/empty.hpp"
instantiation of class "boost::mpl::empty<Sequence> [with
Sequence=boost::mpl::list<boost::mpl::deref<boost::mpl::_
>, boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_,
boost::mpl::void_, boost::mpl::void_,
boost::mpl::void_,
boost::mpl::void_>]" at line 195 of
"<directory>\C++\metafunction\libs\mpl\mft\
test\test.cpp"
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk