Logical Operations
template <typename T = void> struct thrust::logical_and;
struct thrust::logical_and< void >;
template <typename T = void> struct thrust::logical_or;
struct thrust::logical_or< void >;
template <typename T = void> struct thrust::logical_not;
struct thrust::logical_not< void >;