本文整理汇总了C++中CObjectIStream::UseMemoryPool方法的典型用法代码示例。如果您正苦于以下问题:C++ CObjectIStream::UseMemoryPool方法的具体用法?C++ CObjectIStream::UseMemoryPool怎么用?C++ CObjectIStream::UseMemoryPool使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CObjectIStream
的用法示例。
在下文中一共展示了CObjectIStream::UseMemoryPool方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
// --------------------------------------------------------------------------
CObjectIStream* CAsn2FastaApp::x_OpenIStream(const CArgs& args)
// --------------------------------------------------------------------------
{
// determine the file serialization format.
// default for batch files is binary, otherwise text.
ESerialDataFormat serial = args["batch"] ? eSerial_AsnBinary :eSerial_AsnText;
if ( args["serial"] ) {
const string& val = args["serial"].AsString();
if ( val == "text" ) {
serial = eSerial_AsnText;
} else if ( val == "binary" ) {
serial = eSerial_AsnBinary;
} else if ( val == "XML" ) {
serial = eSerial_Xml;
}
}
// make sure of the underlying input stream. If -i was given on the command line
// then the input comes from a file. Otherwise, it comes from stdin:
CNcbiIstream* pInputStream = &NcbiCin;
bool bDeleteOnClose = false;
if ( args["i"] ) {
pInputStream = new CNcbiIfstream( args["i"].AsString().c_str(), ios::binary );
bDeleteOnClose = true;
}
// if -c was specified then wrap the input stream into a gzip decompressor before
// turning it into an object stream:
CObjectIStream* pI = 0;
if ( args["c"] ) {
CZipStreamDecompressor* pDecompressor = new CZipStreamDecompressor(
512, 512, kZlibDefaultWbits, CZipCompression::fCheckFileHeader );
CCompressionIStream* pUnzipStream = new CCompressionIStream(
*pInputStream, pDecompressor, CCompressionIStream::fOwnProcessor );
pI = CObjectIStream::Open( serial, *pUnzipStream, eTakeOwnership );
}
else {
pI = CObjectIStream::Open(
serial, *pInputStream, (bDeleteOnClose ? eTakeOwnership : eNoOwnership));
}
if ( 0 != pI ) {
pI->UseMemoryPool();
}
return pI;
}