Boost logo

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