列表类#

列表
class lists_column_view : private cudf::column_view#
#include <lists_column_view.hpp>

对于一个列表类型的列视图,此类的一个实例提供了对该复合列进行列表操作的包装器。

公共类型

using offset_iterator = size_type const*#

偏移量的迭代器类型。

公共函数

lists_column_view(column_view const &lists_column)#

从一个列视图构造一个新的列表列视图对象。

参数:

lists_column – 要包装的列视图

lists_column_view(lists_column_view&&) = default#

移动构造函数。

lists_column_view(lists_column_view const&) = default#

拷贝构造函数。

lists_column_view &operator=(lists_column_view const&) = default#

拷贝赋值运算符。

返回:

该列表列的引用

lists_column_view &operator=(lists_column_view&&) = default#

移动赋值运算符。

返回:

该列表列的引用

column_view parent() const#

返回父列。

返回:

父列

column_view offsets() const#

返回内部偏移量列。

抛出异常:

cudf::logic_error – 如果这是一个空列

返回:

内部偏移量列

column_view child() const#

返回内部子列。

抛出异常:

cudf::logic_error – 如果这是一个空列

返回:

内部子列

column_view get_sliced_child(rmm::cuda_stream_view stream) const#

返回内部子列,并应用根部的任何偏移量。

切片/分割的偏移量值仅存储在列表列的根级别。因此,在对其进行计算时,我们需要在递归时将该偏移量应用于子列。大多数以递归方式操作列表列的函数都应该使用 get_sliced_child() 而不是 child()

抛出异常:

cudf::logic_error – 如果这是一个空列

参数:

stream – 用于设备内存操作和核函数启动的 CUDA 流

返回:

切片后的子列视图

inline offset_iterator offsets_begin() const noexcept#

返回第一个偏移量(考虑列偏移量)

返回:

指向第一个偏移量的指针

inline offset_iterator offsets_end() const noexcept#

返回指向最后一个偏移量之后一个位置的指针。

此函数返回列表列最后一个偏移量之后一个位置的指针。由于当前列表列可能是切片列,因此不应使用 offsets() 子列的大小来计算此 offsets_end() 迭代器,offsets() 子列的大小是整个原始(非切片)列表列的偏移量。

返回:

指向最后一个偏移量之后一个位置的指针

inline auto child_begin() const noexcept#

返回指向有序子列视图序列开头的迭代器。

返回:

指向引用第一个子列的 column_view 的迭代器

inline auto child_end() const noexcept#

返回指向有序子列视图序列末尾(之后一个位置)的迭代器。

返回:

指向子列末尾(之后一个位置)的 column_view 的迭代器

公共静态属性

static constexpr size_type offsets_column_index = {0}#

偏移量列的索引。

static constexpr size_type child_column_index = {1}#

子列的索引。