|
Boost : |
From: Brian Braatz (brianb_at_[hidden])
Date: 2005-06-17 14:22:22
struct A {};
struct B {};
struct C {};
struct D {};
struct print_type
{
template <typename T>
void operator()(T const& v) const
{
std::cout << "[ " << typeid(v).name() << " ] ";
}
};
void func()
{
typedef mpl::set3<A,B,C> myset;
typedef mpl::vector<> vec;
typedef myset::type t;
// copy it to a vector
typedef mpl::copy
<
myset::type
, back_inserter< vec >
>::type result_vec;
mpl::for_each<result_vec>( print_type());
}
*****
gives me the following errors (pointing at the mpl::copy<> line)
MSVC7.1 BOOST 1.32
*****
\boost\mpl\deref.hpp(30) : error C2039: 'type' : is not a member of
'boost::mpl::s_iter<Set,Tail>'
with
[
Set=boost::mpl::set3<A,B,C>::type,
Tail=boost::mpl::set0<>
]
\boost\mpl\aux_\preprocessed\plain\fold_impl.hpp(89) : see
reference to class template instantiation 'boost::mpl::deref<Iterator>'
being compiled
with
[
Iterator=boost::mpl::aux::fold_impl<3,boost::mpl::begin<boost::mpl::set3
<A,B,C>::type>::type,boost::mpl::end<boost::mpl::set3<A,B,C>::type>::typ
e,boost::mpl::inserter<boost::mpl::vector<boost::mpl::na,boost::mpl::na,
boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::
na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mp
l::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost:
:mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::mpl::push_
back<boost::mpl::na,boost::mpl::na>>::state,boost::mpl::inserter<boost::
mpl::vector<boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,
boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::
na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mp
l::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost:
:mpl::na,boost::mpl::na>,boost::mpl::push_back<boost::mpl::na,boost::mpl
::na>>::operation>::iter1
]
\boost\mpl\fold.hpp(39) : see reference to class template
instantiation 'boost::mpl::aux::fold_impl<N,First,Last,State,ForwardOp>'
being compiled
with
[
N=3,
First=boost::mpl::begin<boost::mpl::set3<A,B,C>::type>::type,
Last=boost::mpl::end<boost::mpl::set3<A,B,C>::type>::type,
State=boost::mpl::inserter<boost::mpl::vector<boost::mpl::na,boost::mpl:
:na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::m
pl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost
::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,bo
ost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::mpl::p
ush_back<boost::mpl::na,boost::mpl::na>>::state,
ForwardOp=boo
st::mpl::inserter<boost::mpl::vector<boost::mpl::na,boost::mpl::na,boost
::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,bo
ost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na
,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl:
:na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::mpl::push_back<
boost::mpl::na,boost::mpl::na>>::operation
]
\boost\mpl\copy.hpp(36) : see reference to class template
instantiation 'boost::mpl::fold<Sequence,State,ForwardOp>' being
compiled
with
[
Sequence=boost::mpl::set3<A,B,C>::type,
State=boost::mpl::inserter<boost::mpl::vector<boost::mpl::na,boost::mpl:
:na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::m
pl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost
::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,bo
ost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::mpl::p
ush_back<boost::mpl::na,boost::mpl::na>>::state,
ForwardOp=boost::mpl::inserter<boost::mpl::vector<boost::mpl::na,boost::
mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boos
t::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,b
oost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::n
a,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>,boost::mp
l::push_back<boost::mpl::na,boost::mpl::na>>::operation
]
\boost\mpl\copy.hpp(54) : see reference to class template
instantiation 'boost::mpl::aux::copy_impl<Sequence,Inserter>' being
compiled
with
[
Sequence=boost::mpl::set3<A,B,C>::type,
Inserter=boost::mpl::back_inserter<boost::mpl::vector<boost::mpl::na,boo
st::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,
boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::
na,boost::mpl
::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::
mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>>
]
\MplUnique\Test_MplUnique.cpp(158) : see reference to class
template instantiation 'boost::mpl::copy<P1,P2>' being compiled
with
[
P1=boost::mpl::set3<A,B,C>::type,
P2=boost::mpl::back_inserter<boost::mpl::vector<boost::mpl::na,boost::mp
l::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost:
:mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boo
st::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na,
boost::mpl::na,boost::mpl::na,boost::mpl::na,boost::mpl::na>>
]
\boost\mpl\deref.hpp(30) : error C2955: 'boost::type' : use of class
template requires template argument list
\boost\type.hpp(14) : see declaration of 'boost::type'
\boost\mpl\aux_\preprocessed\plain\fold_impl.hpp(89) : error C3203:
'type' : class template invalid as template argument for template
parameter 'T2', expected a real type
\boost\mpl\aux_\preprocessed\plain\fold_impl.hpp(91) : error C3203:
'type' : class template invalid as template argument for template
parameter 'T2', expected a real type
Build log was saved at "file://\MplUnique\_Prj\MsVc_V71\Test
Debug\BuildLog.htm"
Test_MplUnique - 4 error(s), 0 warning(s)
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk