Files | |
| file | traits.cuh |
| Device-side type traits for querying atomic operation support on cudf column types. | |
Classes | |
| struct | cudf::order_info |
| Indicates how a collection of values has been ordered. More... | |
| class | cudf::data_type |
| Indicator for the logical data type of an element in a column. More... | |
| struct | cudf::is_convertible< From, To > |
| struct | cudf::is_convertible< cudf::detail::timestamp< Duration1 >, cudf::detail::timestamp< Duration2 > > |
Macros | |
| #define | CUDF_ENABLE_IF(...) cuda::std::enable_if_t<(__VA_ARGS__)>* = nullptr |
| Convenience macro for SFINAE as an unnamed template parameter. More... | |
Typedefs | |
| using | cudf::size_type = int32_t |
| Row index type for columns and tables. | |
| using | cudf::bitmask_type = uint32_t |
| Bitmask type stored as 32-bit unsigned integer. | |
| using | cudf::valid_type = uint8_t |
| Valid type in host memory. | |
| using | cudf::thread_index_type = int64_t |
| Thread index type in kernels. | |
| using | cudf::char_utf8 = uint32_t |
| UTF-8 characters are 1-4 bytes. | |
| template<typename... > | |
| using | cudf::void_t = void |
| Utility metafunction that maps a sequence of any types to the type void. | |
| template<typename L , typename R > | |
| using | cudf::less_comparable = decltype(cuda::std::declval< L >()< cuda::std::declval< R >()) |
| Checks if two types are comparable using less operator (i.e. <). | |
| template<typename L , typename R > | |
| using | cudf::greater_comparable = decltype(cuda::std::declval< L >() > cuda::std::declval< R >()) |
| Checks if two types are comparable using greater operator (i.e. >). | |
| template<typename L , typename R > | |
| using | cudf::equality_comparable = decltype(cuda::std::declval< L >()==cuda::std::declval< R >()) |
| Checks if two types are comparable using equality operator (i.e. ==). | |
| template<typename... Ts> | |
| using | cudf::has_common_type = typename detail::has_common_type_impl< void, Ts... >::type |
| Checks if types have a common type. | |
| template<typename T > | |
| using | cudf::is_timestamp_t = cuda::std::disjunction< cuda::std::is_same< cudf::timestamp_D, T >, cuda::std::is_same< cudf::timestamp_h, T >, cuda::std::is_same< cudf::timestamp_m, T >, cuda::std::is_same< cudf::timestamp_s, T >, cuda::std::is_same< cudf::timestamp_ms, T >, cuda::std::is_same< cudf::timestamp_us, T >, cuda::std::is_same< cudf::timestamp_ns, T > > |
| Checks if a type is a timestamp type. | |
| template<typename T > | |
| using | cudf::is_duration_t = cuda::std::disjunction< cuda::std::is_same< cudf::duration_D, T >, cuda::std::is_same< cudf::duration_h, T >, cuda::std::is_same< cudf::duration_m, T >, cuda::std::is_same< cudf::duration_s, T >, cuda::std::is_same< cudf::duration_ms, T >, cuda::std::is_same< cudf::duration_us, T >, cuda::std::is_same< cudf::duration_ns, T > > |
| Checks if a type is a duration type. | |
Enumerations | |
| enum class | cudf::order : bool { cudf::ASCENDING , cudf::DESCENDING } |
| Indicates the order in which elements should be sorted. More... | |
| enum class | cudf::null_policy : bool { cudf::EXCLUDE , cudf::INCLUDE } |
| Enum to specify whether to include nulls or exclude nulls. More... | |
| enum class | cudf::nan_policy : bool { cudf::NAN_IS_NULL , cudf::NAN_IS_VALID } |
| Enum to treat NaN floating point value as null or non-null element. More... | |
| enum class | cudf::nan_equality { cudf::ALL_EQUAL , cudf::UNEQUAL } |
| Enum to consider different elements (of floating point types) holding NaN value as equal or unequal. More... | |
| enum class | cudf::null_equality : bool { cudf::EQUAL , cudf::UNEQUAL } |
| Enum to consider two nulls as equal or unequal. More... | |
| enum class | cudf::null_order : bool { cudf::AFTER , cudf::BEFORE } |
| Indicates how null values compare against all other values. More... | |
| enum class | cudf::sorted : bool { NO , YES } |
| Indicates whether a collection of values is known to be sorted. | |
| enum class | cudf::mask_state : int32_t { cudf::UNALLOCATED , cudf::UNINITIALIZED , cudf::ALL_VALID , cudf::ALL_NULL } |
| Controls the allocation/initialization of a null mask. More... | |
| enum class | cudf::interpolation : int32_t { cudf::LINEAR , cudf::LOWER , cudf::HIGHER , cudf::MIDPOINT , cudf::NEAREST , cudf::NEAREST_HALF_UP } |
| Interpolation method to use when the desired quantile lies between two data points i and j. More... | |
| enum class | cudf::type_id : int32_t { cudf::EMPTY , cudf::INT8 , cudf::INT16 , cudf::INT32 , cudf::INT64 , cudf::UINT8 , cudf::UINT16 , cudf::UINT32 , cudf::UINT64 , cudf::FLOAT32 , cudf::FLOAT64 , cudf::BOOL8 , cudf::TIMESTAMP_DAYS , cudf::TIMESTAMP_SECONDS , cudf::TIMESTAMP_MILLISECONDS , cudf::TIMESTAMP_MICROSECONDS , cudf::TIMESTAMP_NANOSECONDS , cudf::DURATION_DAYS , cudf::DURATION_SECONDS , cudf::DURATION_MILLISECONDS , cudf::DURATION_MICROSECONDS , cudf::DURATION_NANOSECONDS , cudf::DICTIONARY32 , cudf::STRING , cudf::LIST , cudf::DECIMAL32 , cudf::DECIMAL64 , cudf::DECIMAL128 , cudf::STRUCT , cudf::NUM_TYPE_IDS } |
| Identifies a column's logical element type. More... | |
| enum class | cudf::null_aware : bool { cudf::NO = 0 , cudf::YES = 1 } |
| A function is null-aware if its output value uses the input validity. More... | |
| enum class | cudf::output_nullability : uint8_t { cudf::PRESERVE = 0 , cudf::ALL_VALID = 1 } |
| Indicates the null output policy of a function. More... | |
| enum class | cudf::error_policy : uint8_t { cudf::PROPAGATE = 0 , cudf::NULLIFY = 1 } |
| Indicates whether a function nullifies its output on error. More... | |
| enum class | cudf::udf_source_type : uint8_t { cudf::CUDA = 0 , cudf::PTX = 1 } |
| Indicates the source language of a user defined function (UDF) to be used in JIT APIs. More... | |
Functions | |
| column_view | cudf::bit_cast (column_view const &input, data_type type) |
| Zero-copy cast between types with the same size and compatible underlying representations. More... | |
| mutable_column_view | cudf::bit_cast (mutable_column_view const &input, data_type type) |
| Zero-copy cast between types with the same size and compatible underlying representations. More... | |
| template<typename T > | |
| size_type | cudf::distance (T f, T l) |
Similar to std::distance but returns cudf::size_type and performs static_cast More... | |
| constexpr bool | cudf::operator== (data_type const &lhs, data_type const &rhs) |
Compares two data_type objects for equality. More... | |
| bool | cudf::operator!= (data_type const &lhs, data_type const &rhs) |
Compares two data_type objects for inequality. More... | |
| std::size_t | cudf::size_of (data_type t) |
Returns the size in bytes of elements of the specified data_type More... | |
| template<typename T > | |
| constexpr bool | cudf::has_atomic_support () |
Indicates whether the type T has support for atomics. More... | |
| constexpr bool | cudf::has_atomic_support (data_type type) |
Indicates whether type has support for atomics. More... | |
| template<typename L , typename R > | |
| constexpr bool | cudf::is_relationally_comparable () |
Indicates whether objects of types L and R can be relationally compared. More... | |
| bool | cudf::is_relationally_comparable (data_type type) |
Checks whether data_type type supports relational comparisons. More... | |
| template<typename L , typename R > | |
| constexpr bool | cudf::is_equality_comparable () |
Indicates whether objects of types L and R can be compared for equality. More... | |
| bool | cudf::is_equality_comparable (data_type type) |
Checks whether data_type type supports equality comparisons. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_numeric () |
Indicates whether the type T is a numeric type. More... | |
| bool | cudf::is_numeric (data_type type) |
Indicates whether type is a numeric data_type. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_index_type () |
Indicates whether the type T is a index type. More... | |
| bool | cudf::is_index_type (data_type type) |
Indicates whether the type type is a index type. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_signed () |
Indicates whether the type T is a signed numeric type. More... | |
| bool | cudf::is_signed (data_type type) |
Indicates whether type is a signed numeric data_type. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_unsigned () |
Indicates whether the type T is a unsigned numeric type. More... | |
| bool | cudf::is_unsigned (data_type type) |
Indicates whether type is a unsigned numeric data_type. More... | |
| template<typename Iterator > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_signed_iterator () |
Indicates whether the Iterator value type is unsigned. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_integral () |
Indicates whether the type T is an integral type. More... | |
| bool | cudf::is_integral (data_type type) |
Indicates whether type is a integral data_type. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_integral_not_bool () |
Indicates whether the type T is an integral type but not bool type. More... | |
| bool | cudf::is_integral_not_bool (data_type type) |
Indicates whether type is a integral data_type and not BOOL8. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_numeric_not_bool () |
Indicates whether the type T is a numeric type but not bool type. More... | |
| bool | cudf::is_numeric_not_bool (data_type type) |
Indicates whether type is a numeric data_type but not BOOL8. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_floating_point () |
Indicates whether the type T is a floating point type. More... | |
| bool | cudf::is_floating_point (data_type type) |
Indicates whether type is a floating point data_type. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_byte () |
Indicates whether T is a std::byte type. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_boolean () |
Indicates whether T is a Boolean type. More... | |
| bool | cudf::is_boolean (data_type type) |
Indicates whether type is a Boolean data_type. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_timestamp () |
Indicates whether the type T is a timestamp type. More... | |
| bool | cudf::is_timestamp (data_type type) |
Indicates whether type is a timestamp data_type. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_fixed_point () |
Indicates whether the type T is a fixed-point type. More... | |
| bool | cudf::is_fixed_point (data_type type) |
Indicates whether type is a fixed point data_type. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_duration () |
Indicates whether the type T is a duration type. More... | |
| bool | cudf::is_duration (data_type type) |
Indicates whether type is a duration data_type. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_chrono () |
Indicates whether the type T is a chrono type. More... | |
| bool | cudf::is_chrono (data_type type) |
Indicates whether type is a chrono data_type. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_rep_layout_compatible () |
Indicates whether T is layout compatible with its "representation" type. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_dictionary () |
Indicates whether the type T is a dictionary type. More... | |
| bool | cudf::is_dictionary (data_type type) |
Indicates whether type is a dictionary data_type. More... | |
| template<typename T > | |
| constexpr bool | cudf::is_dictionary_key () |
Indicates whether the type T is a valid dictionary key type. More... | |
| bool | cudf::is_dictionary_key (data_type type) |
Indicates whether type is a valid dictionary type. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_fixed_width () |
Indicates whether elements of type T are fixed-width. More... | |
| bool | cudf::is_fixed_width (data_type type) |
Indicates whether elements of type are fixed-width. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_compound () |
Indicates whether the type T is a compound type. More... | |
| bool | cudf::is_compound (data_type type) |
Indicates whether elements of type are compound. More... | |
| template<typename T > | |
| constexpr CUDF_HOST_DEVICE bool | cudf::is_nested () |
Indicates whether T is a nested type. More... | |
| bool | cudf::is_nested (data_type type) |
Indicates whether type is a nested type. More... | |
| bool | cudf::is_bit_castable (data_type from, data_type to) |
Indicates whether from is bit-castable to to. More... | |
Variables | |
| template<typename... Ts> | |
| constexpr bool | cudf::has_common_type_v = detail::has_common_type_impl<void, Ts...>::value |
| Helper variable template for has_common_type<>::value. | |
| #define CUDF_ENABLE_IF | ( | ... | ) | cuda::std::enable_if_t<(__VA_ARGS__)>* = nullptr |
#include <cudf/utilities/traits.hpp>
Convenience macro for SFINAE as an unnamed template parameter.
Example:
Definition at line 43 of file traits.hpp.
|
strong |
#include <cudf/types.hpp>
Indicates whether a function nullifies its output on error.
| Enumerator | |
|---|---|
| PROPAGATE | The function propagates errors. |
| NULLIFY | The function nullifies its output on error. |
|
strong |
#include <cudf/types.hpp>
Interpolation method to use when the desired quantile lies between two data points i and j.
|
strong |
#include <cudf/types.hpp>
Controls the allocation/initialization of a null mask.
|
strong |
#include <cudf/types.hpp>
Enum to consider different elements (of floating point types) holding NaN value as equal or unequal.
| Enumerator | |
|---|---|
| ALL_EQUAL | All NaNs compare equal, regardless of sign. |
| UNEQUAL | All NaNs compare unequal (IEEE754 behavior) |
|
strong |
#include <cudf/types.hpp>
Enum to treat NaN floating point value as null or non-null element.
| Enumerator | |
|---|---|
| NAN_IS_NULL | treat nans as null elements |
| NAN_IS_VALID | treat nans as valid elements (non-null) |
|
strong |
#include <cudf/types.hpp>
A function is null-aware if its output value uses the input validity.
For example, ADD is not null-aware, but IS_NULL and NULL_LOGICAL_AND are null-aware.
| Enumerator | |
|---|---|
| NO | The function is not null-aware. |
| YES | The function is null-aware. |
|
strong |
#include <cudf/types.hpp>
Enum to consider two nulls as equal or unequal.
| Enumerator | |
|---|---|
| EQUAL | nulls compare equal |
| UNEQUAL | nulls compare unequal |
|
strong |
#include <cudf/types.hpp>
Indicates how null values compare against all other values.
| Enumerator | |
|---|---|
| AFTER | NULL values ordered after all other values. |
| BEFORE | NULL values ordered before all other values. |
|
strong |
#include <cudf/types.hpp>
Enum to specify whether to include nulls or exclude nulls.
| Enumerator | |
|---|---|
| EXCLUDE | exclude null elements |
| INCLUDE | include null elements |
|
strong |
#include <cudf/types.hpp>
Indicates the order in which elements should be sorted.
| Enumerator | |
|---|---|
| ASCENDING | Elements ordered from small to large. |
| DESCENDING | Elements ordered from large to small. |
|
strong |
#include <cudf/types.hpp>
Indicates the null output policy of a function.
This policy determines whether a null-mask should be excluded from the output column.
For example, consider a null-aware IS_NULL function:
using output_nullability::PRESERVE a null-mask may be produced. with output_nullability::ALL_VALID a null-mask will not be produced and all values are considered valid. It is undefined behaviour to use ALL_VALID with a UDF that produces null values.
| Enumerator | |
|---|---|
| PRESERVE | A null-mask may be produced if needed. |
| ALL_VALID | A null-mask is not produced and all values are considered valid even if null values are produced |
|
strong |
#include <cudf/types.hpp>
Identifies a column's logical element type.
|
strong |
#include <cudf/types.hpp>
Indicates the source language of a user defined function (UDF) to be used in JIT APIs.
| Enumerator | |
|---|---|
| CUDA | The UDF is a CUDA function. |
| PTX | The UDF is a PTX function. |
| column_view cudf::bit_cast | ( | column_view const & | input, |
| data_type | type | ||
| ) |
#include <cudf/column/column_view.hpp>
Zero-copy cast between types with the same size and compatible underlying representations.
This is similar to reinterpret_cast or bit_cast in that it gives a view of the same raw bits as a different type. Unlike reinterpret_cast however, this cast is only allowed on types that have the same width and compatible representations. For example, the way timestamp types are laid out in memory is equivalent to an integer representing a duration since a fixed epoch; bit-casting to the same integer type (INT32 for days, INT64 for others) results in a raw view of the duration count. A FLOAT32 can also be bit-casted into INT32 and treated as an integer value. However, an INT32 column cannot be bit-casted to INT64 as the sizes differ, nor can a string_view column be casted into a numeric type column as their data representations are not compatible.
The validity of the conversion can be checked with cudf::is_bit_castable().
| cudf::logic_error | if the specified cast is not possible, i.e., is_bit_castable(input.type(), type) is false. |
| input | The column_view to cast from |
| type | The data_type to cast to |
column_view wrapping the same data as input but cast to type | mutable_column_view cudf::bit_cast | ( | mutable_column_view const & | input, |
| data_type | type | ||
| ) |
#include <cudf/column/column_view.hpp>
Zero-copy cast between types with the same size and compatible underlying representations.
This is similar to reinterpret_cast or bit_cast in that it gives a view of the same raw bits as a different type. Unlike reinterpret_cast however, this cast is only allowed on types that have the same width and compatible representations. For example, the way timestamp types are laid out in memory is equivalent to an integer representing a duration since a fixed epoch; bit-casting to the same integer type (INT32 for days, INT64 for others) results in a raw view of the duration count. A FLOAT32 can also be bit-casted into INT32 and treated as an integer value. However, an INT32 column cannot be bit-casted to INT64 as the sizes differ, nor can a string_view column be casted into a numeric type column as their data representations are not compatible.
The validity of the conversion can be checked with cudf::is_bit_castable().
| cudf::logic_error | if the specified cast is not possible, i.e., is_bit_castable(input.type(), type) is false. |
| input | The mutable_column_view to cast from |
| type | The data_type to cast to |
mutable_column_view wrapping the same data as input but cast to type | size_type cudf::distance | ( | T | f, |
| T | l | ||
| ) |
#include <cudf/types.hpp>
Similar to std::distance but returns cudf::size_type and performs static_cast
| T | Iterator type |
| f | "first" iterator |
| l | "last" iterator |
|
inlineconstexpr |
#include <cudf/utilities/traits.cuh>
Indicates whether the type T has support for atomics.
| T | The type to verify |
T has support for atomics T no support for atomics Definition at line 30 of file traits.cuh.
|
inlineconstexpr |
#include <cudf/utilities/traits.cuh>
Indicates whether type has support for atomics.
| type | The data_type to verify |
type has support for atomics type no support for atomics Definition at line 50 of file traits.cuh.
#include <cudf/utilities/traits.hpp>
Indicates whether from is bit-castable to to.
This casting is based on std::bit_cast. Data types that have the same size and are trivially copyable are eligible for this casting.
See cudf::bit_cast() which returns a zero-copy column_view when casting between bit-castable types.
true if the types are castable
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether T is a Boolean type.
| T | The type to verify |
T is Boolean T is not Boolean Definition at line 397 of file traits.hpp.
| bool cudf::is_boolean | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a Boolean data_type.
| type | The data_type to verify |
type is a Boolean type is not a Boolean
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether T is a std::byte type.
| T | The type to verify |
T is std::byte T is not std::byte Definition at line 384 of file traits.hpp.
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a chrono type.
| T | The type to verify |
T is a duration or a timestamp type T is neither a duration nor a timestamp type Definition at line 494 of file traits.hpp.
| bool cudf::is_chrono | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a chrono data_type.
Chrono types include cudf timestamp types, which represent a point in time, and cudf duration types that represent a time interval.
| type | The data_type to verify |
type is a chrono type type is not a chrono type
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a compound type.
columns with "compound" elements are logically a single column of elements, but may be concretely implemented with two or more columns. For example, a STRING column could contain a column of offsets and a child column of characters.
| T | The type to verify |
T corresponds to a "compound" type T corresponds to a "simple" type Definition at line 617 of file traits.hpp.
| bool cudf::is_compound | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether elements of type are compound.
columns with "compound" elements are logically a single column of elements, but may be concretely implemented with two or more columns. For example, a STRING column could contain a column of offsets and a child column of characters.
| type | The data_type to verify |
type is a compound type type is a simple type
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a dictionary type.
| T | The type to verify |
T is a dictionary-type T is not dictionary-type Definition at line 538 of file traits.hpp.
| bool cudf::is_dictionary | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a dictionary data_type.
| type | The data_type to verify |
type is a dictionary type type is not a dictionary type
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a valid dictionary key type.
| T | The type to verify |
T can be a dictionary key type T cannot be a dictionary key type Definition at line 560 of file traits.hpp.
| bool cudf::is_dictionary_key | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a valid dictionary type.
| type | The data_type to verify |
type can be a dictionary key type type cannot be a dictionary type
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a duration type.
| T | The type to verify |
T is a duration T is not a duration Definition at line 470 of file traits.hpp.
| bool cudf::is_duration | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a duration data_type.
"Duration" types are int32_t or int64_t tick counts representing a time interval.
| type | The data_type to verify |
type is a duration type is not a duration
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether objects of types L and R can be compared for equality.
Given two objects L l, and R r, returns true if l == r is a well-formed expression.
| L | Type of the first object |
| R | Type of the second object |
L and R can be compared for equality L and R cannot be compared Definition at line 151 of file traits.hpp.
| bool cudf::is_equality_comparable | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Checks whether data_type type supports equality comparisons.
| type | Data_type for comparison. |
type supports equality comparisons. type does not support equality comparisons.
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a fixed-point type.
| T | The type to verify |
T is a fixed-point type T is not a fixed-point type Definition at line 443 of file traits.hpp.
| bool cudf::is_fixed_point | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a fixed point data_type.
| type | The data_type to verify |
type is a fixed point type type is not a fixed point type
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether elements of type T are fixed-width.
Elements of a fixed-width type all have the same size in bytes.
| T | The C++ type to verify |
T corresponds to a fixed-width element type T corresponds to a variable-width element type Definition at line 584 of file traits.hpp.
| bool cudf::is_fixed_width | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether elements of type are fixed-width.
Elements of a fixed-width type all have the same size in bytes.
| type | The data_type to verify |
type is fixed-width type is variable-width
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a floating point type.
| T | The type to verify |
T is floating point T is not floating point Definition at line 360 of file traits.hpp.
| bool cudf::is_floating_point | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a floating point data_type.
"Floating point" types are fundamental floating point types such as FLOAT*.
| type | The data_type to verify |
type is floating point type is not floating point
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a index type.
A type T is considered an index type if it is valid to use elements of type T to index into a column. I.e., index types are integral types such as 'INT*' apart from 'bool'.
| T | The type to verify |
T is index type T is not index type Definition at line 203 of file traits.hpp.
| bool cudf::is_index_type | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether the type type is a index type.
A type T is considered an index type if it is valid to use elements of type T to index into a column. I.e., index types are integral types such as 'INT*' apart from 'bool'.
| type | The data_type to verify |
type is index type type is not index type
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is an integral type.
| T | The type to verify |
T is integral T is not integral Definition at line 288 of file traits.hpp.
| bool cudf::is_integral | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a integral data_type.
"Integral" types are fundamental integer types such as INT* and UINT*.
| type | The data_type to verify |
type is integral type is integral
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is an integral type but not bool type.
| T | The type to verify |
T is integral but not bool T is not integral or is bool Definition at line 312 of file traits.hpp.
| bool cudf::is_integral_not_bool | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a integral data_type and not BOOL8.
"Integral" types are fundamental integer types such as INT* and UINT*.
| type | The data_type to verify |
type is integral but not bool type is integral or is bool
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether T is a nested type.
"Nested" types are distinct from compound types in that they can have an arbitrarily deep list of descendants of the same type. Strings are not a nested type, but lists are.
| T | The type to verify |
T is a nested type T is not a nested type Definition at line 650 of file traits.hpp.
| bool cudf::is_nested | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a nested type.
"Nested" types are distinct from compound types in that they can have an arbitrarily deep list of descendants of the same type. Strings are not a nested type, but lists are.
| type | The data_type to verify |
type is a nested type type is not a nested type
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a numeric type.
| T | The type to verify |
T is numeric T is not numeric Definition at line 173 of file traits.hpp.
| bool cudf::is_numeric | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a numeric data_type.
"Numeric" types are fundamental integral/floating point types such as INT* or FLOAT*. Types that wrap a numeric type are not considered numeric, e.g., TIMESTAMP.
| type | The data_type to verify |
type is numeric type is not numeric
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a numeric type but not bool type.
| T | The type to verify |
T is numeric but not bool T is not numeric or is bool Definition at line 336 of file traits.hpp.
| bool cudf::is_numeric_not_bool | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a numeric data_type but not BOOL8.
"Numeric" types are integral/floating point types such as INT* or FLOAT*.
| type | The data_type to verify |
type is numeric but not bool type is not numeric or is bool
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether objects of types L and R can be relationally compared.
Given two objects L l, and R r, returns true if l < r and l > r are well-formed expressions.
| L | Type of the first object |
| R | Type of the second object |
L and R can be relationally be compared L and R cannot be compared Definition at line 124 of file traits.hpp.
| bool cudf::is_relationally_comparable | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Checks whether data_type type supports relational comparisons.
| type | Data_type for comparison. |
type supports relational comparisons. type does not support relational comparisons.
|
constexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether T is layout compatible with its "representation" type.
For example, in a column, a decimal32 is concretely represented by a single int32_t, but the decimal32 type itself contains both the integer representation and the scale. Therefore, decimal32 is not layout compatible with int32_t.
As further example, duration_ns is distinct from its concrete int64_t representation type, but they are layout compatible.
T is layout compatible with its "representation" type Definition at line 524 of file traits.hpp.
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a signed numeric type.
| T | The type to verify |
T is signed numeric Definition at line 228 of file traits.hpp.
| bool cudf::is_signed | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a signed numeric data_type.
"Signed Numeric" types include fundamental integral types such as INT* but can also be FLOAT* types.
| type | The data_type to verify |
type is signed numeric
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the Iterator value type is unsigned.
| Iterator | The type to verify |
Definition at line 275 of file traits.hpp.
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a timestamp type.
| T | The type to verify |
T is a timestamp T is not a timestamp Definition at line 419 of file traits.hpp.
| bool cudf::is_timestamp | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a timestamp data_type.
"Timestamp" types are int32_t or int64_t durations since the unix epoch.
| type | The data_type to verify |
type is a timestamp type is not a timestamp
|
inlineconstexpr |
#include <cudf/utilities/traits.hpp>
Indicates whether the type T is a unsigned numeric type.
| T | The type to verify |
T is unsigned numeric T is signed numeric Definition at line 252 of file traits.hpp.
| bool cudf::is_unsigned | ( | data_type | type | ) |
#include <cudf/utilities/traits.hpp>
Indicates whether type is a unsigned numeric data_type.
"Unsigned Numeric" types are fundamental integral types such as UINT*.
| type | The data_type to verify |
type is unsigned numeric type is signed numeric #include <cudf/types.hpp>
Compares two data_type objects for inequality.
// TODO Define exactly what it means for two data_types to be equal. e.g., are two timestamps with different resolutions equal? How about decimals with different scale/precision?
lhs is not equal to rhs lhs is equal to rhs #include <cudf/types.hpp>
Compares two data_type objects for equality.
// TODO Define exactly what it means for two data_types to be equal. e.g., are two timestamps with different resolutions equal? How about decimals with different scale/precision?
lhs is equal to rhs lhs is not equal to rhs | std::size_t cudf::size_of | ( | data_type | t | ) |
#include <cudf/types.hpp>
Returns the size in bytes of elements of the specified data_type
| cudf::logic_error | if is_fixed_width(element_type) == false |
| t | The data_type to get the size of |
data_type