公有成员函数 | 公有静态成员函数 | 所有成员列表
cudf::test::lists_column_wrapper< T, SourceElementT > 类模板参考

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

#include <column_wrapper.hpp>

cudf::test::lists_column_wrapper< T, SourceElementT > 的继承图
cudf::test::detail::column_wrapper

公有成员函数

 operator lists_column_view () const
 转换为 lists_column_view
 
template<typename Element = T, std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
 lists_column_wrapper (std::initializer_list< SourceElementT > elements)
 从值的初始化列表构造一个包含单个固定宽度类型列表的列表列。 更多...
 
template<typename Element = T, typename InputIterator , std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
 lists_column_wrapper (InputIterator begin, InputIterator end)
 从迭代器范围构造一个包含单个固定宽度类型列表的列表列。 更多...
 
template<typename Element = T, typename ValidityIterator , std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
 lists_column_wrapper (std::initializer_list< SourceElementT > elements, ValidityIterator v)
 从值的初始化列表和有效性迭代器构造一个包含单个固定宽度类型列表的列表列。 更多...
 
template<typename Element = T, typename InputIterator , typename ValidityIterator , std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
 lists_column_wrapper (InputIterator begin, InputIterator end, ValidityIterator v)
 从迭代器范围和有效性迭代器构造一个包含单个固定宽度类型列表的列表列。 更多...
 
template<typename Element = T, std::enable_if_t< std::is_same_v< Element, cudf::string_view >> * = nullptr>
 lists_column_wrapper (std::initializer_list< std::string > elements)
 从值的初始化列表构造一个包含单个字符串列表的列表列。 更多...
 
template<typename Element = T, typename ValidityIterator , std::enable_if_t< std::is_same_v< Element, cudf::string_view >> * = nullptr>
 lists_column_wrapper (std::initializer_list< std::string > elements, ValidityIterator v)
 从值的初始化列表和有效性迭代器构造一个包含单个字符串列表的列表列。 更多...
 
 lists_column_wrapper (std::initializer_list< lists_column_wrapper< T, SourceElementT >> elements)
 从值的初始化列表构造一个嵌套列表的列表列。 更多...
 
 lists_column_wrapper ()
 构造一个空的列表列。 更多...
 
template<typename ValidityIterator >
 lists_column_wrapper (std::initializer_list< lists_column_wrapper< T, SourceElementT >> elements, ValidityIterator v)
 从值的初始化列表和有效性迭代器构造一个嵌套列表的列表列。 更多...
 
- 从 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。 更多...
 

公有静态成员函数

static lists_column_wrapper< T > make_one_empty_row_column (bool valid=true)
 构造一个包含单个空行(可选为 null)的列表列。 更多...
 

附加继承成员

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

详细描述

template<typename T, typename SourceElementT = T>
class cudf::test::lists_column_wrapper< T, SourceElementT >

用于包装列表列的 column_wrapper 派生类。

重要说明:由于初始化列表的工作方式,在不同情况下声明嵌套空列表时存在一个不明显的行为差异。具体来说,

lists_column_wrapper<int> col{ {LCW{}} }
这将产生一个包含 1 行的 List<List<int>> 列:一个包含空列表的列表。
包含空列表。
lists_column_wrapper<int> col{ {LCW{}} }
lists_column_wrapper<int> col{LCW{}}
这将产生一个包含 1 行的 List<int> 列,该行是一个空列表。

这仅影响空列表的初始嵌套。总而言之,在两种情况下声明“空列表”的正确方法是

// 情况 1 (cudf TYPED_TEST 情况)
LCW{}
// 情况 2 (cudf TEST_F 情况)
{LCW{}}

定义在文件 column_wrapper.hpp1316 行。

构造函数和析构函数文档

◆ lists_column_wrapper() [1/9]

template<typename T , typename SourceElementT = T>
template<typename Element = T, std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( std::initializer_list< SourceElementT >  elements)
inline

从值的初始化列表构造一个包含单个固定宽度类型列表的列表列。

示例

创建一个包含 1 个列表的 LIST 列,该列表包含 2 个整数
[{0, 1}]
lists_column_wrapper()
构造一个空的列表列。
参数
elements元素列表

定义在文件 column_wrapper.hpp1337 行。

◆ lists_column_wrapper() [2/9]

template<typename T , typename SourceElementT = T>
template<typename Element = T, typename InputIterator , std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( InputIterator  begin,
InputIterator  end 
)
inline

从迭代器范围构造一个包含单个固定宽度类型列表的列表列。

示例

// 创建一个包含 1 个列表的 LIST 列,该列表包含 5 个整数
auto elements = make_counting_transform_iterator(0, [](auto i){return i*2;});
// [{0, 1, 2, 3, 4}]
lists_column_wrapper l(elements, elements+5);
参数
begin序列的起始
end序列的结束

定义在文件 column_wrapper.hpp1361 行。

◆ lists_column_wrapper() [3/9]

template<typename T , typename SourceElementT = T>
template<typename Element = T, typename ValidityIterator , std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( std::initializer_list< SourceElementT >  elements,
ValidityIterator  v 
)
inline

从值的初始化列表和有效性迭代器构造一个包含单个固定宽度类型列表的列表列。

示例

// 创建一个包含 1 个列表的 LIST 列,该列表包含 2 个整数
auto validity = make_counting_transform_iterator(0, [](auto i){return i%2;});
// [{0, NULL}]
lists_column_wrapper l{{0, 1}, validity};
参数
elements元素列表
v有效性迭代器

定义在文件 column_wrapper.hpp1385 行。

◆ lists_column_wrapper() [4/9]

template<typename T , typename SourceElementT = T>
template<typename Element = T, typename InputIterator , typename ValidityIterator , std::enable_if_t< cudf::is_fixed_width< Element >()> * = nullptr>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( InputIterator  begin,
InputIterator  end,
ValidityIterator  v 
)
inline

从迭代器范围和有效性迭代器构造一个包含单个固定宽度类型列表的列表列。

示例

// 创建一个包含 1 个列表的 LIST 列,该列表包含 5 个整数
auto elements = make_counting_transform_iterator(0, [](auto i){return i*2;});
auto validity = make_counting_transform_iterator(0, [](auto i){return i%2;});
// [{0, NULL, 2, NULL, 4}]
lists_column_wrapper l(elements, elements+5, validity);
参数
begin序列的起始
end序列的结束
v有效性迭代器

定义在文件 column_wrapper.hpp1413 行。

◆ lists_column_wrapper() [5/9]

template<typename T , typename SourceElementT = T>
template<typename Element = T, std::enable_if_t< std::is_same_v< Element, cudf::string_view >> * = nullptr>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( std::initializer_list< std::string >  elements)
inline

从值的初始化列表构造一个包含单个字符串列表的列表列。

示例

// 创建一个包含 1 个列表的 LIST 列,该列表包含 2 个字符串
// [{"abc", "def"}]
lists_column_wrapper l{"abc", "def"};
参数
elements元素列表

定义在文件 column_wrapper.hpp1435 行。

◆ lists_column_wrapper() [6/9]

template<typename T , typename SourceElementT = T>
template<typename Element = T, typename ValidityIterator , std::enable_if_t< std::is_same_v< Element, cudf::string_view >> * = nullptr>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( std::initializer_list< std::string >  elements,
ValidityIterator  v 
)
inline

从值的初始化列表和有效性迭代器构造一个包含单个字符串列表的列表列。

示例

// 创建一个包含 1 个列表的 LIST 列,该列表包含 2 个字符串
auto validity = make_counting_transform_iterator(0, [](auto i){return i%2;});
// [{"abc", NULL}]
lists_column_wrapper l{{"abc", "def"}, validity};
参数
elements元素列表
v有效性迭代器

定义在文件 column_wrapper.hpp1459 行。

◆ lists_column_wrapper() [7/9]

template<typename T , typename SourceElementT = T>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( std::initializer_list< lists_column_wrapper< T, SourceElementT >>  elements)
inline

从值的初始化列表构造一个嵌套列表的列表列。

示例

// 创建一个包含 3 个列表的 LIST 列
// [{0, 1}, {2, 3}, {4, 5}]
lists_column_wrapper l{ {0, 1}, {2, 3}, {4, 5} };

自动处理嵌套 示例

// 创建一个 LIST of LIST 列,顶层有 2 个列表,
// 下方有 4 个列表
// [ {{0, 1}, {2, 3}}, {{4, 5}, {6, 7}} ]
lists_column_wrapper l{ {{0, 1}, {2, 3}}, {{4, 5}, {6, 7}} };
参数
elements元素列表

定义在文件 column_wrapper.hpp1487 行。

◆ lists_column_wrapper() [8/9]

template<typename T , typename SourceElementT = T>
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( )
inline

构造一个空的列表列。

示例

// 创建一个空的 LIST 列
// []

定义在文件 column_wrapper.hpp1505 行。

◆ lists_column_wrapper() [9/9]

template<typename T , typename SourceElementT = T>
template<typename ValidityIterator >
cudf::test::lists_column_wrapper< T, SourceElementT >::lists_column_wrapper ( std::initializer_list< lists_column_wrapper< T, SourceElementT >>  elements,
ValidityIterator  v 
)
inline

从值的初始化列表和有效性迭代器构造一个嵌套列表的列表列。

示例

// 创建一个包含 3 个列表的 LIST 列
auto validity = make_counting_transform_iterator(0, [](auto i){return i%2;});
// [{0, 1}, NULL, {4, 5}]
lists_column_wrapper l{ {{0, 1}, {2, 3}, {4, 5}, validity} };

自动处理嵌套 示例

// 创建一个 LIST of LIST 列,顶层有 2 个列表,
// 下方有 4 个列表
auto validity = make_counting_transform_iterator(0, [](auto i){return i%2;});
// [ {{0, 1}, NULL}, {{4, 5}, NULL} ]
lists_column_wrapper l{ {{{0, 1}, {2, 3}}, validity}, {{{4, 5}, {6, 7}}, validity} };
参数
elements元素列表
v有效性迭代器

定义在文件 column_wrapper.hpp1536 行。

成员函数文档

◆ make_one_empty_row_column()

template<typename T , typename SourceElementT = T>
static lists_column_wrapper<T> cudf::test::lists_column_wrapper< T, SourceElementT >::make_one_empty_row_column ( bool  valid = true)
inlinestatic

构造一个包含单个空行(可选为 null)的列表列。

参数
valid空行是否也为 null
返回
包含单个空行的列表列

定义在文件 column_wrapper.hpp1555 行。


此类的文档生成自以下文件