| 公有成员函数 | 所有成员列表
cudf::column 类参考

一个包含可空设备数据元素的容器,表示为列。 更多...

#include <column.hpp>

struct  contents
 列内容的包装器。 更多...
 

公有成员函数

columnoperator= (column const &other)=delete
 
columnoperator= (column &&other)=delete
 
 column (column const &other, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过深度复制 other 的内容来构造新的 column 对象。 更多...
 
 column (column &&other) noexcept
 移动 other 的内容来创建新的 column。 更多...
 
template<typename T , CUDF_ENABLE_IF(cudf::is_numeric< T >() or cudf::is_chrono< T >()) >
 column (rmm::device_uvector< T > &&other, rmm::device_buffer &&null_mask, size_type null_count)
 通过获取 device_uvector 内容的所有权来构造新的 column。 更多...
 
template<typename B1 , typename B2 = rmm::device_buffer>
 column (data_type dtype, size_type size, B1 &&data, B2 &&null_mask, size_type null_count, std::vector< std::unique_ptr< column >> &&children={})
 从现有的设备内存构造新的 column。 更多...
 
 column (column_view view, rmm::cuda_stream_view stream=cudf::get_default_stream(), rmm::device_async_resource_ref mr=cudf::get_current_device_resource_ref())
 通过深度复制 column_view 的内容来构造新的 column。 更多...
 
data_type type () const noexcept
 返回列的逻辑元素类型。 更多...
 
size_type size () const noexcept
 返回元素数量。 更多...
 
size_type null_count () const
 返回空元素数量。 更多...
 
void set_null_mask (rmm::device_buffer &&new_null_mask, size_type new_null_count)
 将列的空值指示位掩码设置为 new_null_mask更多...
 
void set_null_mask (rmm::device_buffer const &new_null_mask, size_type new_null_count, rmm::cuda_stream_view stream=cudf::get_default_stream())
 将列的空值指示位掩码设置为 new_null_mask更多...
 
void set_null_count (size_type new_null_count)
 更新空元素数量。 更多...
 
bool nullable () const noexcept
 指示列是否可能包含空值,即它是否分配了空掩码。 更多...
 
bool has_nulls () const noexcept
 指示列是否包含空元素。 更多...
 
size_type size_type 
 num_children () const noexcept
 
返回子列数量。 更多...column
 child (size_type child_index) noexcept
 
返回指定子列的引用。 更多...column const & 
 child (size_type child_index) const noexcept
 
返回指定子列的 const 引用。 更多...contents 
 release () noexcept
 
释放列内容的所有权。 更多...column_view 
 view () const
 
 创建列数据和子列的不可变、非拥有的视图。 更多...
 operator column_view () const
 
隐式转换为 column_view 的运算符。 更多...mutable_column_view  ()
 mutable_view
 
 创建列数据、空掩码和子列的可变、非拥有的视图。 更多... ()
 operator mutable_column_view
 

隐式转换为 mutable_column_view 的运算符。 更多...

详细描述

一个包含可空设备数据元素的容器,表示为列。

定义于文件 column.hpp47 行。

构造函数与析构函数文档

◆ column() [1/5] ( 返回指定子列的引用。 更多... cudf::column::column,
other rmm::cuda_stream_view 
stream = cudf::get_default_stream(), rmm::device_async_resource_ref 
)

mr = cudf::get_current_device_resource_ref() 

通过深度复制 other 的内容来构造新的 column 对象。

使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
cudf::column::column参数
要复制的 columnstream
用于设备内存操作的 CUDA 流。mr

用于所有设备内存分配的设备内存资源

◆ column() [1/5] ( ◆ column() [2/5] cudf::column::column)
column && 

noexcept

移动 other 的内容来创建新的 column。

使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
cudf::column::column移动后,other.size() == 0other.type() = {EMPTY}

其内容将移入新 column 的 column

template<typename T , CUDF_ENABLE_IF(cudf::is_numeric< T >() or cudf::is_chrono< T >()) >
◆ column() [1/5] ( ◆ column() [3/5] cudf::column::column,
rmm::device_uvector< T > &&  rmm::device_buffer && ,
size_type  null_mask
)
null_count 

inline

使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
cudf::column::column通过获取 device_uvector 内容的所有权来构造新的 column。
rmm::device_buffer && 其内容将移入新 column 的 device_uvector。
列的空值指示位掩码。如果 null_count 为 0,可以为空。null_count

空元素数量。

定义于文件 column.hpp86 行。

template<typename B1 , typename B2 = rmm::device_buffer>
◆ column() [1/5] ( data_type  ◆ column() [4/5],
size_type  dtype,
size B1 && ,
data rmm::device_buffer && ,
size_type  列的空值指示位掩码。如果 null_count 为 0,可以为空。,
B2 &&  std::vector< std::unique_ptr< column >> && 
)
null_count 

children = {} 

从现有的设备内存构造新的 column。
注意
此构造函数主要用于 column 工厂函数。
异常cudf::logic_error
使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
◆ column() [4/5]如果 size < 0
dtype元素类型
B1 && 列中的元素数量
rmm::device_buffer && 其内容将移入新 column 的 device_uvector。
列的空值指示位掩码。如果 null_count 为 0,可以为空。列的数据
可选,空元素数量。children

可选,子列向量

定义于文件 column.hpp117 行。

◆ column() [1/5] ( 释放列内容的所有权。 更多... ◆ column() [5/5],
other rmm::cuda_stream_view 
stream = cudf::get_default_stream(), rmm::device_async_resource_ref 
)
view

explicit

通过深度复制 column_view 的内容来构造新的 column。

使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
◆ column() [5/5]这考虑了 column_view 的偏移量。
要复制的 columnstream
用于设备内存操作的 CUDA 流。mr

要复制的视图

成员函数文档

◆ child() [1/2] ( size_type  column const& cudf::column::child) child_index
const

inlinenoexcept

使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
column const& cudf::column::child返回指定子列的 const 引用。
所需子列的索引
返回

所需子列的 const 引用

定义于文件 column.hpp249 行。

◆ child() [2/2] ( size_type  column const& cudf::column::child)
const

column& cudf::column::child

使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
column const& cudf::column::child返回指定子列的 const 引用。
所需子列的索引
返回指定子列的引用。

所需子列的引用

定义于文件 column.hpp241 行。

◆ has_nulls() ( ) child_index
const

bool cudf::column::has_nulls

所需子列的索引
指示列是否包含空元素。
true 存在一个或多个空元素

false 零空元素

定义于文件 column.hpp226 行。

◆ mutable_view() ( )

mutable_column_view cudf::column::mutable_view

所需子列的索引
创建列数据、空掩码和子列的可变、非拥有的视图。

可变、非拥有的视图

◆ null_count() ( ) child_index
null_count 

size_type cudf::column::null_count

所需子列的索引
返回空元素数量。

空元素数量

定义于文件 column.hpp166 行。

◆ nullable() ( ) child_index
const

bool cudf::column::nullable

指示列是否可能包含空值,即它是否分配了空掩码。

当且仅当 null_count() == 0 时,这可能返回 false

所需子列的索引
即使 null_count() == 0,也可能返回 true。此函数仅指示列是否分配了空掩码。
true 列可以包含空值

false 列不能包含空值

定义于文件 column.hpp218 行。

◆ num_children() ( ) child_index
const

size_type cudf::column::num_children

所需子列的索引
返回子列数量。

子列数量

定义于文件 column.hpp233 行。

◆ operator column_view() ( ) child_index
null_count 

cudf::column::operator column_view

隐式转换为 column_view 的运算符。

所需子列的索引
这允许将 column 对象直接传递给需要 column_view 的函数。转换是自动的。

不可变、非拥有的 column_view

定义于文件 column.hpp298 行。

◆ operator mutable_column_view() ( )
null_count 

cudf::column::operator mutable_column_view

隐式转换为 mutable_column_view 的运算符。

这允许将 column 对象传递给接受 mutable_column_view 的函数。转换是自动的。

所需子列的索引
如果空掩码被修改,调用者应适当更新空计数。

可变、非拥有的 mutable_column_view

定义于文件 column.hpp319 行。

◆ release() ( )
column && 

contents cudf::column::release

释放列内容的所有权。

调用 release() 之前查询 size(), null_count(), type() 是调用者的责任。

所需子列的索引
num_children()

一个包含 column 数据、空掩码和子列的 contents 结构体。

◆ set_null_count() ( size_type  void cudf::column::set_null_count)

new_null_count

此构造函数主要用于 column 工厂函数。
异常更新空元素数量。
使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
void cudf::column::set_null_count如果 new_null_count > 0nullable() == false

新的空计数。

◆ set_null_mask() [1/2] ( rmm::device_uvector< T > &&  void cudf::column::set_null_mask,
size_type  new_null_mask
)

new_null_count 

此构造函数主要用于 column 工厂函数。
异常将列的空值指示位掩码设置为 new_null_mask
使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
void cudf::column::set_null_mask如果 new_null_count 大于 0 且 new_null_mask 的大小与此 column 的大小不匹配。
void cudf::column::set_null_countnull_count

新的空值指示位掩码(右值重载并移动)用于设置列的空值指示掩码。如果 new_null_count 为 0,可以为空。

◆ set_null_mask() [1/2] ( ◆ set_null_mask() [2/2] void cudf::column::set_null_mask,
size_type  void cudf::column::set_null_count,
other rmm::device_buffer const & 
)

new_null_count 

此构造函数主要用于 column 工厂函数。
异常将列的空值指示位掩码设置为 new_null_mask
使用指定的 stream 和 device_memory_resource 进行所有分配和复制。
void cudf::column::set_null_maskstream = cudf::get_default_stream() 
void cudf::column::set_null_count新的空值指示位掩码(左值重载并复制)用于设置列的空值指示掩码。如果 new_null_count 为 0,可以为空。
要复制的 column空元素数量

用于执行分配和复制的流。如果未指定,则使用默认的 CUDF 流。

◆ size() ( ) child_index
const

size_type cudf::column::size

所需子列的索引
返回元素数量。

元素数量

定义于文件 column.hpp159 行。

◆ type() ( ) child_index
const

data_type cudf::column::type

所需子列的索引
返回列的逻辑元素类型。

列的逻辑元素类型

定义于文件 column.hpp152 行。

◆ view() ( ) child_index

column_view cudf::column::view

所需子列的索引
创建列数据和子列的不可变、非拥有的视图。

不可变、非拥有的视图