{
return dividesOn(_argument1, 2);
}
};
, , , , - . std::bind.
, , . std::count_if .
std::bind(
std::logical_not< bool >(),
std::bind(& dividesOn, std::placeholders::_1, 2)
)
std::bind . . :
● , , ;
● std::placeholder;
● , std::bind.
, , 2, 3. :
std::cout
<< std::count_if(
v.begin(), v.end(),
//
std::bind(
//
std::logical_and< bool >(),
// 2
std::bind(& dividesOn, std::placeholders::_1, 2),
// 3
std::bind(
std::logical_not< bool >(),
std::bind(÷sOn, std::placeholders::_1, 3)
)
)
)
<< std::endl;
std::bind (std::tuple - N- std::pair), (typelists), . , .
, :
, std::bind. , :
// R = 3 * X / (Y + 2)
std::transform(
vX.begin(), vX.end(), vY.begin(),
std::back_inserter(vR),
std::bind< double >(
std::divides< double >(), //
std::bind< double >(//
std::multiplies< double >(),
3.0,
std::placeholders::_1
),
std::bind< double >(//
std::plus< double >(),
std::placeholders::_2,
2.0
)
)
);
, , , . .