本文整理汇总了C++中AstModule::hasMemory方法的典型用法代码示例。如果您正苦于以下问题:C++ AstModule::hasMemory方法的具体用法?C++ AstModule::hasMemory怎么用?C++ AstModule::hasMemory使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AstModule
的用法示例。
在下文中一共展示了AstModule::hasMemory方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: RenderEscapedString
static bool
RenderDataSection(WasmRenderContext& c, const AstModule& module)
{
if (!module.hasMemory())
return true;
if (!RenderIndent(c))
return false;
if (!c.buffer.append("(memory "))
return false;
if (!RenderInt32(c, module.memory().initial()))
return false;
Maybe<uint32_t> memMax = module.memory().maximum();
if (memMax) {
if (!c.buffer.append(" "))
return false;
if (!RenderInt32(c, *memMax))
return false;
}
c.indent++;
uint32_t numSegments = module.dataSegments().length();
if (!numSegments) {
if (!c.buffer.append(")\n"))
return false;
return true;
}
if (!c.buffer.append("\n"))
return false;
for (uint32_t i = 0; i < numSegments; i++) {
const AstDataSegment* segment = module.dataSegments()[i];
if (!RenderIndent(c))
return false;
if (!c.buffer.append("(segment "))
return false;
if (!RenderInt32(c, segment->offset()))
return false;
if (!c.buffer.append(" \""))
return false;
RenderEscapedString(c, segment->text());
if (!c.buffer.append("\")\n"))
return false;
}
c.indent--;
if (!c.buffer.append(")\n"))
return false;
return true;
}
示例2:
static bool
RenderMemorySection(WasmRenderContext& c, const AstModule& module)
{
if (!module.hasMemory())
return true;
for (const AstResizable& memory : module.memories()) {
if (memory.imported)
continue;
if (!RenderIndent(c))
return false;
if (!RenderResizableMemory(c, memory.limits))
return false;
if (!c.buffer.append("\n"))
return false;
}
return true;
}