Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Lambda takes iterator as parameters

How to create a lambda function that accepts iterators for vector,list,array? Something like:

auto do_somthing=[](iterator beg,iterator end){
    //code here
}
like image 511
Humam Helfawi Avatar asked Feb 14 '26 13:02

Humam Helfawi


1 Answers

If you use C++14, generalized lambdas will solve your problem nicely.

auto do_something = [](auto begin, auto end) {
   // code here
};

int x[]{ 1, 2, 3, 4 };
do_something(std::begin(x), std::end(x));
std::set<int> s{3, 4, 12, 55, 98 };
do_something(std::begin(s), std::end(s));
like image 170
rollbear Avatar answered Feb 17 '26 02:02

rollbear



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!