本文整理汇总了C++中MemoryOutputStream::getPosition方法的典型用法代码示例。如果您正苦于以下问题:C++ MemoryOutputStream::getPosition方法的具体用法?C++ MemoryOutputStream::getPosition怎么用?C++ MemoryOutputStream::getPosition使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MemoryOutputStream
的用法示例。
在下文中一共展示了MemoryOutputStream::getPosition方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: writeCpp
bool ResourceFile::writeCpp (MemoryOutputStream& cpp, const File& headerFile, int& i)
{
const int maxFileSize = 10 * 1024 * 1024;
const bool isFirstFile = (i == 0);
cpp << "/* ==================================== " << resourceFileIdentifierString << " ===================================="
<< getComment()
<< "namespace " << className << newLine
<< "{" << newLine;
bool containsAnyImages = false;
while (i < files.size())
{
const File& file = files.getReference(i);
const String variableName (variableNames[i]);
FileInputStream fileStream (file);
if (fileStream.openedOk())
{
containsAnyImages = containsAnyImages
|| (ImageFileFormat::findImageFormatForStream (fileStream) != nullptr);
const String tempVariable ("temp_" + String::toHexString (file.hashCode()));
cpp << newLine << "//================== " << file.getFileName() << " ==================" << newLine
<< "static const unsigned char " << tempVariable << "[] =" << newLine;
{
MemoryBlock data;
fileStream.readIntoMemoryBlock (data);
CodeHelpers::writeDataAsCppLiteral (data, cpp, true, true);
}
cpp << newLine << newLine
<< "const char* " << variableName << " = (const char*) " << tempVariable << ";" << newLine;
}
++i;
if (cpp.getPosition() > maxFileSize)
break;
}
if (isFirstFile)
{
if (i < files.size())
{
cpp << newLine
<< "}" << newLine
<< newLine
<< "#include \"" << headerFile.getFileName() << "\"" << newLine
<< newLine
<< "namespace " << className << newLine
<< "{";
}
cpp << newLine
<< newLine
<< "const char* getNamedResource (const char*, int&) throw();" << newLine
<< "const char* getNamedResource (const char* resourceNameUTF8, int& numBytes) throw()" << newLine
<< "{" << newLine;
StringArray returnCodes;
for (int j = 0; j < files.size(); ++j)
{
const File& file = files.getReference(j);
const int64 dataSize = file.getSize();
returnCodes.add ("numBytes = " + String (dataSize) + "; return " + variableNames[j] + ";");
}
CodeHelpers::createStringMatcher (cpp, "resourceNameUTF8", variableNames, returnCodes, 4);
cpp << " numBytes = 0;" << newLine
<< " return 0;" << newLine
<< "}" << newLine;
}
cpp << newLine
<< "}" << newLine;
return true;
}