Boost C++ 库

...世界上最受尊敬、设计最精良的 C++ 库项目之一。 Herb SutterAndrei Alexandrescu, C++ Coding Standards

serializer::read - Boost C++ 函数库

serializer::read

读取下一个序列化的 JSON 缓冲区。

提要

string_view
read(
    char* dest,
    std::size_t size); (1)

template<
    std::size_t N>
string_view
read(
    char (&dest) [N]); (2)

描述

此函数尝试从 dest 开始,使用最多 size 个字符的序列化 JSON 来填充调用者提供的缓冲区,该 JSON 表示该值。如果缓冲区不够大,可能需要多次调用。

如果在此调用中序列化完成;也就是说,属于序列化值的所有字符都已写入调用者提供的缓冲区,则函数 done 将返回 true

前置条件

done() == false

复杂度

  • (1) 线性关于 size

  • (2) 线性关于 N

异常安全性

基本保证。对 memory_resource::allocate 的调用可能会抛出异常。

模板参数

类型 描述

N

数组 dest 的大小。

返回值

一个包含已写入字符的 string_view,其数量可能小于 sizeN

参数

名称 描述

dest

指向要写入的存储的指针。

大小

要写入 dest 指向的内存的最大字符数。