Orange/include/Orange/Render/VulkanHelpers.h

21 lines
474 B
C++

#pragma once
#include <Orange/Core/Traits.h>
namespace orange
{
template <typename Func, typename OutArray, typename... Args>
uint32_t VkEnumerate(Func function, OutArray& outArray, Args&&... arguments)
{
uint32_t count = 0;
function(arguments..., &count, nullptr);
outArray.Resize(count);
if (!count)
return 0;
function(Forward<Args>(arguments)..., &count, outArray.Data());
return count;
}
}