Boost logo

Boost Users :

Subject: [Boost-users] logical operators in lambda
From: Conoscenza Silente (abruzzoforteegentile_at_[hidden])
Date: 2010-04-07 11:17:31


Hi All
I am trying to use boost::lambda using logicat operator.
I would like to use it in a STL std::find_if call.

What I receive is always the same error
 error: no match for ‘operator==’ in ‘boost::lambda::<unnamed>::_1 == 13’

Do you know what I am doing wrong?
Thanks
AFG

using namespace boost::assign;

int main( int argc, char** argv ){

    std::vector< int > v;
    v += 12,13,14,15;

    bool found_tmp = false;
    boost::lambda::var_type< bool >::type found(
    boost::lambda::var(found_tmp) );

    std::find_if(
        v.begin(),
        v.end(),
        (
            found = ( boost::lambda::_1 == 13 ),
            return found
        ) );
}



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net