公共成员函数 | 所有成员列表
cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT > 类模板参考

用于包装字典列的 column_wrapper 派生类。 更多...

#include <column_wrapper.hpp>

cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT > 的继承图
cudf::test::detail::column_wrapper

公共成员函数

 operator dictionary_column_view () const
 强制转换为 dictionary_column_view
 
 dictionary_column_wrapper ()
 默认构造函数初始化一个字典类型的空列。
 
template<typename InputIterator >
 dictionary_column_wrapper (InputIterator begin, InputIterator end)
 构造一个范围 [begin,end) 中固定宽度元素的非可空字典列。 更多...
 
template<typename InputIterator , typename ValidityIterator >
 dictionary_column_wrapper (InputIterator begin, InputIterator end, ValidityIterator v)
 构造一个范围 [begin,end) 中固定宽度元素的可空字典列,使用范围 [v, v + distance(begin,end)),将其解释为布尔值以指示每个元素的有效性。 更多...
 
template<typename ElementFrom >
 dictionary_column_wrapper (std::initializer_list< ElementFrom > elements)
 从初始化列表构造一个固定宽度元素的非可空字典列。 更多...
 
template<typename ElementFrom >
 dictionary_column_wrapper (std::initializer_list< ElementFrom > elements, std::initializer_list< bool > validity)
 从固定宽度元素列表构造一个可空字典列,使用另一个列表指示每个元素的有效性。 更多...
 
template<typename ValidityIterator , typename ElementFrom >
 dictionary_column_wrapper (std::initializer_list< ElementFrom > element_list, ValidityIterator v)
 从固定宽度元素列表和范围 [v, v + element_list.size()) 构造一个可空字典列,将其解释为布尔值以指示每个元素的有效性。 更多...
 
template<typename InputIterator >
 dictionary_column_wrapper (InputIterator begin, InputIterator end, std::initializer_list< bool > const &validity)
 构造一个范围 [begin,end) 中固定宽度元素的可空字典列,使用有效性初始化列表指示每个元素的有效性。 更多...
 
- 继承自 cudf::test::detail::column_wrapper 的公共成员函数
 operator column_view () const
 column_view 的隐式转换运算符。 更多...
 
 operator mutable_column_view ()
 mutable_column_view 的隐式转换运算符。 更多...
 
std::unique_ptr< cudf::columnrelease ()
 释放指向包装列的内部 unique_ptr。 更多...
 

附加继承成员

- 继承自 cudf::test::detail::column_wrapper 的保护属性
std::unique_ptr< cudf::columnwrapped {}
 包装的列。
 

详细描述

template<typename KeyElementTo, typename SourceElementT = KeyElementTo>
class cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT >

column_wrapper 派生类,用于包装字典列。

此类处理固定宽度类型的键。

模板参数
KeyElementTo为字典的键值指定固定宽度类型
SourceElementT用于将固定宽度值转换为 KeyElementTo 类型

定义于文件 column_wrapper.hpp 的第 938 行。

构造函数和析构函数文档

◆ dictionary_column_wrapper() [1/6]

template<typename KeyElementTo , typename SourceElementT = KeyElementTo>
template<typename InputIterator >
cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT >::dictionary_column_wrapper ( InputIterator  begin,
InputIterator  end 
)
inline

构造一个范围 [begin,end) 中固定宽度元素的非可空字典列。

示例

// 创建一个包含 5 个 INT32 元素的非可空字典列
std::vector<int32_t> elements{0, 2, 2, 6, 6};
dictionary_column_wrapper<int32_t> w(element.begin(), elements.end());
// keys = {0, 2, 6}, indices = {0, 1, 1, 2, 2}
注意
std::vector 类似,这个“范围”构造函数应该使用圆括号 () 而不是花括号 {}。后者只应应用于 initializer_list 构造函数。
参数
begin元素序列的起始位置
end元素序列的结束位置

定义于文件 column_wrapper.hpp 的第 973 行。

◆ dictionary_column_wrapper() [2/6]

template<typename KeyElementTo , typename SourceElementT = KeyElementTo>
template<typename InputIterator , typename ValidityIterator >
cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT >::dictionary_column_wrapper ( InputIterator  begin,
InputIterator  end,
ValidityIterator  v 
)
inline

构造一个范围 [begin,end) 中固定宽度元素的可空字典列,使用范围 [v, v + distance(begin,end)),将其解释为布尔值以指示每个元素的有效性。

如果 v[i] == true,则元素 i 有效,否则为 null。

示例

// 创建一个包含 5 个元素和有效性迭代器的可空字典列。
std::vector<int32_t> elements{0, 2, 0, 6, 0};
// 此处的有效性迭代器将偶数行设为 null。
auto validity = make_counting_transform_iterator(0, [](auto i){return i%2;})
dictionary_column_wrapper<int32_t> w(elements, elements + 5, validity);
// keys = {2, 6}, indices = {NULL, 0, NULL, 1, NULL}
注意
std::vector 类似,这个“范围”构造函数应该使用圆括号 () 而不是花括号 {}。后者只应应用于 initializer_list 构造函数。
参数
begin元素序列的起始位置
end元素序列的结束位置
v有效性指示符序列的起始位置

定义于文件 column_wrapper.hpp 的第 1007 行。

◆ dictionary_column_wrapper() [3/6]

template<typename KeyElementTo , typename SourceElementT = KeyElementTo>
template<typename ElementFrom >
cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT >::dictionary_column_wrapper ( std::initializer_list< ElementFrom >  elements)
inline

从初始化列表构造一个固定宽度元素的非可空字典列。

示例

// 创建一个包含 4 个元素的非可空字典列。
dictionary_column_wrapper<int32_t> w{{1, 2, 3, 1}};
// keys = {1, 2, 3}, indices = {0, 1, 2, 0}
参数
elements元素列表

定义于文件 column_wrapper.hpp 的第 1030 行。

◆ dictionary_column_wrapper() [4/6]

template<typename KeyElementTo , typename SourceElementT = KeyElementTo>
template<typename ElementFrom >
cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT >::dictionary_column_wrapper ( std::initializer_list< ElementFrom >  elements,
std::initializer_list< bool >  validity 
)
inline

从固定宽度元素列表构造一个可空字典列,使用另一个列表指示每个元素的有效性。

每个元素的有效性由布尔值的 initializer_list 确定,其中 true 表示元素有效,false 表示元素为 null。

示例

// 创建一个包含 4 个元素和有效性初始化器的可空字典列。
dictionary_column_wrapper<int32_t> w{ {1, 0, 3, 0}, {1, 0, 1, 0}};
// keys = {1, 3}, indices = {NULL, 0, NULL, 1, NULL}
参数
elements元素列表
validity有效性指示符布尔值列表

定义于文件 column_wrapper.hpp 的第 1054 行。

◆ dictionary_column_wrapper() [5/6]

template<typename KeyElementTo , typename SourceElementT = KeyElementTo>
template<typename ValidityIterator , typename ElementFrom >
cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT >::dictionary_column_wrapper ( std::initializer_list< ElementFrom >  element_list,
ValidityIterator  v 
)
inline

从固定宽度元素列表和范围 [v, v + element_list.size()) 构造一个可空字典列,将其解释为布尔值以指示每个元素的有效性。

示例

// 创建一个包含 6 个元素和有效性迭代器的可空字典列。
// 此有效性迭代器将偶数行设为 null。
auto validity = make_counting_transform_iterator(0, [](auto i){return i%2;})
dictionary_column_wrapper<int32_t> w{ {0, 4, 0, 4, 0, 5}, validity}
// keys = {4, 5}, indices = {NULL, 0, NULL, 0, NULL, 1}
模板参数
ValidityIterator解引用 ValidityIterator 必须可转换为 bool 类型
参数
element_list元素列表
v有效性指示符序列的起始位置

定义于文件 column_wrapper.hpp 的第 1079 行。

◆ dictionary_column_wrapper() [6/6]

template<typename KeyElementTo , typename SourceElementT = KeyElementTo>
template<typename InputIterator >
cudf::test::dictionary_column_wrapper< KeyElementTo, SourceElementT >::dictionary_column_wrapper ( InputIterator  begin,
InputIterator  end,
std::initializer_list< bool > const &  validity 
)
inline

构造一个范围 [begin,end) 中固定宽度元素的可空字典列,使用有效性初始化列表指示每个元素的有效性。

每个元素的有效性由布尔值的 initializer_list 确定,其中 true 表示元素有效,false 表示元素为 null。

示例

// 创建一个包含 5 个元素和有效性初始化器的字典元素可空列。
std::vector<int32_t> elements{0, 2, 2, 6, 6};
dictionary_width_column_wrapper<int32_t> w(elements, elements + 5, {0, 1, 0, 1, 0});
// keys = {2, 6}, indices = {NULL, 0, NULL, 1, NULL}
参数
begin元素序列的起始位置
end元素序列的结束位置
validity有效性指示符布尔值列表

定义于文件 column_wrapper.hpp 的第 1105 行。


本类的文档由以下文件生成