Boost logo

Ublas :

From: Haroon Khan (haroon.khan_at_[hidden])
Date: 2006-11-27 02:15:58


Please disregard the boost.lambda query it was intended for boost
users list. Sorry for the confusion

On 11/27/06, Haroon Khan <haroon.khan_at_[hidden]> wrote:
> Hi,
> I'm experimenting with the boost lambda library, and I wrote the
> following code, to go through the vector of numbers and print out
> statements if the number is greater than 5 or less than 5
>
> int a[]={1,2,3,4,5,6,7,8,9,10,10,9,8,4,7,6,5,4,3,3,1};
> std::vector<int> v(a,a+sizeof(a)/sizeof(int));
> std::for_each
> ( v.begin()
> , v.end()
> , (if_(_1<5)[
> std::cout<<var((boost::format("%d is less than
> 5\n")%_1).str())
> ].else_[
> std::cout<<var((boost::format("%d is greater than
> 5\n")%_1).str())
> ]) );
>
> Unfortunately, the boost::basic_format::operator % code gives an
> assertion since
> the object that is being passed is the placeholder object, and not
> the current value. Is there a correct way of doing this?
>
> Thanks, Haroon
>