Thrust
Classes | Macros | Typedefs | Variables
Type Traits

Classes

struct  thrust::proclaim_contiguous_iterator< Iterator >
 Customization point that can be customized to indicate that an iterator type Iterator satisfies ContiguousIterator, aka it points to elements that are contiguous in memory. More...
 
struct  thrust::conjunction_value< Bs >
 std::integral_constant whose value is (... && Bs). More...
 
struct  thrust::disjunction_value< Bs >
 std::integral_constant whose value is (... || Bs). More...
 
struct  thrust::negation_value< B >
 std::integral_constant whose value is !Bs. More...
 
struct  thrust::remove_cvref< T >
 UnaryTypeTrait that removes const-volatile qualifiers and references from T. Equivalent to remove_cv_t<remove_reference_t<T>>. More...
 

Macros

#define THRUST_PROCLAIM_CONTIGUOUS_ITERATOR(Iterator)
 Declares that the iterator Iterator is ContiguousIterator by specializing proclaim_contiguous_iterator. More...
 

Typedefs

template<typename T , T... Is>
using thrust::integer_sequence = std::integer_sequence< T, Is... >
 A compile-time sequence of integral constants of type T with values Is.... More...
 
template<std::size_t... Is>
using thrust::index_sequence = std::index_sequence< Is... >
 A compile-time sequence of type std::size_t with values Is.... More...
 
template<typename T , std::size_t N>
using thrust::make_integer_sequence = std::make_integer_sequence< T, N >
 Create a new integer_sequence with elements 0, 1, 2, ..., N - 1 of type T. More...
 
template<std::size_t N>
using thrust::make_index_sequence = std::make_index_sequence< N >
 Create a new integer_sequence with elements 0, 1, 2, ..., N - 1 of type std::size_t. More...
 
template<typename T , std::size_t N>
using thrust::make_reversed_integer_sequence = typename detail::make_reversed_integer_sequence_impl< T, N >::type
 Create a new integer_sequence with elements N - 1, N - 2, N - 3, ..., 0. More...
 
template<std::size_t N>
using thrust::make_reversed_index_sequence = make_reversed_integer_sequence< std::size_t, N >
 Create a new index_sequence with elements N - 1, N - 2, N - 3, ..., 0. More...
 
template<typename T , T Value, typename Sequence >
using thrust::integer_sequence_push_front = typename detail::integer_sequence_push_front_impl< T, Value, Sequence >::type
 Add a new element to the front of an integer_sequence. More...
 
template<typename T , T Value, typename Sequence >
using thrust::integer_sequence_push_back = typename detail::integer_sequence_push_back_impl< T, Value, Sequence >::type
 Add a new element to the back of an integer_sequence. More...
 
template<typename Iterator >
using thrust::is_contiguous_iterator = detail::is_contiguous_iterator_impl< Iterator >
 UnaryTypeTrait that returns true_type if Iterator satisfies ContiguousIterator, aka it points to elements that are contiguous in memory, and false_type otherwise. More...
 
template<typename T >
using thrust::is_execution_policy = detail::is_base_of< detail::execution_policy_marker, T >
 UnaryTypeTrait that returns true_type if T is an ExecutionPolicy and false_type otherwise.
 
template<typename T >
using thrust::is_operator_less_function_object = detail::is_operator_less_function_object_impl< T >
 UnaryTypeTrait that returns true_type if T is a BinaryPredicate equivalent to operator<, and false_type otherwise. More...
 
template<typename T >
using thrust::is_operator_greater_function_object = detail::is_operator_greater_function_object_impl< T >
 UnaryTypeTrait that returns true_type if T is a BinaryPredicate equivalent to operator>, and false_type otherwise. More...
 
template<typename T >
using thrust::is_operator_less_or_greater_function_object = integral_constant< bool, detail::is_operator_less_function_object_impl< T >::value||detail::is_operator_greater_function_object_impl< T >::value >
 UnaryTypeTrait that returns true_type if T is a BinaryPredicate equivalent to operator< or operator>, and false_type otherwise. More...
 
template<typename T >
using thrust::is_operator_plus_function_object = detail::is_operator_plus_function_object_impl< T >
 UnaryTypeTrait that returns true_type if T is a FunctionObject equivalent to operator+, and false_type otherwise. More...
 
template<typename... Ts>
using thrust::conjunction = std::conjunction< Ts... >
 std::integral_constant whose value is (... && Ts::value). More...
 
template<typename... Ts>
using thrust::disjunction = std::disjunction< Ts... >
 std::integral_constant whose value is (... || Ts::value). More...
 
template<typename T >
using thrust::negation = std::negation< T >
 std::integral_constant whose value is !Ts::value. More...
 
template<typename T >
using thrust::remove_cvref_t = typename remove_cvref< T >::type
 Type alias that removes const-volatile qualifiers and references from T. Equivalent to remove_cv_t<remove_reference_t<T>>. More...
 

Variables

template<typename Iterator >
constexpr bool thrust::is_contiguous_iterator_v = is_contiguous_iterator<Iterator>::value
 constexpr bool that is true if Iterator satisfies ContiguousIterator, aka it points to elements that are contiguous in memory, and false otherwise. More...
 
template<typename T >
constexpr bool thrust::is_execution_policy_v = is_execution_policy<T>::value
 constexpr bool that is true if T is an ExecutionPolicy and false otherwise.
 
template<typename T >
constexpr bool thrust::is_operator_less_function_object_v = is_operator_less_function_object<T>::value
 constexpr bool that is true if T is a BinaryPredicate equivalent to operator<, and false otherwise. More...
 
template<typename T >
constexpr bool thrust::is_operator_greater_function_object_v = is_operator_greater_function_object<T>::value
 constexpr bool that is true if T is a BinaryPredicate equivalent to operator>, and false otherwise. More...
 
template<typename T >
constexpr bool thrust::is_operator_less_or_greater_function_object_v = is_operator_less_or_greater_function_object<T>::value
 constexpr bool that is true if T is a BinaryPredicate equivalent to operator< or operator>, and false otherwise. More...
 
template<typename T >
constexpr bool thrust::is_operator_plus_function_object_v = is_operator_plus_function_object<T>::value
 constexpr bool that is true if T is a FunctionObject equivalent to operator<, and false otherwise. More...
 
template<typename... Ts>
constexpr bool thrust::conjunction_v = conjunction<Ts...>::value
 constexpr bool whose value is (... && Ts::value). More...
 
template<typename... Ts>
constexpr bool thrust::disjunction_v = disjunction<Ts...>::value
 constexpr bool whose value is (... || Ts::value). More...
 
template<typename T >
constexpr bool thrust::negation_v = negation<T>::value
 constexpr bool whose value is !Ts::value. More...
 
template<bool... Bs>
constexpr bool thrust::conjunction_value_v = conjunction_value<Bs...>::value
 constexpr bool whose value is (... && Bs). More...
 
template<bool... Bs>
constexpr bool thrust::disjunction_value_v = disjunction_value<Bs...>::value
 constexpr bool whose value is (... || Bs). More...
 
template<bool B>
constexpr bool thrust::negation_value_v = negation_value<B>::value
 constexpr bool whose value is !Ts::value. More...
 

Detailed Description