文件 | 嵌套类 | | 类型别名 | 枚举 | 函数 | 变量

文件

文件  types.hpp
 libcudf 的类型声明。
 
文件  traits.cuh
 
文件  traits.hpp
 

结构体  cudf::order_info
 指示一组值的排序方式。 更多...
 
类  cudf::data_type
 列中元素的逻辑数据类型指示符。 更多...
 
结构体  cudf::is_convertible< From, To >
 
结构体  cudf::is_convertible< cudf::detail::timestamp< Duration1 >, cudf::detail::timestamp< Duration2 > >
 

#define CUDF_ENABLE_IF(...)   cuda::std::enable_if_t<(__VA_ARGS__)>* = nullptr
 一个方便的宏,用于将 SFINAE 用作未命名的模板参数。 更多...
 

类型别名

using cudf::size_type = int32_t
 列和表的行索引类型。
 
using cudf::bitmask_type = uint32_t
 位掩码类型,存储为 32 位无符号整数。
 
using cudf::valid_type = uint8_t
 主机内存中的有效类型。
 
using cudf::thread_index_type = int64_t
 内核中的线程索引类型。
 
using cudf::char_utf8 = uint32_t
 UTF-8 字符是 1-4 字节。
 
template<typename... >
using cudf::void_t = void
 实用元函数,将任何类型序列映射到 void 类型。
 
template<typename L , typename R >
using cudf::less_comparable = decltype(cuda::std::declval< L >()< cuda::std::declval< R >())
 检查两个类型是否可以使用小于运算符(即 <)进行比较。
 
template<typename L , typename R >
using cudf::greater_comparable = decltype(cuda::std::declval< L >() > cuda::std::declval< R >())
 检查两个类型是否可以使用大于运算符(即 >)进行比较。
 
template<typename L , typename R >
using cudf::equality_comparable = decltype(cuda::std::declval< L >()==cuda::std::declval< R >())
 检查两个类型是否可以使用等于运算符(即 ==)进行比较。
 
template<typename... Ts>
using cudf::has_common_type = typename detail::has_common_type_impl< void, Ts... >::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 > >
 检查类型是否是时间戳类型。
 
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 > >
 检查类型是否是持续时间类型。
 

枚举

枚举类  cudf::order : bool { cudf::ASCENDING , cudf::DESCENDING }
 指示元素应如何排序。 更多...
 
枚举类  cudf::null_policy : bool { cudf::EXCLUDE , cudf::INCLUDE }
 枚举,用于指定是包含 null 还是排除 null。 更多...
 
枚举类  cudf::nan_policy : bool { cudf::NAN_IS_NULL , cudf::NAN_IS_VALID }
 枚举,用于将 NaN 浮点值视为 null 或非 null 元素。 更多...
 
枚举类  cudf::nan_equality { cudf::ALL_EQUAL , cudf::UNEQUAL }
 枚举,用于将持有 NaN 值的不同元素(浮点类型)视为相等或不相等。 更多...
 
枚举类  cudf::null_equality : bool { cudf::EQUAL , cudf::UNEQUAL }
 枚举,用于将两个 null 视为相等或不相等。 更多...
 
枚举类  cudf::null_order : bool { cudf::AFTER , cudf::BEFORE }
 指示 null 值如何与所有其他值进行比较。 更多...
 
枚举类  cudf::sorted : bool { NO , YES }
 指示一组值是否已知已排序。
 
枚举类  cudf::mask_state : int32_t { cudf::UNALLOCATED , cudf::UNINITIALIZED , cudf::ALL_VALID , cudf::ALL_NULL }
 控制 null 掩码的分配/初始化。 更多...
 
枚举类  cudf::interpolation : int32_t {
  cudf::LINEAR , cudf::LOWER , cudf::HIGHER , cudf::MIDPOINT ,
  cudf::NEAREST
}
 当期望的分位数位于两个数据点 i 和 j 之间时使用的插值方法。 更多...
 
枚举类  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
}
 识别列的逻辑元素类型。 更多...
 

函数

template<typename T >
size_type cudf::distance (T f, T l)
 类似于 std::distance,但返回 cudf::size_type 并执行 static_cast 更多...
 
constexpr bool cudf::operator== (data_type const &lhs, data_type const &rhs)
 比较两个 data_type 对象是否相等。 更多...
 
bool cudf::operator!= (data_type const &lhs, data_type const &rhs)
 比较两个 data_type 对象是否不相等。 更多...
 
std::size_t cudf::size_of (data_type t)
 返回指定 data_type 元素的字节大小。 更多...
 
template<typename T >
constexpr bool cudf::has_atomic_support ()
 指示类型 T 是否支持原子操作。 更多...
 
constexpr bool cudf::has_atomic_support (data_type type)
 指示 type 是否支持原子操作。 更多...
 
template<typename L , typename R >
constexpr bool cudf::is_relationally_comparable ()
 指示类型 LR 的对象是否可以进行关系比较。 更多...
 
bool cudf::is_relationally_comparable (data_type type)
 检查 data_type type 是否支持关系比较。 更多...
 
template<typename L , typename R >
constexpr bool cudf::is_equality_comparable ()
 指示类型 LR 的对象是否可以比较相等性。 更多...
 
bool cudf::is_equality_comparable (data_type type)
 检查 data_type type 是否支持相等性比较。 更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_numeric ()
 指示类型 T 是否为数值类型。 更多...
 
bool cudf::is_numeric (data_type type)
 指示 type 是否为数值 data_type更多...
 
template<typename T >
constexpr bool cudf::is_index_type ()
 指示类型 T 是否为索引类型。 更多...
 
bool cudf::is_index_type (data_type type)
 指示类型 type 是否为索引类型。 更多...
 
template<typename T >
constexpr bool cudf::is_signed ()
 指示类型 T 是否为有符号数值类型。 更多...
 
bool cudf::is_signed (data_type type)
 指示 type 是否为有符号数值 data_type更多...
 
template<typename T >
constexpr bool cudf::is_unsigned ()
 指示类型 T 是否为无符号数值类型。 更多...
 
bool cudf::is_unsigned (data_type type)
 指示 type 是否为无符号数值 data_type更多...
 
template<typename Iterator >
constexpr CUDF_HOST_DEVICE bool cudf::is_signed_iterator ()
 指示 Iterator 值类型是否为无符号类型。 更多...
 
template<typename T >
constexpr bool cudf::is_integral ()
 指示类型 T 是否为整型。 更多...
 
bool cudf::is_integral (data_type type)
 指示 type 是否为整型 data_type更多...
 
template<typename T >
constexpr bool cudf::is_integral_not_bool ()
 指示类型 T 是否为整型但非布尔型。 更多...
 
bool cudf::is_integral_not_bool (data_type type)
 指示 type 是否为整型 data_type 且非 BOOL8。 更多...
 
template<typename T >
constexpr bool cudf::is_numeric_not_bool ()
 指示类型 T 是否为数值类型但非布尔型。 更多...
 
bool cudf::is_numeric_not_bool (data_type type)
 指示 type 是否为数值 data_type 且非 BOOL8。 更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_floating_point ()
 指示类型 T 是否为浮点型。 更多...
 
bool cudf::is_floating_point (data_type type)
 指示 type 是否为浮点型 data_type更多...
 
template<typename T >
constexpr bool cudf::is_byte ()
 指示 T 是否为 std::byte 类型。 更多...
 
template<typename T >
constexpr bool cudf::is_boolean ()
 指示 T 是否为布尔类型。 更多...
 
bool cudf::is_boolean (data_type type)
 指示 type 是否为布尔型 data_type更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_timestamp ()
 指示类型 T 是否为时间戳类型。 更多...
 
bool cudf::is_timestamp (data_type type)
 指示 type 是否为时间戳 data_type更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_fixed_point ()
 指示类型 T 是否为定点类型。 更多...
 
bool cudf::is_fixed_point (data_type type)
 指示 type 是否为定点 data_type更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_duration ()
 指示类型 T 是否为持续时间类型。 更多...
 
bool cudf::is_duration (data_type type)
 指示 type 是否为持续时间 data_type更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_chrono ()
 指示类型 T 是否为 Chrono 类型。 更多...
 
bool cudf::is_chrono (data_type type)
 指示 type 是否为 Chrono data_type更多...
 
template<typename T >
constexpr bool cudf::is_rep_layout_compatible ()
 指示 T 是否与其“表示”类型布局兼容。 更多...
 
template<typename T >
constexpr bool cudf::is_dictionary ()
 指示类型 T 是否为字典类型。 更多...
 
bool cudf::is_dictionary (data_type type)
 指示 type 是否为字典 data_type更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_fixed_width ()
 指示类型 T 的元素是否为固定宽度。 更多...
 
bool cudf::is_fixed_width (data_type type)
 指示 type 的元素是否为固定宽度。 更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_compound ()
 指示类型 T 是否为复合类型。 更多...
 
bool cudf::is_compound (data_type type)
 指示 type 的元素是否为复合类型。 更多...
 
template<typename T >
constexpr CUDF_HOST_DEVICE bool cudf::is_nested ()
 指示 T 是否为嵌套类型。 更多...
 
bool cudf::is_nested (data_type type)
 指示 type 是否为嵌套类型。 更多...
 
bool cudf::is_bit_castable (data_type from, data_type to)
 指示 from 是否可以位转换为 to更多...
 

变量

template<typename... Ts>
constexpr bool cudf::has_common_type_v = detail::has_common_type_impl<void, Ts...>::value
 has_common_type<>::value 的辅助变量模板。
 

详细描述

宏定义文档

◆ CUDF_ENABLE_IF

#define CUDF_ENABLE_IF (   ...)    cuda::std::enable_if_t<(__VA_ARGS__)>* = nullptr

一个方便的宏,用于将 SFINAE 用作未命名的模板参数。

示例

// 此函数仅当 T 为整型时才参与重载解析
template <typename T, CUDF_ENABLE_IF(std::is_integral_v<T> )>
void foo();

定义于文件 traits.hpp50 行。

枚举类型文档

◆ interpolation

enum cudf::interpolation : int32_t
strong

当期望的分位数位于两个数据点 i 和 j 之间时使用的插值方法。

枚举器
LINEAR 

i 和 j 之间的线性插值。

LOWER 

较低的数据点 (i)

HIGHER 

较高的数据点 (j)

MIDPOINT 

(i + j)/2

NEAREST 

i 或 j,取最近的一个

定义于文件 types.hpp192 行。

◆ mask_state

enum cudf::mask_state : int32_t
strong

控制 null 掩码的分配/初始化。

枚举器
UNALLOCATED 

未分配 null 掩码,(所有元素均有效)

UNINITIALIZED 

已分配 null 掩码,但未初始化。

ALL_VALID 

已分配 null 掩码,并初始化为所有元素有效。

ALL_NULL 

已分配 null 掩码,并初始化为所有元素为 NULL。

定义于文件 types.hpp181 行。

◆ nan_equality

enum cudf::nan_equality
strong

枚举,用于将持有 NaN 值的不同元素(浮点类型)视为相等或不相等。

枚举器
ALL_EQUAL 

所有 NaN 比较相等,无论正负。

UNEQUAL 

所有 NaN 比较不相等 (IEEE754 行为)

定义于文件 types.hpp143 行。

◆ nan_policy

enum cudf::nan_policy : bool
strong

枚举,用于将 NaN 浮点值视为 null 或非 null 元素。

枚举器
NAN_IS_NULL 

将 NaN 视为 null 元素

NAN_IS_VALID 

将 NaN 视为有效元素(非 null)

定义于文件 types.hpp134 行。

◆ null_equality

enum cudf::null_equality : bool
strong

枚举,用于将两个 null 视为相等或不相等。

枚举器
EQUAL 

null 比较相等

UNEQUAL 

null 比较不相等

定义于文件 types.hpp151 行。

◆ null_order

enum cudf::null_order : bool
strong

指示 null 值如何与所有其他值进行比较。

枚举器
AFTER 

NULL 值排在所有其他值 之后

BEFORE 

NULL 值排在所有其他值 之前

定义于文件 types.hpp159 行。

◆ null_policy

enum cudf::null_policy : bool
strong

枚举,用于指定是包含 null 还是排除 null。

枚举器
EXCLUDE 

排除 null 元素

INCLUDE 

包含 null 元素

定义于文件 types.hpp126 行。

◆ order

enum cudf::order : bool
strong

指示元素应如何排序。

枚举器
ASCENDING 

元素从小到大排序。

DESCENDING 

元素从大到小排序。

定义于文件 types.hpp118 行。

◆ type_id

enum cudf::type_id : int32_t
strong

识别列的逻辑元素类型。

枚举器
EMPTY 

始终为 null,没有底层数据。

INT8 

1 字节有符号整数

INT16 

2 字节有符号整数

INT32 

4 字节有符号整数

INT64 

8 字节有符号整数

UINT8 

1 字节无符号整数

UINT16 

2 字节无符号整数

UINT32 

4 字节无符号整数

UINT64 

8 字节无符号整数

FLOAT32 

4 字节浮点数

FLOAT64 

8 字节浮点数

BOOL8 

布尔值,每个值使用一个字节,0 表示 false,其他表示 true。

TIMESTAMP_DAYS 

时间点,以 Unix Epoch 以来天数计算,int32 类型

TIMESTAMP_SECONDS 

时间点,以 Unix Epoch 以来秒数计算,int64 类型

TIMESTAMP_MILLISECONDS 

时间点,以 Unix Epoch 以来毫秒数计算,int64 类型

TIMESTAMP_MICROSECONDS 

时间点,以 Unix Epoch 以来微秒数计算,int64 类型

TIMESTAMP_NANOSECONDS 

时间点,以 Unix Epoch 以来纳秒数计算,int64 类型

DURATION_DAYS 

以天为单位的时间间隔,int32 类型

DURATION_SECONDS 

以秒为单位的时间间隔,int64 类型

DURATION_MILLISECONDS 

以毫秒为单位的时间间隔,int64 类型

DURATION_MICROSECONDS 

以微秒为单位的时间间隔,int64 类型

DURATION_NANOSECONDS 

以纳秒为单位的时间间隔,int64 类型

DICTIONARY32 

字典类型,使用 int32 索引。

STRING 

字符串元素。

LIST 

列表元素。

DECIMAL32 

定点类型,使用 int32_t。

DECIMAL64 

定点类型,使用 int64_t。

DECIMAL128 

定点类型,使用 __int128_t。

STRUCT 

结构体元素。

NUM_TYPE_IDS 

类型 ID 的总数。

定义于文件 types.hpp203 行。

函数文档

◆ distance()

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

类似于 std::distance,但返回 cudf::size_type 并执行 static_cast

模板参数
T迭代器类型
参数
f“first”迭代器
l“last”迭代器
返回值
first 和 last 之间的距离

定义于文件 types.hpp110 行。

◆ has_atomic_support() [1/2]

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

指示类型 T 是否支持原子操作。

模板参数
T要验证的类型
返回值
true T 支持原子操作
false T 不支持原子操作

定义于文件 traits.cuh40 行。

◆ has_atomic_support() [2/2]

constexpr bool cudf::has_atomic_support ( data_type  type)
inlineconstexpr

指示 type 是否支持原子操作。

参数
type要验证的 data_type
返回值
true type 支持原子操作
false type 不支持原子操作

定义于文件 traits.cuh60 行。

◆ is_bit_castable()

bool cudf::is_bit_castable ( data_type  from,
data_type  to 
)

指示 from 是否可以位转换为 to

此转换基于 std::bit_cast。大小相同且可平凡复制的数据类型符合此转换条件。

参见 cudf::bit_cast(),它在位转换类型之间转换时返回零拷贝 column_view

参数
from要转换的 data_type
to要转换成的 data_type
返回值
如果类型可转换,则为 true

◆ is_boolean() [1/2]

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

指示 T 是否为布尔类型。

参数
type要验证的 data_type
返回值
true type 为布尔类型
false type 非布尔类型

定义于文件 traits.hpp404 行。

◆ is_boolean() [2/2]

bool cudf::is_boolean ( data_type  type)

指示 type 是否为布尔型 data_type

参数
type要验证的 data_type
返回值
true type 为布尔类型
false type 非布尔类型

◆ is_byte()

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

指示 T 是否为 std::byte 类型。

模板参数
T要验证的类型
返回值
true type 为 std::byte
false type 非 std::byte

定义于文件 traits.hpp391 行。

◆ is_chrono() [1/2]

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

指示类型 T 是否为 Chrono 类型。

模板参数
T要验证的类型
返回值
true T 为持续时间或时间戳类型
false T 既非持续时间也非时间戳类型

定义于文件 traits.hpp501 行。

◆ is_chrono() [2/2]

bool cudf::is_chrono ( data_type  type)

指示 type 是否为 Chrono data_type

Chrono 类型包括 cudf 时间戳类型(表示时间点)和 cudf 持续时间类型(表示时间间隔)。

参数
type要验证的 data_type
返回值
true type 为 Chrono 类型
false type 非 Chrono 类型

◆ is_compound() [1/2]

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

指示类型 T 是否为复合类型。

元素为“复合”类型的 column 逻辑上是单个元素列,但具体实现时可能由两个或多个 column 组成。例如,STRING 列可能包含一个偏移量 column 和一个字符子 column

模板参数
T要验证的类型
返回值
true T 对应“复合”类型
false T 对应“简单”类型

定义于文件 traits.hpp602 行。

◆ is_compound() [2/2]

bool cudf::is_compound ( data_type  type)

指示 type 的元素是否为复合类型。

元素为“复合”类型的 column 逻辑上是单个元素列,但具体实现时可能由两个或多个 column 组成。例如,STRING 列可能包含一个偏移量 column 和一个字符子 column

参数
type要验证的 data_type
返回值
true type 为复合类型
false type 为简单类型

◆ is_dictionary() [1/2]

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

指示类型 T 是否为字典类型。 更多...

模板参数
T要验证的类型
返回值
true T 为字典类型
false T 非字典类型

定义于文件 traits.hpp545 行。

◆ is_dictionary() [2/2]

bool cudf::is_dictionary ( data_type  type)

指示 type 是否为字典 data_type更多...

参数
type要验证的 data_type
返回值
true type 为字典类型
false type 非字典类型

◆ is_duration() [1/2]

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

指示类型 T 是否为持续时间类型。 更多...

模板参数
T要验证的类型
返回值
true T 为持续时间类型
false T 非持续时间类型

定义于文件 traits.hpp477 行。

◆ is_duration() [2/2]

bool cudf::is_duration ( data_type  type)

指示 type 是否为持续时间 data_type更多...

"持续时间" 类型是 int32_t 或 int64_t 计数,表示时间间隔。

参数
type要验证的 data_type
返回值
true type 为持续时间类型
false type 非持续时间类型

◆ is_equality_comparable() [1/2]

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

指示类型 LR 的对象是否可以比较相等性。 更多...

给定两个对象 L lR r,如果 l == r 是一个格式良好的表达式,则返回 true。

模板参数
L第一个对象的类型
R第二个对象的类型
返回值
true 类型 LR 的对象可以比较相等性
false 类型 LR 的对象不可比较

定义于文件 traits.hpp158 行。

◆ is_equality_comparable() [2/2]

bool cudf::is_equality_comparable ( data_type  type)

检查 data_type type 是否支持相等性比较。 更多...

参数
type用于比较的 Data_type。
返回值
true 如果 type 支持相等性比较。
false 如果 type 不支持相等性比较。

◆ is_fixed_point() [1/2]

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

指示类型 T 是否为定点类型。 更多...

模板参数
T要验证的类型
返回值
true T 为定点类型
false T 非定点类型

定义于文件 traits.hpp450 行。

◆ is_fixed_point() [2/2]

bool cudf::is_fixed_point ( data_type  type)

指示 type 是否为定点 data_type更多...

参数
type要验证的 data_type
返回值
true type 为定点类型
false type 非定点类型

◆ is_fixed_width() [1/2]

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

指示类型 T 的元素是否为固定宽度。 更多...

固定宽度类型的元素都具有相同的字节大小。

模板参数
T要验证的 C++ 类型
返回值
true T 对应固定宽度元素类型
false T 对应可变宽度元素类型

定义于文件 traits.hpp569 行。

◆ is_fixed_width() [2/2]

bool cudf::is_fixed_width ( data_type  type)

指示 type 的元素是否为固定宽度。 更多...

固定宽度类型的元素都具有相同的字节大小。

参数
type要验证的 data_type
返回值
true type 为固定宽度
false type 为可变宽度

◆ is_floating_point() [1/2]

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

指示类型 T 是否为浮点型。 更多...

模板参数
T要验证的类型
返回值
true T 为浮点型
false T 非浮点型

定义于文件 traits.hpp367 行。

◆ is_floating_point() [2/2]

bool cudf::is_floating_point ( data_type  type)

指示 type 是否为浮点型 data_type更多...

“浮点”类型是基本浮点类型,例如 FLOAT*

参数
type要验证的 data_type
返回值
true type 为浮点型
false type 非浮点型

◆ is_index_type() [1/2]

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

指示类型 T 是否为索引类型。 更多...

如果可以使用 T 类型的元素索引到列中,则类型 T 被视为索引类型。即,索引类型是整型,例如 'INT*'(除了 'bool')。

模板参数
T要验证的类型
返回值
true T 为索引类型
false T 非索引类型

定义于文件 traits.hpp210 行。

◆ is_index_type() [2/2]

bool cudf::is_index_type ( data_type  type)

指示类型 type 是否为索引类型。 更多...

如果可以使用 T 类型的元素索引到列中,则类型 T 被视为索引类型。即,索引类型是整型,例如 'INT*'(除了 'bool')。

参数
type要验证的 data_type
返回值
true type 为索引类型
false type 非索引类型

◆ is_integral() [1/2]

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

指示类型 T 是否为整型。 更多...

模板参数
T要验证的类型
返回值
true T 为整型
false T 非整型

定义于文件 traits.hpp295 行。

◆ is_integral() [2/2]

bool cudf::is_integral ( data_type  type)

指示 type 是否为整型 data_type更多...

“整型”类型是基本整数类型,例如 INT*UINT*

参数
type要验证的 data_type
返回值
true type 为整型
false type 为整型

◆ is_integral_not_bool() [1/2]

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

指示类型 T 是否为整型但非布尔型。 更多...

模板参数
T要验证的类型
返回值
true T 为整型但非 bool
false T 非整型或为 bool

定义于文件 traits.hpp319 行。

◆ is_integral_not_bool() [2/2]

bool cudf::is_integral_not_bool ( data_type  type)

指示 type 是否为整型 data_type 且非 BOOL8。 更多...

“整型”类型是基本整数类型,例如 INT*UINT*

参数
type要验证的 data_type
返回值
true type 为整型但非 bool
false type 为整型或为 bool

◆ is_nested() [1/2]

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

指示 T 是否为嵌套类型。 更多...

“嵌套”类型与复合类型不同,它们可以拥有任意深度的同类型后代列表。字符串不是嵌套类型,但列表是。

参数
T要验证的类型
返回值
true T 为嵌套类型
false T 非嵌套类型

定义于文件 traits.hpp635 行。

◆ is_nested() [2/2]

bool cudf::is_nested ( data_type  type)

指示 type 是否为嵌套类型。 更多...

“嵌套”类型与复合类型不同,它们可以拥有任意深度的同类型后代列表。字符串不是嵌套类型,但列表是。

参数
type要验证的 data_type
返回值
true type 为嵌套类型
false type 非嵌套类型

◆ is_numeric() [1/2]

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

指示类型 T 是否为数值类型。 更多...

模板参数
T要验证的类型
返回值
true T 为数值型
false T 非数值型

定义于文件 traits.hpp180 行。

◆ is_numeric() [2/2]

bool cudf::is_numeric ( data_type  type)

指示 type 是否为数值 data_type更多...

“数值”类型是基本整型/浮点型,例如 INT*FLOAT*。封装数值类型的类型不被视为数值型,例如 TIMESTAMP

参数
type要验证的 data_type
返回值
true type 为数值型
false type 非数值型

◆ is_numeric_not_bool() [1/2]

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

指示类型 T 是否为数值类型但非布尔型。 更多...

模板参数
T要验证的类型
返回值
true T 为数值型但非 bool
false T 非数值型或为 bool

定义于文件 traits.hpp343 行。

◆ is_numeric_not_bool() [2/2]

bool cudf::is_numeric_not_bool ( data_type  type)

指示 type 是否为数值 data_type 且非 BOOL8。 更多...

“数值”类型是整型/浮点型,例如 INT*FLOAT*

参数
type要验证的 data_type
返回值
true type 为数值型但非 bool
false type 非数值型或为 bool

◆ is_relationally_comparable() [1/2]

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

指示类型 LR 的对象是否可以进行关系比较。 更多...

给定两个对象 L lR r,如果 l < rl > r 是格式良好的表达式,则返回 true。

模板参数
L第一个对象的类型
R第二个对象的类型
返回值
true 类型 LR 的对象可以进行关系比较
false 类型 LR 的对象不可比较

定义于文件 traits.hpp131 行。

◆ is_relationally_comparable() [2/2]

bool cudf::is_relationally_comparable ( data_type  type)

检查 data_type type 是否支持关系比较。 更多...

参数
type用于比较的 Data_type。
返回值
true 如果 type 支持关系比较。
false 如果 type 不支持关系比较。

◆ is_rep_layout_compatible()

template<typename T >
constexpr bool cudf::is_rep_layout_compatible ( )
constexpr

指示 T 是否与其“表示”类型布局兼容。 更多...

例如,在列中,decimal32 具体表示为单个 int32_t,但 decimal32 类型本身包含整数表示和比例。因此,decimal32int32_t 布局兼容。

再例如,duration_ns 与其具体 int64_t 表示类型不同,但它们布局兼容。

返回值
如果 T 与其“表示”类型布局兼容,则为 true

定义于文件 traits.hpp531 行。

◆ is_signed() [1/2]

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

指示类型 T 是否为有符号数值类型。 更多...

模板参数
T要验证的类型
返回值
true T 为有符号数值类型

定义于文件 traits.hpp235 行。

◆ is_signed() [2/2]

bool cudf::is_signed ( data_type  type)

指示 type 是否为有符号数值 data_type更多...

“有符号数值”类型包括基本整型,例如 INT*,但也可以是 FLOAT* 类型。

参数
type要验证的 data_type
返回值
true type 为有符号数值类型

◆ is_signed_iterator()

template<typename Iterator >
constexpr CUDF_HOST_DEVICE bool cudf::is_signed_iterator ( )
inlineconstexpr

指示 Iterator 值类型是否为无符号类型。

模板参数
迭代器要验证的类型
返回值
如果迭代器的值类型为无符号类型,则为 true

定义于文件 traits.hpp282 行。

◆ is_timestamp() [1/2]

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

指示类型 T 是否为时间戳类型。 更多...

模板参数
T要验证的类型
返回值
true T 为时间戳类型
false T 非时间戳类型

定义于文件 traits.hpp426 行。

◆ is_timestamp() [2/2]

bool cudf::is_timestamp ( data_type  type)

指示 type 是否为时间戳 data_type更多...

“时间戳”类型是自 Unix Epoch 以来的 int32_t 或 int64_t 持续时间。

参数
type要验证的 data_type
返回值
true type 为时间戳类型
false type 非时间戳类型

◆ is_unsigned() [1/2]

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

指示类型 T 是否为无符号数值类型。 更多...

模板参数
T要验证的类型
返回值
true T 为无符号数值类型
false T 为有符号数值类型

定义于文件 traits.hpp259 行。

◆ is_unsigned() [2/2]

bool cudf::is_unsigned ( data_type  type)

指示 type 是否为无符号数值 data_type更多...

“无符号数值”类型是基本整型,例如 UINT*

参数
type要验证的 data_type
返回值
true type 为无符号数值类型
false type 为有符号数值类型

◆ operator!=()

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

比较两个 data_type 对象是否不相等。

// TODO 准确定义两个 data_type 相等的含义。例如,两个具有不同分辨率的时间戳是否相等?具有不同比例/精度的 decimal 如何?

参数
lhs要比较的第一个 data_type
rhs要比较的第二个 data_type
返回值
true lhs 不等于 rhs
false lhs 等于 rhs

定义于文件 types.hpp337 行。

◆ operator!=()

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

比较两个 data_type 对象的非相等性。

// TODO 准确定义两个 data_type 相等的含义。例如,两个具有不同分辨率的时间戳是否相等?具有不同比例/精度的 decimal 如何?

参数
lhs要比较的第一个 data_type
rhs要比较的第二个 data_type
返回值
true lhs 等于 rhs
false lhs 不等于 rhs

定义于文件 types.hpp319 行。

◆ size_of()

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

返回指定 data_type 元素的大小(字节)。

注意
仅支持固定宽度类型
异常
cudf::logic_error如果 is_fixed_width(element_type) == false
参数
t要获取大小的 data_type
返回值
指定 data_type 元素的字节大小。