C++ Functional Library - bit_and
Description
It is a bitwise AND function object class and binary function object class whose call returns the result of applying the bitwise "and" operation between its two arguments (as returned by operator &).
Declaration
Following is the declaration for std::bit_and.
template <class T> struct bit_and;
C++11
template <class T> struct bit_and;
Parameters
T − It is a type of the arguments and return type of the functional call.
Return Value
none
Exceptions
noexcep − It doesn't throw any exceptions.
Example
In below example explains about std::bit_and.
#include <iostream>
#include <functional>
#include <algorithm>
#include <iterator>
int main () {
int values[] = {1000,2000,3000,4000,5000};
int masks[] = {0xf,0xf,0xf,255,255};
int results[5];
std::transform (values, std::end(values), masks, results, std::bit_and<int>());
std::cout << "results:";
for (const int& x: results)
std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
Let us compile and run the above program, this will produce the following result −
8 0 8 160 136
functional.htm