Есть задача,где нужно разложить один контейнер на 2 других по условию, которое будет задаваться лямбда функцией.
Как мне указать в шаблоне в качестве параметра, что это лямбда функция?
template<typename inputType,typename leftContainer,typename rightContainer>
void OddEven(inputType input,leftContainer left,rightContainer right,лямбда функция){
for(auto key:input){
if(лямбда функция(key)){
left.insert(left.end(),key);
}else{
right.insert(right.end(),key);
}
}
}
{
//Например:
std::vector<int> v{ 1,2,3,4,5 };
std::list<int> l; //сюда четные
std::deque<int> d; //а сюда нечетные
OddEven(v, l, d, [](const auto &val){val>0?true:false;});
asm("nop");
}