Общий лямбда-аргумент для std :: pair
Я пытаюсь понять, возможно ли это в общей лямбде C ++ 14, но я не могу найти правильный способ выразить это (или, возможно, это невозможно). Упрощенный пример:
auto confirmOperation = [](auto pr){
assert(pr.second);
};
Идея в том, что если вы передадитеstd::pair
гдеsecond
этоbool
(например, что возвращается изemplace
функции), это можно посмотреть на это бул.
Если бы это был параметр шаблона, я мог бы явно показатьpair
с типами пары как общие, но я не думаю, что это возможно с лямбда? Таким образом, вместо этого я отмечаю весь аргумент как универсальный, и, таким образом, компилятор, кажется, не в состоянии сделать вывод, что я передаю его как возвращение картыemplace()
.
Есть ли способ сделать это?