本文整理汇总了C++中FreeList::init方法的典型用法代码示例。如果您正苦于以下问题:C++ FreeList::init方法的具体用法?C++ FreeList::init怎么用?C++ FreeList::init使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FreeList
的用法示例。
在下文中一共展示了FreeList::init方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: LazyBuffer
// The Constructor
inline LazyBuffer( const string& offsetFile, const string& dataFile, int direction=LAZY_BUFFER_INPUT ) : limit(-1)
{
type = direction;
datafile = dataFile;
offsetfile = offsetFile;
if ( LAZY_BUFFER_INPUT == direction ) {
WITH_OPEN( in, offsetFile.c_str(), "rb" );
int len = 0;
fread( &len, sizeof(int), 1, in );
forward_ptr.resize( len );
offsets.resize( len );
backward_ptr.clear();
items.clear();
hash.clear();
for ( auto& item : forward_ptr ) item = -1; // the forward_ptr is zero
for ( auto& item : offsets ) fread( &item, sizeof(long), 1, in );
fdata = fopen( dataFile.c_str(), "rb" );
// Initialize the FreeList
fl.init( len );
END_WITH( in );
} else if ( LAZY_BUFFER_CREATE == direction ) {
fl.init(0);
forward_ptr.clear();
backward_ptr.clear();
offsets.clear();
items.clear();
hash.clear();
fdata = nullptr;
} else {
Error( "LazyBuffer(): Wrong Parameter for direction in constructor." );
}
}