草庐IT

mad_stream_buffer

全部标签

c++ - 如何在 XML 中格式化 Google Protocol Buffers 对象并从 XML 中解析

我将通过网络传递GPB对象,但在本地应用程序中我需要将它们保存在本地XML中(客户要求XML,没有编辑工具,不要问我为什么)以便客户可以编辑XML(这让我想到了问题的另一部分——从XML解析GPB)。有人知道这样做的框架吗?我需要在Windows上用C++编写此代码。 最佳答案 据我所知,没有针对此的C++实现。您可以从Java移植此代码http://code.google.com/p/protostuff/如果你愿意,我们可以将它移植到一起,我也需要和你一样的东西!其中一个问题是pb不是自描述的,因此您需要在不理想的情况下整体化架

c++ - 如何将 boost::asio::tcp::io_stream 附加到我的 io_service?

我习惯使用boost::asio::ip::tcp::socket我在哪里construct他们用io_service.这很有用,因为我有一个用于所有套接字的io_service,并且这些套接字共享一个线程池。现在,我正在尝试使用boost::asio::ip::tcp::io_stream,我希望它在同一个线程池中执行所有异步工作。但是,似乎不可能construct带有外部io_service的tcp::io_stream。底层套接字确实使用了内部初始化的io_service。有没有办法让我继续使用集中管理的io_service和tcp::io_stream?我使用的是boost版本

c++ - 实现可以转换为 Stream<U> 的 Stream<T>,其中 U 是 T 的基数

我正在尝试实现一个通用的对象输入流。即,实现的接口(interface)或轻量级代理。实现的细节是未知的,即我的库的用户可以编写自己的流,比如protobuf消息,将它传递到我的库并返回,比如字符串流或任何其他流。我想保持流的通用接口(interface),以便用户可以编写自己的转换并构建转换管道。流的接口(interface)应该是这样的:templateclassStream{public:T*input();}在每次通话中,input()如果流为空,应返回流中的下一个对象或空指针。问题是我想要Stream可转换为Stream如果T*可转换为U*.我不成功的尝试是像这样使用指向实现

c++ - 流、stream_bufs、codecvt 方面和\n 到\r\n 翻译

\r到\r\n转换的C++IO流的哪一部分?它是stream_buf本身,还是codecvt方面的内部到外部编码转换的一部分?更新1你们都说在streambuf/filebuf中完成。行。但是这种安排如何处理诸如UTF-16之类的外部编码?然后似乎必须使用禁用翻译的ios::binary标志打开文件。 最佳答案 这种转换(通常)不是由流、streambuf或facet执行的。由streambuf的fputc()调用的C库代码(例如overflow())负责和underflow().如果您出于某种原因需要它(例如,在实现dos2uni

c++ - Boost IO Stream 和 ZLib 提速

我有一个大文件,我使用Zlib使用boostIOStreams和过滤流缓冲区压缩了数据:boost::iostreams::array_sourceuncompressedArray(reinterpret_cast(&uncompressedData[0]),uncompressedData.size());boost::iostreams::filtering_streambufout;out.push(*m_compressor);out.push(boost::iostreams::char_back_inserter(compressedData));boost::iostr

c++ - QT中QByteArray和QByte Stream如何释放内存

我想知道如何在这段代码中从QT中释放QByteArray和QByteStream:QByteArrayDicResourceByteArray;QDataStreamout(&DicResourceByteArray,QIODevice::WriteOnly);QStringencoded;out.writeRawData(DicBlock.data+pos,DicBlock.length-pos);encoded=QString(DicResourceByteArray.toBase64()); 最佳答案 根据RAII,一旦超出范

c++ - Boost Spirit X3如何解析 "stream"?

我正在尝试找出使用x3从istream解析的正确方法。较早的文档提到了multi_pass内容,我还能使用它吗?或者是否有其他方法可以为X3缓冲流以便它可以回溯? 最佳答案 您仍然可以使用它。只包含#include示例LiveOnColiru#include#include#include#includeintmain(){std::istringstreamiss("{123,234,345,456,567,678,789,900,1011}");boost::spirit::istream_iteratorf(iss),l;st

c# - Protocol Buffer ,让 C# 与 C++ 对话 : type issues and schema issues

我即将开始一个连接两个程序的项目,一个用c#,一个用c++。我已经有一个可以工作的c#程序,它能够与自身的其他版本对话。在开始使用c++版本之前,我想到了一些问题:1)我正在使用protobuf-netv1。我认为序列化程序中的.proto文件正是C++版本模板所需要的?谷歌搜索提到了有关Pascal大小写的内容,但我不知道这是否重要。2)如果其中一种.NET类型在C++中没有直接对应项,我该怎么办?如果我有小数或字典怎么办?我是否必须以某种方式修改.proto文件并将数据压缩成不同的形状?(我会检查文件,看看我能不能弄明白)3)人们还能想到其他陷阱吗?二进制格式之类的?编辑我已经看过

ios - 增强现实 : camera stream on OpenGL view

AR(增强现实)似乎是当今所有iO开发人员都关注的目标。我正在玩一个非常经典的宠物项目,滚动带有纹理的骰子,如果可能的话,相机会在骰子面上进行流式传输。我在最后一部分遇到了一些问题,我有一些问题想请教专家:获取视频流需要AVFoundation:AVCaptureVideoDataOutputSampleBufferDelegate获取图像缓冲区,然后使用CGBitmapContextCreate等Quartz函数构建一个UIImage。这在http://www.benjaminloulier.com/articles/ios4-and-direct-access-to-the-cam

iOS HTTP Live Streaming - 比特率未知时请求的字节范围?

我们注意到HLS在开发中的视频点播iOS应用程序、高延迟网络上的性能极差,并希望对下载的发生方式进行一些手动调整。文件(完全编码、从头到尾、TS/M3U8文件)已经在CloudFront之外提供,因此我们在服务器端能做的只有这么多来优化它(我认为)。另一个希望是在iOS应用程序中运行本地主机服务器,让这个“服务器”通过优先下载较少、较大段的下载而不是较频繁、较小段的下载来管理下载。因此有望规避网络的高延迟,同时仍然能够使用可用的可用带宽。这里的想法是,将基础“index.m3u8”及其描述的所有比特率的知识保留给我们自己,并仅向iOS公开TS文件的原始“播放列表”(没有任何比特率信息)