def gen():
    (definitionsCore, definitionDuplicates) = splitUniqueAndDuplicatedEntries(api.definitions)
    for line in indentLines(chain(genDefinitionsSrc(definitionsCore), genDefinitionsAliasSrc(definitionDuplicates))):
        (yield line)
    (yield '')
    for line in genHandlesSrc(api.handles):
        (yield line)
    (yield '')
    for enum in api.enums:
        if (not enum.isAlias):
            for line in genEnumSrc(enum):
                (yield line)
        (yield '')
    for bitfield in api.bitfields:
        if (not bitfield.isAlias):
            for line in genBitfieldSrc(bitfield):
                (yield line)
        (yield '')
    for line in indentLines([('VK_DEFINE_PLATFORM_TYPE(%s,\t%s);' % (s[0], c)) for (n, s, c) in PLATFORM_TYPES]):
        (yield line)
    for ext in api.extensions:
        if (ext.additionalDefs != None):
            for definition in ext.additionalDefs:
                (yield ((('#define ' + definition.name) + ' ') + definition.value))
def gen():
    (definitionsCore, definitionDuplicates) = splitUniqueAndDuplicatedEntries(api.definitions)
    for line in indentLines(chain(genDefinitionsSrc(definitionsCore), genDefinitionsAliasSrc(definitionDuplicates))):
        (yield line)
    (yield )
    for line in genHandlesSrc(api.handles):
        (yield line)
    (yield )
    for enum in api.enums:
        if (not enum.isAlias):
            for line in genEnumSrc(enum):
                (yield line)
        (yield )
    for bitfield in api.bitfields:
        if (not bitfield.isAlias):
            for line in genBitfieldSrc(bitfield):
                (yield line)
        (yield )
    for line in indentLines([('VK_DEFINE_PLATFORM_TYPE(%s,\t%s);' % (s[0], c)) for (n, s, c) in PLATFORM_TYPES]):
        (yield line)
    for ext in api.extensions:
        if (ext.additionalDefs != None):
            for definition in ext.additionalDefs:
                (yield ((('#define ' + definition.name) + ' ') + definition.value))