Общий лямбда-аргумент для std :: pair

Я пытаюсь понять, возможно ли это в общей лямбде C ++ 14, но я не могу найти правильный способ выразить это (или, возможно, это невозможно). Упрощенный пример:

auto confirmOperation = [](auto pr){
  assert(pr.second);
};

Идея в том, что если вы передадитеstd::pair гдеsecond этоbool (например, что возвращается изemplace функции), это можно посмотреть на это бул.

Если бы это был параметр шаблона, я мог бы явно показатьpair с типами пары как общие, но я не думаю, что это возможно с лямбда? Таким образом, вместо этого я отмечаю весь аргумент как универсальный, и, таким образом, компилятор, кажется, не в состоянии сделать вывод, что я передаю его как возвращение картыemplace().

Есть ли способ сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос