The four function objects std::bit_and, std::bit_or, std::bit_xor and std::bit_not model the functionality of the corresponding bit operators &, |, ^, ~.
As with all other function objects from the <functional> header, the void specialization will deduce the type from the arguments.
Compiler Explorer link: https://compiler-explorer.com/z/5a8xrE9se