Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Type Traits

/* 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. */template <typename Iterator> struct thrust::proclaim_contiguous_iterator;
/* std::integral_constant whose value is (... && Bs). */template <bool... Bs> struct thrust::conjunction_value;
/* std::integral_constant whose value is (... || Bs). */template <bool... Bs> struct thrust::disjunction_value;
/* std::integral_constant whose value is !Bs. */template <bool B> struct thrust::negation_value;
/* _UnaryTypeTrait_ that removes const-volatile qualifiers and references from T. Equivalent to remove_cv_t<remove_reference_t<T>>. */template <typename T> struct thrust::remove_cvref;
template <typename...> struct thrust::voider;
/* A compile-time sequence of _integral constants_ of type T with values Is.... */template <typename T,   T... Is> using thrust::integer_sequence = see below;
/* A compile-time sequence of type std::size_t with values Is.... */template <std::size_t... Is> using thrust::index_sequence = see below;
/* Create a new integer_sequence with elements 0, 1, 2, ..., N - 1 of type T. */template <typename T,   std::size_t N> using thrust::make_integer_sequence = see below;
/* Create a new integer_sequence with elements 0, 1, 2, ..., N - 1 of type std::size_t. */template <std::size_t N> using thrust::make_index_sequence = see below;
/* Create a new integer_sequence with elements N - 1, N - 2, N - 3, ..., 0. */template <typename T,   std::size_t N> using thrust::make_reversed_integer_sequence = see below;
/* Create a new index_sequence with elements N - 1, N - 2, N - 3, ..., 0. */template <std::size_t N> using thrust::make_reversed_index_sequence = see below;
/* Add a new element to the front of an integer_sequence. */template <typename T,   T Value,   typename Sequence> using thrust::integer_sequence_push_front = see below;
/* Add a new element to the back of an integer_sequence. */template <typename T,   T Value,   typename Sequence> using thrust::integer_sequence_push_back = see below;
/* _UnaryTypeTrait_ that returns true_type if Iterator satisfies ContiguousIterator, aka it points to elements that are contiguous in memory, and false_type otherwise. */template <typename Iterator> using thrust::is_contiguous_iterator = see below;
/* _UnaryTypeTrait_ that returns true_type if T is an _ExecutionPolicy_ and false_type otherwise. */template <typename T> using thrust::is_execution_policy = see below;
/* _UnaryTypeTrait_ that returns true_type if T is a BinaryPredicate equivalent to operator<, and false_type otherwise. */template <typename T> using thrust::is_operator_less_function_object = see below;
/* _UnaryTypeTrait_ that returns true_type if T is a BinaryPredicate equivalent to operator>, and false_type otherwise. */template <typename T> using thrust::is_operator_greater_function_object = see below;
/* _UnaryTypeTrait_ that returns true_type if T is a BinaryPredicate equivalent to operator< or operator>, and false_type otherwise. */template <typename T> using thrust::is_operator_less_or_greater_function_object = see below;
/* _UnaryTypeTrait_ that returns true_type if T is a FunctionObject equivalent to operator+, and false_type otherwise. */template <typename T> using thrust::is_operator_plus_function_object = see below;
/* std::integral_constant whose value is (... && Ts::value). */template <typename... Ts> using thrust::conjunction = see below;
/* std::integral_constant whose value is (... || Ts::value). */template <typename... Ts> using thrust::disjunction = see below;
/* std::integral_constant whose value is !Ts::value. */template <typename T> using thrust::negation = see below;
/* Type alias that removes const-volatile qualifiers and references from T. Equivalent to remove_cv_t<remove_reference_t<T>>. */template <typename T> using thrust::remove_cvref_t = see below;
/* constexpr bool that is true if Iterator satisfies ContiguousIterator, aka it points to elements that are contiguous in memory, and false otherwise. */template <typename Iterator> constexpr bool thrust::is_contiguous_iterator_v = see below;
/* constexpr bool that is true if T is an _ExecutionPolicy_ and false otherwise. */template <typename T> constexpr bool thrust::is_execution_policy_v = see below;
/* constexpr bool that is true if T is a BinaryPredicate equivalent to operator<, and false otherwise. */template <typename T> constexpr bool thrust::is_operator_less_function_object_v = see below;
/* constexpr bool that is true if T is a BinaryPredicate equivalent to operator>, and false otherwise. */template <typename T> constexpr bool thrust::is_operator_greater_function_object_v = see below;
/* constexpr bool that is true if T is a BinaryPredicate equivalent to operator< or operator>, and false otherwise. */template <typename T> constexpr bool thrust::is_operator_less_or_greater_function_object_v = see below;
/* constexpr bool that is true if T is a FunctionObject equivalent to operator<, and false otherwise. */template <typename T> constexpr bool thrust::is_operator_plus_function_object_v = see below;
/* constexpr bool whose value is (... && Ts::value). */template <typename... Ts> constexpr bool thrust::conjunction_v = see below;
/* constexpr bool whose value is (... || Ts::value). */template <typename... Ts> constexpr bool thrust::disjunction_v = see below;
/* constexpr bool whose value is !Ts::value. */template <typename T> constexpr bool thrust::negation_v = see below;
/* constexpr bool whose value is (... && Bs). */template <bool... Bs> constexpr bool thrust::conjunction_value_v = see below;
/* constexpr bool whose value is (... || Bs). */template <bool... Bs> constexpr bool thrust::disjunction_value_v = see below;
/* constexpr bool whose value is !Ts::value. */template <bool B> constexpr bool thrust::negation_value_v = see below;
#define THRUST_PROCLAIM_CONTIGUOUS_ITERATOR = see below;

Member Classes

Struct thrust::proclaim_contiguous_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.

Inherits From: false_type

Struct thrust::conjunction_value

std::integral_constant whose value is (... && Bs).

Struct thrust::disjunction_value

std::integral_constant whose value is (... || Bs).

Struct thrust::negation_value

std::integral_constant whose value is !Bs.

Struct thrust::remove_cvref

UnaryTypeTrait that removes const-volatile qualifiers and references from T. Equivalent to remove_cv_t<remove_reference_t<T>>.

Struct thrust::voider

Types

Type Alias thrust::integer_sequence

template <typename T,   T... Is> using integer_sequence = std::integer_sequence< T, Is... >; A compile-time sequence of integral constants of type T with values Is....

See:

  • integral constants
  • index_sequence
  • make_integer_sequence
  • make_reversed_integer_sequence
  • make_index_sequence
  • make_reversed_index_sequence
  • integer_sequence_push_front
  • integer_sequence_push_back
  • std::integer_sequence

Type Alias thrust::index_sequence

template <std::size_t... Is> using index_sequence = std::index_sequence< Is... >; A compile-time sequence of type std::size_t with values Is....

See:

  • integer_sequence
  • make_integer_sequence
  • make_reversed_integer_sequence
  • make_index_sequence
  • make_reversed_index_sequence
  • integer_sequence_push_front
  • integer_sequence_push_back
  • std::index_sequence

Type Alias thrust::make_integer_sequence

template <typename T,   std::size_t N> using make_integer_sequence = std::make_integer_sequence< T, N >; Create a new integer_sequence with elements 0, 1, 2, ..., N - 1 of type T.

See:

  • integer_sequence
  • index_sequence
  • make_reversed_integer_sequence
  • make_index_sequence
  • make_reversed_index_sequence
  • std::make_integer_sequence

Type Alias thrust::make_index_sequence

template <std::size_t N> using 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.

See:

  • integer_sequence
  • index_sequence
  • make_integer_sequence
  • make_reversed_integer_sequence
  • make_reversed_index_sequence
  • std::make_index_sequence

Type Alias thrust::make_reversed_integer_sequence

template <typename T,   std::size_t N> using 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.

See:

  • integer_sequence
  • index_sequence
  • make_integer_sequence
  • make_index_sequence
  • make_reversed_index_sequence

Type Alias thrust::make_reversed_index_sequence

template <std::size_t N> using 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.

See:

  • integer_sequence
  • index_sequence
  • make_integer_sequence
  • make_reversed_integer_sequence
  • make_reversed_index_sequence

Type Alias thrust::integer_sequence_push_front

template <typename T,   T Value,   typename Sequence> using 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.

See:

  • integer_sequence
  • index_sequence
  • make_integer_sequence
  • make_index_sequence

Type Alias thrust::integer_sequence_push_back

template <typename T,   T Value,   typename Sequence> using 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.

See:

  • integer_sequence
  • index_sequence
  • make_integer_sequence
  • make_index_sequence

Type Alias thrust::is_contiguous_iterator

template <typename Iterator> using 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.

See:

Type Alias thrust::is_execution_policy

template <typename T> using 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.

Type Alias thrust::is_operator_less_function_object

template <typename T> using 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.

See:

  • is_operator_less_function_object_v
  • is_operator_greater_function_object
  • is_operator_less_or_greater_function_object
  • is_operator_plus_function_object

Type Alias thrust::is_operator_greater_function_object

template <typename T> using 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.

See:

  • is_operator_greater_function_object_v
  • is_operator_less_function_object
  • is_operator_less_or_greater_function_object
  • is_operator_plus_function_object

Type Alias thrust::is_operator_less_or_greater_function_object

template <typename T> using 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.

See:

  • is_operator_less_or_greater_function_object_v
  • is_operator_less_function_object
  • is_operator_greater_function_object
  • is_operator_plus_function_object

Type Alias thrust::is_operator_plus_function_object

template <typename T> using 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.

See:

  • is_operator_plus_function_object_v
  • is_operator_less_function_object
  • is_operator_greater_function_object
  • is_operator_less_or_greater_function_object

Type Alias thrust::conjunction

template <typename... Ts> using conjunction = std::conjunction< Ts... >; std::integral_constant whose value is (... && Ts::value).

See:

Type Alias thrust::disjunction

template <typename... Ts> using disjunction = std::disjunction< Ts... >; std::integral_constant whose value is (... || Ts::value).

See:

Type Alias thrust::negation

template <typename T> using negation = std::negation< T >; std::integral_constant whose value is !Ts::value.

See:

Type Alias thrust::remove_cvref_t

template <typename T> using 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>>.

See:

Variables

Variable thrust::is_contiguous_iterator_v

template <typename Iterator> constexpr bool 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.

See:

Variable thrust::is_execution_policy_v

template <typename T> constexpr bool is_execution_policy_v = is_execution_policy<T>::value; constexpr bool that is true if T is an ExecutionPolicy and false otherwise.

Variable thrust::is_operator_less_function_object_v

template <typename T> constexpr bool 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.

See:

  • is_operator_less_function_object
  • is_operator_greater_function_object
  • is_operator_less_or_greater_function_object
  • is_operator_plus_function_object

Variable thrust::is_operator_greater_function_object_v

template <typename T> constexpr bool 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.

See:

  • is_operator_greater_function_object
  • is_operator_less_function_object
  • is_operator_less_or_greater_function_object
  • is_operator_plus_function_object

Variable thrust::is_operator_less_or_greater_function_object_v

template <typename T> constexpr bool 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.

See:

  • is_operator_less_or_greater_function_object
  • is_operator_less_function_object
  • is_operator_greater_function_object
  • is_operator_plus_function_object

Variable thrust::is_operator_plus_function_object_v

template <typename T> constexpr bool 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.

See:

  • is_operator_plus_function_object
  • is_operator_less_function_object
  • is_operator_greater_function_object
  • is_operator_less_or_greater_function_object

Variable thrust::conjunction_v

template <typename... Ts> constexpr bool conjunction_v = conjunction<Ts...>::value; constexpr bool whose value is (... && Ts::value).

See:

Variable thrust::disjunction_v

template <typename... Ts> constexpr bool disjunction_v = disjunction<Ts...>::value; constexpr bool whose value is (... || Ts::value).

See:

Variable thrust::negation_v

template <typename T> constexpr bool negation_v = negation<T>::value; constexpr bool whose value is !Ts::value.

See:

Variable thrust::conjunction_value_v

template <bool... Bs> constexpr bool conjunction_value_v = conjunction_value<Bs...>::value; constexpr bool whose value is (... && Bs).

See:

Variable thrust::disjunction_value_v

template <bool... Bs> constexpr bool disjunction_value_v = disjunction_value<Bs...>::value; constexpr bool whose value is (... || Bs).

See:

Variable thrust::negation_value_v

template <bool B> constexpr bool negation_value_v = negation_value<B>::value; constexpr bool whose value is !Ts::value.

See:

Macros

Define THRUST_PROCLAIM_CONTIGUOUS_ITERATOR

Declares that the iterator Iterator is ContiguousIterator by specializing proclaim_contiguous_iterator.

See:

  • is_contiguous_iterator
  • proclaim_contiguous_iterator