Files | Classes | Macros | Typedefs | Enumerations | Functions

Files

file  types.hpp
 Type declarations for libcudf.
 
file  traits.hpp
 

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_relationally_comparable_impl< L, R, typename >
 
struct  cudf::is_relationally_comparable_impl< L, R, void_t< less_comparable< L, R >, greater_comparable< L, R > > >
 
struct  cudf::is_equality_comparable_impl< L, R, typename >
 
struct  cudf::is_equality_comparable_impl< L, R, void_t< equality_comparable< L, R > > >
 
struct  cudf::is_numeric_impl
 
struct  cudf::is_index_type_impl
 
struct  cudf::is_unsigned_impl
 
struct  cudf::is_floating_point_impl
 
struct  cudf::is_boolean_impl
 
struct  cudf::is_timestamp_impl
 
struct  cudf::is_fixed_point_impl
 
struct  cudf::is_duration_impl
 
struct  cudf::is_chrono_impl
 
struct  cudf::is_dictionary_impl
 
struct  cudf::is_fixed_width_impl
 
struct  cudf::is_compound_impl
 
struct  cudf::is_nested_impl
 
struct  cudf::is_logically_castable_impl< FromType, ToType >
 
struct  cudf::is_logically_castable_impl< Type, Type >
 
struct  cudf::is_logically_castable_to_impl< FromType >
 
struct  cudf::is_logically_castable_from_impl
 
struct  cudf::is_convertible< From, To >
 
struct  cudf::is_convertible< cudf::detail::timestamp< Duration1 >, cudf::detail::timestamp< Duration2 > >
 

Macros

#define MAP_CASTABLE_TYPES(Type1, Type2)
 

Typedefs

using cudf::size_type = int32_t
 
using cudf::bitmask_type = uint32_t
 
using cudf::valid_type = uint8_t
 
template<typename... >
using cudf::void_t = void
 
template<typename L , typename R >
using cudf::less_comparable = decltype(std::declval< L >()< std::declval< R >())
 
template<typename L , typename R >
using cudf::greater_comparable = decltype(std::declval< L >() > std::declval< R >())
 
template<typename L , typename R >
using cudf::equality_comparable = decltype(std::declval< L >()==std::declval< R >())
 
template<typename T >
using cudf::is_timestamp_t = cuda::std::disjunction< std::is_same< cudf::timestamp_D, T >, std::is_same< cudf::timestamp_s, T >, std::is_same< cudf::timestamp_ms, T >, std::is_same< cudf::timestamp_us, T >, std::is_same< cudf::timestamp_ns, T > >
 
template<typename T >
using cudf::is_duration_t = cuda::std::disjunction< std::is_same< cudf::duration_D, T >, std::is_same< cudf::duration_s, T >, std::is_same< cudf::duration_ms, T >, std::is_same< cudf::duration_us, T >, std::is_same< cudf::duration_ns, T > >
 

Enumerations

enum  cudf::order : bool { cudf::order::ASCENDING, cudf::order::DESCENDING }
 Indicates the order in which elements should be sorted. More...
 
enum  cudf::null_policy : bool { cudf::null_policy::EXCLUDE, cudf::null_policy::INCLUDE }
 Enum to specify whether to include nulls or exclude nulls. More...
 
enum  cudf::nan_policy : bool { cudf::nan_policy::NAN_IS_NULL, cudf::nan_policy::NAN_IS_VALID }
 Enum to treat NaN floating point value as null or non-null element. More...
 
enum  cudf::null_equality : bool { cudf::null_equality::EQUAL, cudf::null_equality::UNEQUAL }
 
enum  cudf::null_order : bool { cudf::null_order::AFTER, cudf::null_order::BEFORE }
 Indicates how null values compare against all other values. More...
 
enum  cudf::sorted : bool { NO, YES }
 Indicates whether a collection of values is known to be sorted.
 
enum  cudf::mask_state : int32_t { cudf::mask_state::UNALLOCATED, cudf::mask_state::UNINITIALIZED, cudf::mask_state::ALL_VALID, cudf::mask_state::ALL_NULL }
 Controls the allocation/initialization of a null mask. More...
 
enum  cudf::interpolation : int32_t {
  cudf::interpolation::LINEAR, cudf::interpolation::LOWER, cudf::interpolation::HIGHER, cudf::interpolation::MIDPOINT,
  cudf::interpolation::NEAREST
}
 Interpolation method to use when the desired quantile lies between two data points i and j. More...
 
enum  cudf::type_id : int32_t {
  cudf::type_id::EMPTY, cudf::type_id::INT8, cudf::type_id::INT16, cudf::type_id::INT32,
  cudf::type_id::INT64, cudf::type_id::UINT8, cudf::type_id::UINT16, cudf::type_id::UINT32,
  cudf::type_id::UINT64, cudf::type_id::FLOAT32, cudf::type_id::FLOAT64, cudf::type_id::BOOL8,
  cudf::type_id::TIMESTAMP_DAYS, cudf::type_id::TIMESTAMP_SECONDS, cudf::type_id::TIMESTAMP_MILLISECONDS, cudf::type_id::TIMESTAMP_MICROSECONDS,
  cudf::type_id::TIMESTAMP_NANOSECONDS, cudf::type_id::DURATION_DAYS, cudf::type_id::DURATION_SECONDS, cudf::type_id::DURATION_MILLISECONDS,
  cudf::type_id::DURATION_MICROSECONDS, cudf::type_id::DURATION_NANOSECONDS, cudf::type_id::DICTIONARY32, cudf::type_id::STRING,
  cudf::type_id::LIST, cudf::type_id::DECIMAL32, cudf::type_id::DECIMAL64, cudf::type_id::STRUCT,
  cudf::type_id::NUM_TYPE_IDS
}
 Identifies a column's logical element type. More...
 
enum  cudf::hash_id {
  cudf::hash_id::HASH_IDENTITY = 0, cudf::hash_id::HASH_MURMUR3, cudf::hash_id::HASH_MD5, cudf::hash_id::HASH_SERIAL_MURMUR3,
  cudf::hash_id::HASH_SPARK_MURMUR3
}
 Identifies the hash function to be used. More...
 

Functions

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...
 
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 L , typename R >
constexpr bool cudf::is_relationally_comparable ()
 Indicates whether objects of types L and R can be relationally compared. 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...
 
template<typename T >
constexpr bool cudf::is_numeric ()
 Indicates whether the type T is a numeric type. More...
 
constexpr 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...
 
constexpr bool cudf::is_index_type (data_type type)
 Indicates whether the type type is a index type. More...
 
template<typename T >
constexpr bool cudf::is_unsigned ()
 Indicates whether the type T is a unsigned numeric type. More...
 
constexpr bool cudf::is_unsigned (data_type type)
 Indicates whether type is a unsigned numeric data_type. More...
 
template<typename T >
constexpr bool cudf::is_floating_point ()
 Indicates whether the type T is a floating point type. More...
 
constexpr 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_boolean ()
 Indicates whether T is a Boolean type. More...
 
constexpr bool cudf::is_boolean (data_type type)
 Indicates whether type is a Boolean data_type. More...
 
template<typename T >
constexpr bool cudf::is_timestamp ()
 Indicates whether the type T is a timestamp type. More...
 
constexpr bool cudf::is_timestamp (data_type type)
 Indicates whether type is a timestamp data_type. More...
 
template<typename T >
constexpr bool cudf::is_fixed_point ()
 Indicates whether the type T is a fixed-point type. More...
 
constexpr bool cudf::is_fixed_point (data_type type)
 Indicates whether type is a fixed point data_type. More...
 
template<typename T >
constexpr bool cudf::is_duration ()
 Indicates whether the type T is a duration type. More...
 
constexpr bool cudf::is_duration (data_type type)
 Indicates whether type is a duration data_type. More...
 
template<typename T >
constexpr bool cudf::is_chrono ()
 Indicates whether the type T is a chrono type. More...
 
constexpr bool cudf::is_chrono (data_type type)
 Indicates whether type is a chrono data_type. More...
 
template<typename T >
constexpr bool cudf::is_dictionary ()
 Indicates whether the type T is a dictionary type. More...
 
constexpr bool cudf::is_dictionary (data_type type)
 Indicates whether type is a dictionary data_type. More...
 
template<typename T >
constexpr bool cudf::is_fixed_width ()
 Indicates whether elements of type T are fixed-width. More...
 
constexpr bool cudf::is_fixed_width (data_type type)
 Indicates whether elements of type are fixed-width. More...
 
template<typename T >
constexpr bool cudf::is_compound ()
 Indicates whether the type T is a compound type. More...
 
constexpr bool cudf::is_compound (data_type type)
 Indicates whether elements of type are compound. More...
 
template<typename T >
constexpr bool cudf::is_nested ()
 Indicates whether T is a nested type. More...
 
constexpr bool cudf::is_nested (data_type type)
 Indicates whether type is a nested type. More...
 
 cudf::MAP_CASTABLE_TYPES (cudf::timestamp_D, cudf::timestamp_D::duration::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::timestamp_s, cudf::timestamp_s::duration::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::timestamp_ms, cudf::timestamp_ms::duration::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::timestamp_us, cudf::timestamp_us::duration::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::timestamp_ns, cudf::timestamp_ns::duration::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::duration_D, cudf::duration_D::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::duration_s, cudf::duration_s::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::duration_ms, cudf::duration_ms::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::duration_us, cudf::duration_us::rep)
 
 cudf::MAP_CASTABLE_TYPES (cudf::duration_ns, cudf::duration_ns::rep)
 
 cudf::MAP_CASTABLE_TYPES (numeric::decimal32, numeric::decimal32::rep)
 
constexpr bool cudf::is_logically_castable (data_type from, data_type to)
 Indicates whether from is logically castable to to. More...
 

Detailed Description

Macro Definition Documentation

◆ MAP_CASTABLE_TYPES

#define MAP_CASTABLE_TYPES (   Type1,
  Type2 
)
Value:
template <> \
struct is_logically_castable_impl<Type1, Type2> : std::true_type { \
}; \
template <> \
struct is_logically_castable_impl<Type2, Type1> : std::true_type { \
};

Definition at line 604 of file traits.hpp.

Enumeration Type Documentation

◆ hash_id

enum cudf::hash_id
strong

Identifies the hash function to be used.

Enumerator
HASH_IDENTITY 

Identity hash function that simply returns the key to be hashed.

HASH_MURMUR3 

Murmur3 hash function.

HASH_MD5 

MD5 hash function.

HASH_SERIAL_MURMUR3 

Serial Murmur3 hash function.

HASH_SPARK_MURMUR3 

Spark Murmur3 hash function.

Definition at line 326 of file types.hpp.

◆ interpolation

enum cudf::interpolation : int32_t
strong

Interpolation method to use when the desired quantile lies between two data points i and j.

Enumerator
LINEAR 

Linear interpolation between i and j.

LOWER 

Lower data point (i)

HIGHER 

Higher data point (j)

MIDPOINT 

(i + j)/2

NEAREST 

i or j, whichever is nearest

Definition at line 185 of file types.hpp.

◆ mask_state

enum cudf::mask_state : int32_t
strong

Controls the allocation/initialization of a null mask.

Enumerator
UNALLOCATED 

Null mask not allocated, (all elements are valid)

UNINITIALIZED 

Null mask allocated, but not initialized.

ALL_VALID 

Null mask allocated, initialized to all elements valid.

ALL_NULL 

Null mask allocated, initialized to all elements NULL.

Definition at line 174 of file types.hpp.

◆ nan_policy

enum cudf::nan_policy : bool
strong

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)

Definition at line 136 of file types.hpp.

◆ null_equality

enum cudf::null_equality : bool
strong
Enumerator
EQUAL 

nulls compare equal

UNEQUAL 

nulls compare unequal

Definition at line 144 of file types.hpp.

◆ null_order

enum cudf::null_order : bool
strong

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.

Definition at line 152 of file types.hpp.

◆ null_policy

enum cudf::null_policy : bool
strong

Enum to specify whether to include nulls or exclude nulls.

Enumerator
EXCLUDE 

exclude null elements

INCLUDE 

include null elements

Definition at line 128 of file types.hpp.

◆ order

enum cudf::order : bool
strong

Indicates the order in which elements should be sorted.

Enumerator
ASCENDING 

Elements ordered from small to large.

DESCENDING 

Elements ordered from large to small.

Definition at line 120 of file types.hpp.

◆ type_id

enum cudf::type_id : int32_t
strong

Identifies a column's logical element type.

Enumerator
EMPTY 

Always null with no underlying data.

INT8 

1 byte signed integer

INT16 

2 byte signed integer

INT32 

4 byte signed integer

INT64 

8 byte signed integer

UINT8 

1 byte unsigned integer

UINT16 

2 byte unsigned integer

UINT32 

4 byte unsigned integer

UINT64 

8 byte unsigned integer

FLOAT32 

4 byte floating point

FLOAT64 

8 byte floating point

BOOL8 

Boolean using one byte per value, 0 == false, else true.

TIMESTAMP_DAYS 

point in time in days since Unix Epoch in int32

TIMESTAMP_SECONDS 

point in time in seconds since Unix Epoch in int64

TIMESTAMP_MILLISECONDS 

point in time in milliseconds since Unix Epoch in int64

TIMESTAMP_MICROSECONDS 

point in time in microseconds since Unix Epoch in int64

TIMESTAMP_NANOSECONDS 

point in time in nanoseconds since Unix Epoch in int64

DURATION_DAYS 

time interval of days in int32

DURATION_SECONDS 

time interval of seconds in int64

DURATION_MILLISECONDS 

time interval of milliseconds in int64

DURATION_MICROSECONDS 

time interval of microseconds in int64

DURATION_NANOSECONDS 

time interval of nanoseconds in int64

DICTIONARY32 

Dictionary type using int32 indices.

STRING 

String elements.

LIST 

List elements.

DECIMAL32 

Fixed-point type with int32_t.

DECIMAL64 

Fixed-point type with int64_t.

STRUCT 

Struct elements.

NUM_TYPE_IDS 

Total number of type ids.

Definition at line 196 of file types.hpp.

Function Documentation

◆ distance()

template<typename T >
size_type cudf::distance ( f,
l 
)

Similar to std::distance but returns cudf::size_type and performs static_cast

Template Parameters
TIterator type
Parameters
f"first" iterator
l"last" iterator
Returns
size_type The distance between first and last

Definition at line 104 of file types.hpp.

◆ is_boolean() [1/2]

template<typename T >
constexpr bool cudf::is_boolean ( )
inlineconstexpr

Indicates whether T is a Boolean type.

Parameters
typeThe data_type to verify
Returns
true type is Boolean
false type is not Boolean

Definition at line 272 of file traits.hpp.

◆ is_boolean() [2/2]

constexpr bool cudf::is_boolean ( data_type  type)
inlineconstexpr

Indicates whether type is a Boolean data_type.

Parameters
typeThe data_type to verify
Returns
true type is a Boolean
false type is not a Boolean

Definition at line 292 of file traits.hpp.

◆ is_chrono() [1/2]

template<typename T >
constexpr bool cudf::is_chrono ( )
inlineconstexpr

Indicates whether the type T is a chrono type.

Template Parameters
TThe type to verify
Returns
true T is a duration or a timestamp type
false T is neither a duration nor a timestamp type

Definition at line 408 of file traits.hpp.

◆ is_chrono() [2/2]

constexpr bool cudf::is_chrono ( data_type  type)
inlineconstexpr

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.

Parameters
typeThe data_type to verify
Returns
true type is a chrono type
false type is not a chrono type

Definition at line 431 of file traits.hpp.

◆ is_compound() [1/2]

template<typename T >
constexpr bool cudf::is_compound ( )
inlineconstexpr

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.

Template Parameters
TThe type to verify
Returns
true T corresponds to a "compound" type
false T corresponds to a "simple" type

Definition at line 522 of file traits.hpp.

◆ is_compound() [2/2]

constexpr bool cudf::is_compound ( data_type  type)
inlineconstexpr

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.

Parameters
typeThe data_type to verify
Returns
true type is a compound type
false type is a simple type

Definition at line 548 of file traits.hpp.

◆ is_dictionary() [1/2]

template<typename T >
constexpr bool cudf::is_dictionary ( )
inlineconstexpr

Indicates whether the type T is a dictionary type.

Template Parameters
TThe type to verify
Returns
true T is a dictionary-type
false T is not dictionary-type

Definition at line 444 of file traits.hpp.

◆ is_dictionary() [2/2]

constexpr bool cudf::is_dictionary ( data_type  type)
inlineconstexpr

Indicates whether type is a dictionary data_type.

Parameters
typeThe data_type to verify
Returns
true type is a dictionary type
false type is not a dictionary type

Definition at line 464 of file traits.hpp.

◆ is_duration() [1/2]

template<typename T >
constexpr bool cudf::is_duration ( )
inlineconstexpr

Indicates whether the type T is a duration type.

Template Parameters
TThe type to verify
Returns
true T is a duration
false T is not a duration

Definition at line 373 of file traits.hpp.

◆ is_duration() [2/2]

constexpr bool cudf::is_duration ( data_type  type)
inlineconstexpr

Indicates whether type is a duration data_type.

"Duration" types are int32_t or int64_t tick counts representing a time interval.

Parameters
typeThe data_type to verify
Returns
true type is a duration
false type is not a duration

Definition at line 395 of file traits.hpp.

◆ is_equality_comparable()

template<typename L , typename R >
constexpr bool cudf::is_equality_comparable ( )
inlineconstexpr

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.

Template Parameters
LType of the first object
RType of the second object
Returns
true Objects of types L and R can be compared for equality
false Objects of types L and R cannot be compared

Definition at line 112 of file traits.hpp.

◆ is_fixed_point() [1/2]

template<typename T >
constexpr bool cudf::is_fixed_point ( )
inlineconstexpr

Indicates whether the type T is a fixed-point type.

Template Parameters
TThe type to verify
Returns
true T is a fixed-point type
false T is not a fixed-point type

Definition at line 340 of file traits.hpp.

◆ is_fixed_point() [2/2]

constexpr bool cudf::is_fixed_point ( data_type  type)
inlineconstexpr

Indicates whether type is a fixed point data_type.

Parameters
typeThe data_type to verify
Returns
true type is a fixed point type
false type is not a fixed point type

Definition at line 360 of file traits.hpp.

◆ is_fixed_width() [1/2]

template<typename T >
constexpr bool cudf::is_fixed_width ( )
inlineconstexpr

Indicates whether elements of type T are fixed-width.

Elements of a fixed-width type all have the same size in bytes.

Template Parameters
TThe C++ type to verify
Returns
true T corresponds to a fixed-width element type
false T corresponds to a variable-width element type

Definition at line 478 of file traits.hpp.

◆ is_fixed_width() [2/2]

constexpr bool cudf::is_fixed_width ( data_type  type)
inlineconstexpr

Indicates whether elements of type are fixed-width.

Elements of a fixed-width type all have the same size in bytes.

Parameters
typeThe data_type to verify
Returns
true type is fixed-width
false type is variable-width

Definition at line 502 of file traits.hpp.

◆ is_floating_point() [1/2]

template<typename T >
constexpr bool cudf::is_floating_point ( )
inlineconstexpr

Indicates whether the type T is a floating point type.

Template Parameters
TThe type to verify
Returns
true T is floating point
false T is not floating point

Definition at line 237 of file traits.hpp.

◆ is_floating_point() [2/2]

constexpr bool cudf::is_floating_point ( data_type  type)
inlineconstexpr

Indicates whether type is a floating point data_type.

"Floating point" types are fundamental floating point types such as FLOAT*.

Parameters
typeThe data_type to verify
Returns
true type is floating point
false type is not floating point

Definition at line 259 of file traits.hpp.

◆ is_index_type() [1/2]

template<typename T >
constexpr bool cudf::is_index_type ( )
inlineconstexpr

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'.

Template Parameters
TThe type to verify
Returns
true T is index type
false T is not index type

Definition at line 166 of file traits.hpp.

◆ is_index_type() [2/2]

constexpr bool cudf::is_index_type ( data_type  type)
inlineconstexpr

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'.

Parameters
typeThe data_type to verify
Returns
true type is index type
false type is not index type

Definition at line 190 of file traits.hpp.

◆ is_logically_castable()

constexpr bool cudf::is_logically_castable ( data_type  from,
data_type  to 
)
constexpr

Indicates whether from is logically castable to to.

Data types that have the same size and underlying representation, e.g. INT32 and TIMESTAMP_DAYS which are both represented as 32-bit integers in memory, are eligible for logical cast.

See cudf::logical_cast() which returns a zero-copy column_view when casting between logically castable types.

Parameters
fromThe data_type to convert from
toThe data_type to convert to
Returns
true if the types are logically castable

Definition at line 659 of file traits.hpp.

◆ is_nested() [1/2]

template<typename T >
constexpr bool cudf::is_nested ( )
inlineconstexpr

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.

Parameters
TThe type to verify
Returns
true T is a nested type
false T is not a nested type

Definition at line 565 of file traits.hpp.

◆ is_nested() [2/2]

constexpr bool cudf::is_nested ( data_type  type)
inlineconstexpr

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.

Parameters
typeThe data_type to verify
Returns
true type is a nested type
false type is not a nested type

Definition at line 589 of file traits.hpp.

◆ is_numeric() [1/2]

template<typename T >
constexpr bool cudf::is_numeric ( )
inlineconstexpr

Indicates whether the type T is a numeric type.

Template Parameters
TThe type to verify
Returns
true T is numeric
false T is not numeric

Definition at line 125 of file traits.hpp.

◆ is_numeric() [2/2]

constexpr bool cudf::is_numeric ( data_type  type)
inlineconstexpr

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.

Parameters
typeThe data_type to verify
Returns
true type is numeric
false type is not numeric

Definition at line 149 of file traits.hpp.

◆ is_relationally_comparable()

template<typename L , typename R >
constexpr bool cudf::is_relationally_comparable ( )
inlineconstexpr

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.

Template Parameters
LType of the first object
RType of the second object
Returns
true Objects of types L and R can be relationally be compared
false Objects of types L and R cannot be compared

Definition at line 94 of file traits.hpp.

◆ is_timestamp() [1/2]

template<typename T >
constexpr bool cudf::is_timestamp ( )
inlineconstexpr

Indicates whether the type T is a timestamp type.

Template Parameters
TThe type to verify
Returns
true T is a timestamp
false T is not a timestamp

Definition at line 305 of file traits.hpp.

◆ is_timestamp() [2/2]

constexpr bool cudf::is_timestamp ( data_type  type)
inlineconstexpr

Indicates whether type is a timestamp data_type.

"Timestamp" types are int32_t or int64_t durations since the unix epoch.

Parameters
typeThe data_type to verify
Returns
true type is a timestamp
false type is not a timestamp

Definition at line 327 of file traits.hpp.

◆ is_unsigned() [1/2]

template<typename T >
constexpr bool cudf::is_unsigned ( )
inlineconstexpr

Indicates whether the type T is a unsigned numeric type.

Template Parameters
TThe type to verify
Returns
true T is unsigned numeric
false T is signed numeric

Definition at line 203 of file traits.hpp.

◆ is_unsigned() [2/2]

constexpr bool cudf::is_unsigned ( data_type  type)
inlineconstexpr

Indicates whether type is a unsigned numeric data_type.

"Unsigned Numeric" types are fundamental integral types such as UINT*.

Parameters
typeThe data_type to verify
Returns
true type is unsigned numeric
false type is signed numeric

Definition at line 224 of file traits.hpp.

◆ operator!=()

bool cudf::operator!= ( data_type const &  lhs,
data_type const &  rhs 
)
inline

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?

Parameters
lhsThe first data_type to compare
rhsThe second data_type to compare
Returns
true lhs is not equal to rhs
false lhs is equal to rhs

Definition at line 310 of file types.hpp.

◆ operator==()

bool cudf::operator== ( data_type const &  lhs,
data_type const &  rhs 
)
inline

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?

Parameters
lhsThe first data_type to compare
rhsThe second data_type to compare
Returns
true lhs is equal to rhs
false lhs is not equal to rhs

Definition at line 292 of file types.hpp.

◆ size_of()

std::size_t cudf::size_of ( data_type  t)

Returns the size in bytes of elements of the specified data_type

Note
Only fixed-width types are supported
Exceptions
cudf::logic_errorif is_fixed_width(element_type) == false
Returns
Size in bytes of an element of the specified data_type