В STL есть std::conjunction и std::disjunction. Тут покрыты лишь две из трёх основных битовых операций в короткой форме. Однако нет никакого аналога xor-метафунктора (xor по определению не имеет короткой формы, но всё же).
Почему в определении бинарная операция а не логическая? Логическая - это !=.
Где требуется метафункция? Кроме консистентности есть какие-то другие причины, почему бы это нужно добавить в стандарт?
В STL есть
std::conjunction
иstd::disjunction
. Тут покрыты лишь две из трёх основных битовых операций в короткой форме. Однако нет никакого аналога xor-метафунктора (xor по определению не имеет короткой формы, но всё же).Possible implementation: