将提升属性树 (ptree) 序列化为向量的最快方法是什么
What is the fastest way to serialize a boost property tree (ptree) to a vector
我有这个代码:
std::vector<uint8_t> getWriteBuffer()
{
boost::property_tree::ptree jsonTree=getJson(); //This function returns a json in a ptree
// I have this code, but is there any faster way to do this?
std::ostringstream jsonStream;
boost::property_tree::write_json(jsonStream, jsonTree);
std::string jsonString = jsonStream.str();
std::vector<uint8_t> output(jsonString.begin(), jsonString.end());
return output;
}
作为代码,我可以通过将 Ptree 写入字符串流,然后将其转换为字符串,然后将其复制到缓冲区来做到这一点。
有没有更快的方法可以做到这一点?
我可能只是写一个流,该流位于back_inserter_device
周围的流缓冲区上:https://www.boost.org/doc/libs/1_67_0/libs/iostreams/doc/classes/back_inserter.html
您还可以将其与 Boost 序列化结合使用,请参阅:
- 提升::p roperty_tree::p树序列化和反序列化
在这种情况下,使用 binary_oarchive 并使用no_header
存档标志将减少数据量。
相关文章:
- C++从另一个类访问公共静态向量的正确方法是什么
- 将信息输入到下面显示的结构向量中的正确语法/格式是什么
- 在向量中查找大于 0(或通常为 k)的最小元素的最佳方法是什么?
- 如何声明一个标准::提升直方图的向量?提升直方图的类型是什么?
- 从列表/向量制作嵌套 for 循环的最佳方法是什么?
- 返回向量元素的 l 值的正确方法是什么?
- C++中这个声明的向量是什么意思
- 将一种数据类型的向量复制到同一数据类型的结构向量中的有效方法是什么
- 从长(且合理)稀疏向量中选择随机元素的最有效方法是什么?
- 嵌套向量的缺点是什么?
- 将提升属性树 (ptree) 序列化为向量的最快方法是什么
- 当我使用我的向量名称后跟包含整数变量的括号时,括号是什么意思
- 从向量中提取最小值、最大值和中位数的最有效方法是什么
- 获得给定向量的排列索引列表的最佳方法是什么?
- 不同向量启动作为类成员与方法中不同的矢量启动背后的原因是什么?
- 获取地图值作为向量的最佳方法是什么
- 在C++中初始化布尔向量的标准方法是什么
- 使用 pybind11 将自定义结构(指针向量)从 C++ 传递到 python 的方法是什么?
- 计算每对向量的重复项的有效方法是什么?
- OpenCV 中凸壳函数的输出向量是什么?