我正在尝试了解协程的用例,我想知道这是否是 C++20 协程的合理用例。
我正在编写一个库来处理 UTF-8 字符流中的文本替换。我想我会有以下类的方法:
std::u8string parse(std::u8string input_string);
std::u8string flush();
在对 \parse
的调用结束时,替换可能处于未完成状态,因此,例如,如果将 ---
替换为 - 那么调用序列
auto a = charsub.parse(u8"and --");
auto b = charsub.parse(u8"- ");
auto c = charsub.parse(u8"--");
auto d = charsub.flush();
将a
、b
、c
和d
的值分别初始化为“and”、“—”、“”和“--”。< /p>
通过协程实现这个 API 有什么好处吗?如果是这样,代码会是什么样的?