def getConstructorFunctions(api):
    funcs = []
    ifacesDict = {Function.TYPE_PLATFORM: [Variable('const PlatformInterface&', 'vk', '')], Function.TYPE_INSTANCE: [Variable('const InstanceInterface&', 'vk', '')], Function.TYPE_DEVICE: [Variable('const DeviceInterface&', 'vk', '')]}
    for function in api.functions:
        if function.isAlias:
            continue
        if (((function.name[:8] == 'vkCreate') or (function.name == 'vkAllocateMemory')) and (not ('createInfoCount' in [a.name for a in function.arguments]))):
            if (function.name == 'vkCreateDisplayModeKHR'):
                continue
            ifaceArgs = ifacesDict[function.getType()]
            if (function.name == 'vkCreateDevice'):
                ifaceArgs = ([Variable('const PlatformInterface&', 'vkp', ''), Variable('VkInstance', 'instance', '')] + ifaceArgs)
            assert (function.arguments[(- 2)].type == ['const', 'VkAllocationCallbacks', '*'])
            objectType = function.arguments[(- 1)].type[0]
            arguments = function.arguments[:(- 1)]
            funcs.append(ConstructorFunction(function.getType(), getInterfaceName(function), objectType, ifaceArgs, arguments))
    return funcs
def getConstructorFunctions(api):
    funcs = []
    ifacesDict = {Function.TYPE_PLATFORM: [Variable('const PlatformInterface&', 'vk', )], Function.TYPE_INSTANCE: [Variable('const InstanceInterface&', 'vk', )], Function.TYPE_DEVICE: [Variable('const DeviceInterface&', 'vk', )]}
    for function in api.functions:
        if function.isAlias:
            continue
        if (((function.name[:8] == 'vkCreate') or (function.name == 'vkAllocateMemory')) and (not ('createInfoCount' in [a.name for a in function.arguments]))):
            if (function.name == 'vkCreateDisplayModeKHR'):
                continue
            ifaceArgs = ifacesDict[function.getType()]
            if (function.name == 'vkCreateDevice'):
                ifaceArgs = ([Variable('const PlatformInterface&', 'vkp', ), Variable('VkInstance', 'instance', )] + ifaceArgs)
            assert (function.arguments[(- 2)].type == ['const', 'VkAllocationCallbacks', '*'])
            objectType = function.arguments[(- 1)].type[0]
            arguments = function.arguments[:(- 1)]
            funcs.append(ConstructorFunction(function.getType(), getInterfaceName(function), objectType, ifaceArgs, arguments))
    return funcs