列表类#

group lists_classes
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)#

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

Parameters:

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#

复制赋值运算符。

Returns:

对此列表列的引用

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

移动赋值运算符。

Returns:

对此列表列的引用

column_view parent() const#

返回父列。

Returns:

父列

column_view offsets() const#

返回内部偏移量列。

Throws:

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

Returns:

内部偏移列

column_view child() const#

返回内部子列。

Throws:

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

Returns:

内部子列

column_view get_sliced_child(rmm::cuda_stream_view stream) const#

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

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

Throws:

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

Parameters:

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

Returns:

一个切片子列视图

inline offset_iterator offsets_begin() const noexcept#

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

Returns:

指向第一个偏移量的指针

inline offset_iterator offsets_end() const noexcept#

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

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

Returns:

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

inline auto child_begin() const noexcept#

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

Returns:

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

inline auto child_end() const noexcept#

返回指向子列视图有序序列末尾的迭代器。

Returns:

一个迭代器,指向column_view的子列的末尾

公共静态属性

static constexpr size_type offsets_column_index = {0}#

偏移量列的索引。

static constexpr size_type child_column_index = {1}#

子列的索引。