def writeCoreFunctionalities(api, filename):
    functionOriginValues = ['FUNCTIONORIGIN_PLATFORM', 'FUNCTIONORIGIN_INSTANCE', 'FUNCTIONORIGIN_DEVICE']
    lines = (((addVersionDefines([Version((1, 0, 0)), Version((1, 1, 0))]) + ['', 'enum FunctionOrigin', '{']) + [line for line in indentLines([(('\t' + functionOriginValues[0]) + '\t= 0,'), (('\t' + functionOriginValues[1]) + ','), ('\t' + functionOriginValues[2])])]) + ['};', '', 'typedef ::std::pair<const char*, FunctionOrigin> FunctionInfo;', 'typedef ::std::vector<FunctionInfo> FunctionInfosList;', 'typedef ::std::map<deUint32, FunctionInfosList> ApisMap;', '', 'void initApisMap (ApisMap& apis)', '{', '\tapis.clear();', (('\tapis.insert(::std::pair<deUint32, FunctionInfosList>(' + str(Version((1, 0, 0)))) + ', FunctionInfosList()));'), (('\tapis.insert(::std::pair<deUint32, FunctionInfosList>(' + str(Version((1, 1, 0)))) + ', FunctionInfosList()));'), ''])

    def list10Funcs():
        for fun in api.functions:
            if (fun.apiVersion == 'VK_VERSION_1_0'):
                insert = (((((('\tapis[' + str(Version((1, 0, 0)))) + '].push_back(FunctionInfo("') + fun.name) + '",\t') + functionOriginValues[fun.getType()]) + '));')
                (yield insert)

    def listAllFuncs():
        for fun in api.extensions[0].functions:
            insert = (((((('\tapis[' + str(Version((1, 1, 0)))) + '].push_back(FunctionInfo("') + fun.name) + '",\t') + functionOriginValues[fun.getType()]) + '));')
            (yield insert)
    lines = (lines + [line for line in indentLines(list10Funcs())])
    lines.append('')
    lines = (lines + [line for line in indentLines(listAllFuncs())])
    lines.append('}')
    lines.append('')
    lines = (lines + removeVersionDefines([Version((1, 0, 0)), Version((1, 1, 0))]))
    writeInlFile(filename, INL_HEADER, lines)
def writeCoreFunctionalities(api, filename):
    functionOriginValues = ['FUNCTIONORIGIN_PLATFORM', 'FUNCTIONORIGIN_INSTANCE', 'FUNCTIONORIGIN_DEVICE']
    lines = (((addVersionDefines([Version((1, 0, 0)), Version((1, 1, 0))]) + [, 'enum FunctionOrigin', '{']) + [line for line in indentLines([(('\t' + functionOriginValues[0]) + '\t= 0,'), (('\t' + functionOriginValues[1]) + ','), ('\t' + functionOriginValues[2])])]) + ['};', , 'typedef ::std::pair<const char*, FunctionOrigin> FunctionInfo;', 'typedef ::std::vector<FunctionInfo> FunctionInfosList;', 'typedef ::std::map<deUint32, FunctionInfosList> ApisMap;', , 'void initApisMap (ApisMap& apis)', '{', '\tapis.clear();', (('\tapis.insert(::std::pair<deUint32, FunctionInfosList>(' + str(Version((1, 0, 0)))) + ', FunctionInfosList()));'), (('\tapis.insert(::std::pair<deUint32, FunctionInfosList>(' + str(Version((1, 1, 0)))) + ', FunctionInfosList()));'), ])

    def list10Funcs():
        for fun in api.functions:
            if (fun.apiVersion == 'VK_VERSION_1_0'):
                insert = (((((('\tapis[' + str(Version((1, 0, 0)))) + '].push_back(FunctionInfo("') + fun.name) + '",\t') + functionOriginValues[fun.getType()]) + '));')
                (yield insert)

    def listAllFuncs():
        for fun in api.extensions[0].functions:
            insert = (((((('\tapis[' + str(Version((1, 1, 0)))) + '].push_back(FunctionInfo("') + fun.name) + '",\t') + functionOriginValues[fun.getType()]) + '));')
            (yield insert)
    lines = (lines + [line for line in indentLines(list10Funcs())])
    lines.append()
    lines = (lines + [line for line in indentLines(listAllFuncs())])
    lines.append('}')
    lines.append()
    lines = (lines + removeVersionDefines([Version((1, 0, 0)), Version((1, 1, 0))]))
    writeInlFile(filename, INL_HEADER, lines)