C++ Functional Library - logical_not



Description

It is a logical NOT function object class and an unary function object class whose call returns the result of the logical "not" operation on its argument (as returned by operator !).

Declaration

Following is the declaration for std::logical_not.

template <class T> struct logical_not;

C++11

template <class T> struct logical_not;

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::logical_not.

#include <iostream>
#include <functional>
#include <algorithm>

int main () {
   bool values[] = {true,false};
   bool result[2];
   std::transform (values, values+2, result, std::logical_not<bool>());
   std::cout << std::boolalpha << "Logical NOT Example as shown below:\n";
   for (int i=0; i<2; i++)
      std::cout << "NOT " << values[i] << " = " << result[i] << "\n";
   return 0;
}

Let us compile and run the above program, this will produce the following result −

Logical NOT Example as shown below:
NOT true = false
NOT false = true
functional.htm
Advertisements