作为元素列的设备数据的非拥有、不可变视图,其中一些元素可能为空,由位掩码指示。 更多...
#include <column_view.hpp>
|
template<typename T = void, CUDF_ENABLE_IF(std::is_same_v< T, void > or is_rep_layout_compatible< T >()) > |
T const * | head () const noexcept |
| 返回转换为指定类型的基本设备内存分配的指针。 更多...
|
|
template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) > |
T const * | data () const noexcept |
| 返回转换为指定类型并加上偏移量的底层数据。 更多...
|
|
template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) > |
T const * | begin () const noexcept |
| 返回底层数据转换为指定类型后的第一个元素(考虑偏移量)。 更多...
|
|
template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) > |
T const * | end () const noexcept |
| 返回底层数据转换为指定类型后的最后一个元素的下一个位置。 更多...
|
|
size_type | size () const noexcept |
| 返回列中的元素数量。 更多...
|
|
bool | is_empty () const noexcept |
| 如果 size() 返回零,则返回 true,否则返回 false。 更多...
|
|
data_type | type () const noexcept |
| 返回元素 data_type 。 更多...
|
|
bool | nullable () const noexcept |
| 指示列是否可以包含空元素,即是否分配了位掩码。 更多...
|
|
size_type | null_count () const |
| 返回空元素的计数。 更多...
|
|
size_type | size_type |
| 返回范围 [begin, end) 中空元素的计数。 更多...
|
|
bool | has_nulls () const |
| 指示列是否包含空元素,即 null_count() > 0 。 更多...
|
|
bool | size_type begin, size_type end, rmm::cuda_stream_view stream=cudf::get_default_stream()) const |
| 指示列在范围 [begin, end) 内是否包含空元素,即 null_count(begin, end) > 0 。 更多...
|
|
bitmask_type const * | null_mask () const noexcept |
| 返回指向底层位掩码分配的原始指针。 更多...
|
|
size_type | offset () const noexcept |
| 返回相对于基本内存分配的第一个元素的索引,即 head<T>() 返回的值。 更多...
|
|
作为元素列的设备数据的非拥有、不可变视图,其中一些元素可能为空,由位掩码指示。
column_view_base
可以从 cudf::column
隐式构造,也可以从指向现有设备内存的指针显式构造。
除非另有说明,否则 column_view_base
的数据和位掩码的内存布局应符合 Arrow 物理内存布局规范: https://arrow.apache.ac.cn/docs/memory_layout.html
由于 column_view_base
是非拥有的,因此在创建或销毁 column_view_base
对象时不会分配或释放设备内存。
为了启用零拷贝切片,column_view_base
具有一个 offset
,该偏移量指示列中第一个元素相对于基本设备内存分配的索引。默认情况下,offset()
为零。
定义于文件 column_view.hpp 的 53 行。
◆ column_view_base()
从指向列元素和位掩码的设备内存指针构造 column_view_base
。
如果 null_count()
为零,则 null_mask
是可选的。
如果 type
是 EMPTY
,则指定的 null_count
将被忽略,并且 null_count()
将始终返回与 size()
相同的值
- 异常
-
- 参数
-
type | 元素类型 |
size | 元素数量 |
data | 指向包含列元素的设备内存的指针 |
null_mask | 指向包含空值指示位掩码的设备内存的指针 |
null_count | 空元素的数量。 |
offset | 可选,第一个元素的索引 |
◆ begin()
template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) >
T const* cudf::detail::column_view_base::begin |
( |
| ) |
const |
|
inlinenoexcept |
返回底层数据转换为指定类型后的第一个元素(考虑偏移量)。
如果 is_rep_layout_compatible<T>
为 false,则此函数不参与重载决议。
- 模板参数
-
- 返回
- 转换后第一个元素的指针
定义于文件 column_view.hpp 的 107 行。
◆ data()
template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) >
T const* cudf::detail::column_view_base::data |
( |
| ) |
const |
|
inlinenoexcept |
返回转换为指定类型并加上偏移量的底层数据。
- 注意
- 如果
offset() == 0
,则 head<T>() == data<T>()
如果 is_rep_layout_compatible<T>
为 false,则此函数不参与重载决议。
- 模板参数
-
- 返回
- 指向底层数据的类型化指针,包括偏移量
定义于文件 column_view.hpp 的 91 行。
◆ end()
template<typename T , CUDF_ENABLE_IF(is_rep_layout_compatible< T >()) >
T const* cudf::detail::column_view_base::end |
( |
| ) |
const |
|
inlinenoexcept |
返回底层数据转换为指定类型后的最后一个元素的下一个位置。
如果 is_rep_layout_compatible<T>
为 false,则此函数不参与重载决议。
- 模板参数
-
- 返回
- 转换后最后一个元素的下一个位置的指针
定义于文件 column_view.hpp 的 123 行。
◆ get_data()
virtual void const* cudf::detail::column_view_base::get_data |
( |
| ) |
const |
|
inlineprotectedvirtualnoexcept |
◆ has_nulls() [1/2]
bool cudf::detail::column_view_base::has_nulls |
( |
| ) |
const |
|
inline |
◆ has_nulls() [2/2]
指示列在范围 [begin, end) 内是否包含空元素,即 null_count(begin, end) > 0
- 异常
-
- 参数
-
begin | 范围的起始索引(包含)。 |
end | 范围中最后一个元素的索引(不包含)。 |
stream | 用于设备内存操作和内核启动的 CUDA 流 |
- 返回
- true 在范围 [begin, end) 内包含一个或多个空元素
- false 在范围 [begin, end) 内所有元素都有效
定义于文件 column_view.hpp 的 209 行。
◆ head()
template<typename T = void, CUDF_ENABLE_IF(std::is_same_v< T, void > or is_rep_layout_compatible< T >()) >
T const* cudf::detail::column_view_base::head |
( |
| ) |
const |
|
inlinenoexcept |
返回转换为指定类型的基本设备内存分配的指针。
- 注意
- 如果
offset() == 0
,则 head<T>() == data<T>()
- 很少需要访问列的
head<T>()
分配,而应该通过 data<T>()
访问元素。
仅当 is_rep_layout_compatible<T>()
或 std::is_same_v<T,void>
为 true 时,此函数才参与重载决议。
- 模板参数
-
- 返回
- 指向底层数据的类型化指针
定义于文件 column_view.hpp 的 73 行。
◆ is_empty()
bool cudf::detail::column_view_base::is_empty |
( |
| ) |
const |
|
inlinenoexcept |
◆ null_count() [1/2]
size_type cudf::detail::column_view_base::null_count |
( |
| ) |
const |
|
inline |
◆ null_count() [2/2]
返回范围 [begin, end) 中空元素的计数。
- 注意
- 如果
null_count() != 0
,每次调用 null_count(begin, end)
都将重新计算范围 [begin, end) 中由 null_mask
指示的空元素的计数。
- 异常
-
- 参数
-
[in] | begin | 范围的起始索引(包含)。 |
[in] | end | 范围中最后一个元素的索引(不包含)。 |
[in] | stream | 用于设备内存操作和内核启动的 CUDA 流 |
- 返回
- 给定范围中空元素的计数
◆ null_mask()
bitmask_type const* cudf::detail::column_view_base::null_mask |
( |
| ) |
const |
|
inlinenoexcept |
◆ nullable()
bool cudf::detail::column_view_base::nullable |
( |
| ) |
const |
|
inlinenoexcept |
◆ offset()
size_type cudf::detail::column_view_base::offset |
( |
| ) |
const |
|
inlinenoexcept |
返回相对于基本内存分配的第一个元素的索引,即 head<T>()
返回的值。
- 返回
- 相对于
head<T>()
的第一个元素的索引
定义于文件 column_view.hpp 的 232 行。
◆ operator=() [1/2]
移动赋值运算符。
- 返回
- 指向此对象(所有权转移后)的引用
◆ operator=() [2/2]
◆ size()
size_type cudf::detail::column_view_base::size |
( |
| ) |
const |
|
inlinenoexcept |
◆ type()
data_type cudf::detail::column_view_base::type |
( |
| ) |
const |
|
inlinenoexcept |
◆ _null_mask
bitmask_type const* cudf::detail::column_view_base::_null_mask {} |
|
protected |
◆ _offset
size_type cudf::detail::column_view_base::_offset {} |
|
protected |
此类的文档是从以下文件生成的