当前位置: 首页>>代码示例>>C++>>正文


C++ istream::size方法代码示例

本文整理汇总了C++中istream::size方法的典型用法代码示例。如果您正苦于以下问题:C++ istream::size方法的具体用法?C++ istream::size怎么用?C++ istream::size使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在istream的用法示例。


在下文中一共展示了istream::size方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1:

bool
XMLReader::open(istream& stream) noexcept
{
	assert(0 == _document);
	assert(0 == _currentNode);

	std::size_t length = stream.size();
	if (length == 0)
		return false;

	std::string data;
	data.resize(length);

	if (!stream.read((char*)data.c_str(), length))
		return false;

	_document = std::make_unique<TiXmlDocument>();
	_document->Parse(data.c_str());

	if (!_document->Error())
	{
		_currentNode = _document->RootElement();
		if (_currentNode)
			return true;
	}

	return false;
}
开发者ID:Kingwl,项目名称:ray,代码行数:28,代码来源:xmlreader.cpp

示例2: sizeof

bool
BMPHandler::doLoad(Image& image, istream& stream) noexcept
{
	auto size = (std::size_t)stream.size();

	BITMAPINFO info;
	if (!stream.read((char*)&info, sizeof(info)))
		return false;

	if (info.header.size != size ||
		info.info.size != sizeof(BITMAPINFOHEADER) ||
		info.header.reserved1 != 0 ||
		info.header.reserved2 != 0 ||
		info.info.width == 0 ||
		info.info.height == 0 ||
		info.info.planes != 1 ||
		info.info.bpp != 1 && info.info.bpp != 4 &&
		info.info.bpp != 8 && info.info.bpp != 16 &&
		info.info.bpp != 24 && info.info.bpp != 32)
	{
		return false;
	}

	if (info.info.comp == BI_RGB)
	{
		return this->loadDIB(image, stream, info);
	}
	else
	{
		if (info.info.comp == BI_RLE4 && info.info.bpp != 4 ||
			info.info.comp == BI_RLE8 && info.info.bpp != 8 ||
			info.info.comp == BI_BITFIELDS && info.info.bpp != 16 && info.info.bpp != 32)
		{
			this->error(image_error::ENCODING_DOESNT_MATCH_BITDEPTH);
			return false;
		}

		return this->decode(image, stream, info);
	}
}
开发者ID:Kingwl,项目名称:ray,代码行数:40,代码来源:imagbmp.cpp

示例3: read

/// Writes all available data from \p is.
void ostream::read (istream& is)
{
    write (is.ipos(), is.remaining());
    is.seek (is.size());
}
开发者ID:vijaykumarm108,项目名称:lolibc,代码行数:6,代码来源:mistream.cpp


注:本文中的istream::size方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。