本文整理汇总了C++中stream_type::clear方法的典型用法代码示例。如果您正苦于以下问题:C++ stream_type::clear方法的具体用法?C++ stream_type::clear怎么用?C++ stream_type::clear使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类stream_type
的用法示例。
在下文中一共展示了stream_type::clear方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: countBinChunks
static std::pair<int64_t,uint64_t> countBinChunks(stream_type & stream)
{
int64_t bin = -1;
int64_t refid = -1;
uint64_t chunks = 0;
::libmaus2::bambam::BamIndexBinChunk BC;
while ( stream.peek() != stream_type::traits_type::eof() )
{
stream.read(reinterpret_cast<char *>(&BC),sizeof(::libmaus2::bambam::BamIndexBinChunk));
if ( refid < 0 )
refid = BC.refid;
if ( bin < 0 )
bin = BC.bin;
if (
refid != static_cast<int64_t>(BC.refid)
||
bin != static_cast<int64_t>(BC.bin)
)
{
stream.clear();
stream.seekg(-static_cast<int64_t>(sizeof(::libmaus2::bambam::BamIndexBinChunk)),std::ios::cur);
stream.clear();
break;
}
chunks++;
}
return std::pair<uint64_t,uint64_t>(bin,chunks);
}
示例2: getLinearMaxChunk
static std::pair<int64_t,int64_t> getLinearMaxChunk(stream_type & stream)
{
int64_t refid = -1;
int64_t maxpos = 0;
::libmaus2::bambam::BamIndexLinearChunk LC;
while ( stream.peek() != stream_type::traits_type::eof() )
{
stream.read(reinterpret_cast<char *>(&LC),sizeof(::libmaus2::bambam::BamIndexLinearChunk));
if ( refid == -1 )
refid = LC.refid;
// put back element, if it has a different refid
if ( static_cast<int64_t>(LC.refid) != refid )
{
stream.clear();
stream.seekg(-static_cast<int64_t>(sizeof(::libmaus2::bambam::BamIndexLinearChunk)),std::ios::cur);
break;
}
maxpos = std::max(maxpos,LC.chunkid);
}
return std::pair<int64_t,int64_t>(refid,maxpos);
}
示例3: countLinearChunks
static std::pair<int64_t,uint64_t> countLinearChunks(stream_type & stream)
{
int64_t refid = -1;
uint64_t cnt = 0;
::libmaus2::bambam::BamIndexLinearChunk LC;
while ( stream.peek() != stream_type::traits_type::eof() )
{
stream.read(reinterpret_cast<char *>(&LC),sizeof(::libmaus2::bambam::BamIndexLinearChunk));
if ( refid == -1 )
refid = LC.refid;
// put back element, if it has a different refid
if ( static_cast<int64_t>(LC.refid) != refid )
{
stream.clear();
stream.seekg(-static_cast<int64_t>(sizeof(::libmaus2::bambam::BamIndexLinearChunk)),std::ios::cur);
break;
}
cnt++;
}
return std::pair<int64_t,uint64_t>(refid,cnt);
}
示例4: peekLinearChunk
static bool peekLinearChunk(stream_type & stream, uint64_t const refid, uint64_t const pos, unsigned int const posshift)
{
::libmaus2::bambam::BamIndexLinearChunk LC;
if ( stream.peek() == stream_type::traits_type::eof() )
return false;
stream.read(reinterpret_cast<char *>(&LC),sizeof(::libmaus2::bambam::BamIndexLinearChunk));
stream.clear();
stream.seekg(-static_cast<int64_t>(sizeof(::libmaus2::bambam::BamIndexLinearChunk)),std::ios::cur);
return (LC.refid == refid) && ((LC.pos >> posshift)==(pos>>posshift));
}
示例5: peekBin
static int64_t peekBin(stream_type & stream)
{
::libmaus2::bambam::BamIndexBinChunk BC;
if ( stream.peek() == stream_type::traits_type::eof() )
return -1;
stream.read(
reinterpret_cast<char *>(&BC),
sizeof(::libmaus2::bambam::BamIndexBinChunk)
);
assert ( stream.gcount() == sizeof(::libmaus2::bambam::BamIndexBinChunk) );
stream.clear();
stream.seekg(-static_cast<int64_t>(sizeof(::libmaus2::bambam::BamIndexBinChunk)),std::ios::cur);
return BC.refid;
}