Public Types | Public Member Functions | List of all members
thrust::logical_not< T > Struct Template Reference

#include <thrust/functional.h>

Public Types

typedef T first_argument_type
 The type of the function object's first argument.
typedef T second_argument_type
 The type of the function object's second argument.
typedef bool result_type
 The type of the function object's result;.

Public Member Functions

__thrust_exec_check_disable__ __host__ __device__ bool operator() (const T &x) const

Detailed Description

template<typename T>
struct thrust::logical_not< T >

logical_not is a function object. Specifically, it is an Adaptable Predicate, which means it is a function object that tests the truth or falsehood of some condition. If f is an object of class logical_not<T> and x is an object of class T (where T is convertible to bool) then f(x) returns true if and only if x is false.

Template Parameters
Tmust be convertible to bool.

The following code snippet demonstrates how to use logical_not to transform a device_vector of bools into its logical complement.

thrust::device_vector<bool> V;
thrust::transform(V.begin(), V.end(), V.begin(), thrust::logical_not<bool>());
// The elements of V are now the logical complement of what they were prior
See also

The documentation for this struct was generated from the following file: