I have a function A
that accepts a predicate function as its argument.
I have another function B
and it takes a char
and returns an int
, and a function C
that accepts int
and returns a bool
.
My question is how to bind B
and C
to pass it to function A
.
Something like:
A(bindfunc(B,C))
I know boost::bind
works but i am looking for STL solution.
For example,
int count(vector<int> a, pred func); // A
//this functions counts all elements which satisfy a condition
int lastdigit(int x); // B
//this function outputs last digit(in decimal notation) of number x
bool isodd(int x); // C
//this function tells if number x is odd
// i want to find the count of all such numbers in a vector whose last digit is odd
// so i want something like
count(vector<int> a, bind(lastdigit, isodd))
One bad way would be to make a redundant function D
which explicitly performs bind operation.