本文整理汇总了C++中TBuffer::size方法的典型用法代码示例。如果您正苦于以下问题:C++ TBuffer::size方法的具体用法?C++ TBuffer::size怎么用?C++ TBuffer::size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TBuffer
的用法示例。
在下文中一共展示了TBuffer::size方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
EBDB_ErrCode
CBDB_BLobFile::ReadRealloc(TBuffer& buffer)
{
EBDB_ErrCode ret;
// use the maximum capacity
size_t capacity = buffer.capacity();
if (capacity > buffer.size()) {
buffer.resize_mem(capacity);
}
if (buffer.size() == 0) {
buffer.resize_mem(10);
}
while(1) {
try {
void* p = &buffer[0];
ret = Fetch(&p, buffer.size(), eReallocForbidden);
if (ret != eBDB_Ok) {
buffer.resize_mem(0);
return ret;
}
buffer.resize(LobSize());
}
catch (CBDB_ErrnoException& ex) {
// check if we have insufficient buffer
if (ex.IsBufferSmall() || ex.IsNoMem()) {
// increase the buffer and re-read
buffer.resize_mem(LobSize());
} else {
throw;
}
continue;
}
break;
} // while
return ret;
}