字符串类#
- group strings_classes
-
class string_view#
- #include <string_view.hpp>
设备数据的非拥有、不可变视图,它是一个表示UTF-8字符串的可变长度字符数组。
调用者必须在此实例的整个生命周期内维护设备内存。
这可以用于包装设备指针和大小,但任何需要访问设备内存的成员函数必须从内核中调用。
公共函数
-
inline char const *data() const#
返回指向内部设备数组的指针。
- Returns:
指向内部设备数组的指针
-
inline bool empty() const#
如果字符串没有字符,则返回true。
- Returns:
如果字符串没有字符,则为true
-
inline const_iterator begin() const#
返回指向此字符串开头的新迭代器。
- Returns:
新的迭代器指向此字符串的开头
-
inline const_iterator end() const#
返回指向此字符串末尾的新迭代器。
- Returns:
新的迭代器指向此字符串的末尾之后
-
inline char_utf8 operator[](size_type pos) const#
返回给定字符位置的单个UTF-8字符。
- Parameters:
pos – 字符位置
- Returns:
给定字符位置的UTF-8字符
-
inline size_type byte_offset(size_type pos) const#
返回从data()到给定字符位置的字节偏移量。
- Parameters:
pos – 字符位置
- Returns:
从data()开始的字节偏移量,用于给定字符位置
-
inline int compare(string_view const &str) const#
将目标字符串与此字符串进行比较。每个字符都作为UTF-8代码点值进行比较。
- Parameters:
str – 要与此字符串进行比较的目标字符串。
- Returns:
0 如果它们相等。<0 要么是这个字符串中第一个不匹配的字符的值在arg字符串中较低,要么所有比较的字符都匹配但arg字符串较短。>0 要么是这个字符串中第一个不匹配的字符的值在arg字符串中较高,要么所有比较的字符都匹配但arg字符串较长。
-
inline int compare(char const *str, size_type bytes) const#
将目标字符串与此字符串进行比较。每个字符都作为UTF-8代码点值进行比较。
- Parameters:
str – 要与此字符串进行比较的目标字符串。
bytes – str中的字节数。
- Returns:
0 如果它们相等。<0 要么是这个字符串中第一个不匹配的字符在arg字符串中的值较低,要么所有比较的字符都匹配但arg字符串较短。>0 要么是这个字符串中第一个不匹配的字符在arg字符串中的值较高,要么所有比较的字符都匹配但arg字符串较长。
-
inline bool operator==(string_view const &rhs) const#
如果rhs与此字符串完全匹配,则返回true。
- Parameters:
rhs – 要与此字符串比较的目标字符串。
- Returns:
如果 rhs 完全匹配此字符串,则为 true
-
inline bool operator!=(string_view const &rhs) const#
如果 rhs 不匹配此字符串,则返回 true。
- Parameters:
rhs – 要与此字符串比较的目标字符串。
- Returns:
如果 rhs 不匹配此字符串,则为 true
-
inline bool operator<(string_view const &rhs) const#
如果此字符串在rhs之前排序,则返回true。
- Parameters:
rhs – 要与此字符串比较的目标字符串。
- Returns:
如果此字符串在 rhs 之前排序,则为 true
-
inline bool operator>(string_view const &rhs) const#
如果rhs在此字符串之前排序,则返回true。
- Parameters:
rhs – 要与此字符串比较的目标字符串。
- Returns:
如果 rhs 在此字符串之前排序,则为 true
-
inline bool operator<=(string_view const &rhs) const#
如果此字符串匹配或在rhs之前排序,则返回true。
- Parameters:
rhs – 要与此字符串比较的目标字符串。
- Returns:
如果此字符串匹配或在 rhs 之前排序,则为 true
-
inline bool operator>=(string_view const &rhs) const#
如果rhs匹配或在此字符串之前排序,则返回true。
- Parameters:
rhs – 要与此字符串比较的目标字符串。
- Returns:
如果 rhs 匹配或在此字符串之前排序,则为 true
-
inline size_type find(string_view const &str, size_type pos = 0, size_type count = -1) const#
返回在此字符串的字符范围 [pos,pos+n) 内首次出现参数 str 的字符位置。
- Parameters:
str – 在此字符串中搜索的目标字符串。
pos – 在此字符串中开始搜索的字符位置。
count – 从pos开始包含在搜索中的字符数。指定-1表示到字符串的末尾。
- Returns:
如果在此字符串中未找到str,则为npos。
-
inline size_type find(char const *str, size_type bytes, size_type pos = 0, size_type count = -1) const#
返回在此字符串的字符范围 [pos,pos+n) 内首次出现数组 str 的字符位置。
- Parameters:
str – 在此字符串中搜索的目标数组。
bytes – str中的字节数。
pos – 在此字符串中开始搜索的字符位置。
count – 从pos开始包含在搜索中的字符数。指定-1表示到字符串的末尾。
- Returns:
如果在此字符串中未找到参数字符串,则返回npos。
-
inline size_type find(char_utf8 character, size_type pos = 0, size_type count = -1) const#
返回在此字符串的字符范围 [pos,pos+n) 内首次出现字符的位置。
- Parameters:
character – 单个编码字符。
pos – 在此字符串中开始搜索的字符位置。
count – 从pos开始包含在搜索中的字符数。指定-1表示到字符串的末尾。
- Returns:
如果在此字符串中未找到参数字符串,则返回npos。
-
inline size_type rfind(string_view const &str, size_type pos = 0, size_type count = -1) const#
返回在此字符串的字符范围 [pos,pos+n) 内找到参数 str 的最后一次出现的字符位置。
- Parameters:
str – 在此字符串中搜索的目标字符串。
pos – 在此字符串中开始搜索的字符位置。
count – 从pos开始包含在搜索中的字符数。指定-1表示到字符串的末尾。
- Returns:
如果在此字符串中未找到参数字符串,则返回npos。
-
inline size_type rfind(char const *str, size_type bytes, size_type pos = 0, size_type count = -1) const#
返回在此字符串的字符范围 [pos,pos+n) 内最后一次出现数组 str 的字符位置。
- Parameters:
str – 用于搜索的目标字符串。
bytes – str中的字节数。
pos – 在此字符串中开始搜索的字符位置。
count – 从pos开始包含在搜索中的字符数。指定-1表示到字符串的末尾。
- Returns:
如果在此字符串中未找到参数字符串,则返回npos。
-
inline size_type rfind(char_utf8 character, size_type pos = 0, size_type count = -1) const#
返回在此字符串的字符范围 [pos,pos+n) 内找到字符的最后出现位置的字符位置。
- Parameters:
character – 单个编码字符。
pos – 在此字符串中开始搜索的字符位置。
count – 从pos开始包含在搜索中的字符数。指定-1表示到字符串的末尾。
- Returns:
如果在此字符串中未找到参数字符串,则返回npos。
-
inline string_view substr(size_type start, size_type length) const#
返回此字符串的子字符串。原始字符串和设备内存必须在返回实例的整个生命周期内保持。
- Parameters:
start – 子字符串的起始字符位置。
length – 从开始位置包含在子字符串中的字符数。
- Returns:
指向此实例中字符子集的新实例。
-
inline string_view()#
默认构造函数表示一个空字符串。
-
inline string_view(char const *data, size_type bytes)#
从现有设备字符数组创建实例。
- Parameters:
data – 以UTF8编码的设备字符数组。
bytes – 数据数组中的字节数。
-
string_view(string_view const&) = default#
复制构造函数。
-
string_view(string_view&&) = default#
移动构造函数。
-
string_view &operator=(string_view const&) = default#
复制赋值运算符。
- Returns:
引用此实例
-
string_view &operator=(string_view&&) = default#
移动赋值运算符。
- Returns:
引用此实例(在转移所有权后)
公共静态函数
-
static inline string_view min()#
返回与字符串类型相关的最小值。
此函数需要可被主机调用,因为它是由一个可被主机调用的函数 DeviceMax::identity
() 调用的。 - Returns:
一个空字符串
-
static inline string_view max()#
返回与字符串类型关联的最大值。
此函数需要可被主机调用,因为它由可被主机调用的函数 DeviceMin::identity
() 调用。 - Returns:
一个字符串值,表示最高可能的有效UTF-8编码字符。
-
class const_iterator#
- #include <string_view.hpp>
用于导航编码字符的便捷迭代器。
-
inline char const *data() const#
-
class strings_column_view : private cudf::column_view#
- #include <strings_column_view.hpp>
给定一个字符串类型的列视图,此类的实例提供了一个包装器,用于对此复合列进行字符串操作。
公共函数
-
strings_column_view(column_view strings_column)#
从列视图s构造一个新的字符串列视图对象。
- Parameters:
strings_column – 要包装的列视图。
-
strings_column_view(strings_column_view&&) = default#
移动构造函数。
-
strings_column_view(strings_column_view const&) = default#
复制构造函数。
-
strings_column_view &operator=(strings_column_view const&) = default#
复制赋值运算符。
- Returns:
引用此实例
-
strings_column_view &operator=(strings_column_view&&) = default#
移动赋值运算符。
- Returns:
引用此实例(在转移所有权后)
-
column_view parent() const#
返回父列。
- Returns:
父级列
-
column_view offsets() const#
返回内部偏移量列。
- Throws:
cudf::logic_error – 如果这是一个空列
- Returns:
偏移量列
-
int64_t chars_size(rmm::cuda_stream_view stream) const noexcept#
返回chars子列中的字节数。
这解释了空列的情况,但并未反映切片父列视图(即:非零偏移或减少的行数)。
- Parameters:
stream – 用于设备内存操作和内核启动的CUDA流
- Returns:
字符子列中的字节数
-
chars_iterator chars_begin(rmm::cuda_stream_view) const#
返回chars子列的迭代器。
这不适用于父级的偏移量。必须使用偏移量子级来正确寻址字符字节。
例如,要访问字符串
i的第一个字符(考虑到切片列的偏移量),请使用:chars_begin(stream)[offsets_begin()[i]]。- Returns:
迭代器指向第一个字符字节。
-
chars_iterator chars_end(rmm::cuda_stream_view stream) const#
返回偏移量子列的结束迭代器。
这不适用于父级的偏移量。必须使用子级的偏移量来正确寻址字符字节。
- Parameters:
stream – 用于设备内存操作和内核启动的CUDA流
- Returns:
迭代器指向最后一个字符字节后的1个位置。
-
strings_column_view(column_view strings_column)#
-
class string_view#