Boost logo

Boost :

From: Eric Niebler (eric_at_[hidden])
Date: 2006-10-29 13:59:38


A fusion transform_view of a random access sequence should itself be a
random access sequence, and its category is random access, but it
doesn't seem to implement the complete interface. For instance:

struct plus1
{
     template<typename T> struct result { typedef T type; };
     template<typename T> T operator ()(T const &t) const
     {
         return t + 1;
     }
};

template<typename V>
void bar(V const &v)
{
     boost::fusion::at_c<1>(v); // OK
     boost::fusion::transform_view<V const, plus1> view(v, plus1());
     boost::fusion::at_c<1>(view); // ERROR
}

int main()
{
     bar(boost::fusion::make_vector(1,2,3));
     return 0;
}

I can't randomly access elements of a transformed fusion::vector. Bug?

-- 
Eric Niebler
Boost Consulting
www.boost-consulting.com

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk