本文整理汇总了C++中blob::buffer_ptr方法的典型用法代码示例。如果您正苦于以下问题:C++ blob::buffer_ptr方法的具体用法?C++ blob::buffer_ptr怎么用?C++ blob::buffer_ptr使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类blob
的用法示例。
在下文中一共展示了blob::buffer_ptr方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: read
int binary_reader::read(blob& blob)
{
int len;
if (0 == read(len))
return 0;
if (len <= get_remaining_size())
{
blob = _blob.range(static_cast<int>(_ptr - _blob.data()), len);
// optimization: zero-copy
if (!blob.buffer_ptr())
{
std::shared_ptr<char> buffer(new char[len]);
memcpy(buffer.get(), blob.data(), blob.length());
blob = ::dsn::blob(buffer, 0, blob.length());
}
_ptr += len;
_remaining_size -= len;
return len + sizeof(len);
}
else
{
dassert(false, "read beyond the end of buffer");
return 0;
}
}