C++ Program to Demonstrate Unary Negater With logical_not Predicate
#include <iostream>
#include <algorithm>
#include <vector>
#include <functional>
#include <iomanip>
using namespace std;
void print(const vector <int>& v)
{
vector <int>::const_iterator i;
for (i = v.begin(); i != v.end(); i++)
{
cout << setw(2) << *i << " ";
}
cout << endl;
}
int main()
{
int arr1[] = {0, 1, 1, 0, 1, 0, 0};
vector <int> v(arr1 , arr1 + sizeof(arr1) / sizeof(int));
cout << "Vector : ";
print(v);
cout << "Using logical_not predicate without not1" << endl;
transform(v.begin(), v.end(), v.begin(), logical_not<int>());
cout << "Vector : ";
print(v);
cout << "Using logical_not predicate with not1" << endl;
transform(v.begin(), v.end(), v.begin(), not1(logical_not<int>()));
cout << "Vector : ";
print(v);
}
Output:
Vector : 0 1 1 0 1 0 0
Using logical_not predicate without not1
Vector : 1 0 0 1 0 1 1
Using logical_not predicate with not1
Vector : 1 0 0 1 0 1 1
