lists_column_view.hpp
转到此文件的文档。
1 /*
2  * 版权所有 (c) 2020-2024, NVIDIA CORPORATION.
3  *
4  * 根据 Apache 许可证 2.0 版(“许可证”)获得许可;
5  * 除非遵守许可证,否则您不得使用此文件。
6  * 您可以在以下网址获取许可证副本:
7  *
8  * https://apache.ac.cn/licenses/LICENSE-2.0
9  *
10  * 除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”分发,
11  * 不附带任何明示或默示的保证或条件。
12  * 请参阅许可证以了解特定的语言权限和限制。
13  *
14  */
15 
16 #pragma once
17 
18 #include <cudf/column/column.hpp>
20 #include <cudf/utilities/export.hpp>
21 
22 #include <rmm/cuda_stream_view.hpp>
23 
29 namespace CUDF_EXPORT cudf {
30 
40 class lists_column_view : private column_view {
41  public
42  lists_column_view() = default;
48  lists_column_view(column_view const& lists_column);
51  ~lists_column_view() override = default;
64 
65  static constexpr size_type offsets_column_index{0};
66  static constexpr size_type child_column_index{1};
67 
68  using column_view::child_begin;
69  using column_view::child_end;
71  using column_view::is_empty;
73  using column_view::null_mask;
74  using column_view::offset;
75  using column_view::size;
76  using offset_iterator = size_type const*;
77 
83  [[nodiscard]] column_view parent() const;
84 
91  [[nodiscard]] column_view offsets() const;
92 
99  [[nodiscard]] column_view child() const;
100 
114 
120  [[nodiscard]] offset_iterator offsets_begin() const noexcept
121  {
122  return offsets().begin<size_type>() + offset();
123  }
124 
135  [[nodiscard]] offset_iterator offsets_end() const noexcept
136  {
137  return offsets_begin() + size() + 1;
138  }
139 }; // end of group
141 } // namespace CUDF_EXPORT cudf
作为设备数据的非拥有、不可变视图,表示为元素列,其中一些元素可能为空...
给定一个列表类型的列视图,此类的实例为此复合列提供了一个包装器...
column_view offsets() const
返回内部的偏移量列。
lists_column_view & operator=(lists_column_view const &)=default
复制赋值运算符。
lists_column_view & operator=(lists_column_view &&)=default
移动赋值运算符。
offset_iterator offsets_begin() const noexcept
返回第一个偏移量(考虑列偏移量)
column_view get_sliced_child(rmm::cuda_stream_view stream) const
返回内部子列,并应用根列的任何偏移量。
lists_column_view(lists_column_view const &)=default
复制构造函数。
lists_column_view(column_view const &lists_column)
从列视图构造一个新的列表列视图对象。
size_type const * offset_iterator
偏移量的迭代器类型。
column_view child() const
返回内部子列。
lists_column_view(lists_column_view &&)=default
移动构造函数。
offset_iterator offsets_end() const noexcept
返回指向最后一个偏移量之后一个位置的指针。
column_view parent() const
返回父列。
cudf::column 的类定义。
列视图类定义
cudf::size_type null_count(bitmask_type const *bitmask, size_type start, size_type stop, rmm::cuda_stream_view stream=cudf::get_default_stream())
给定一个有效性位掩码,计算范围 [start,...] 中空元素(未设置位)的数量。
int32_t size_type
列和表的行索引类型。
定义: types.hpp:95
cuDF 接口
定义: host_udf.hpp:37
bool has_nulls(table_view const &view)
如果表中任一列包含空值,则返回 True。