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