mirror of
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator.git
synced 2024-11-26 16:34:35 +00:00
Minor fix: Use std::forward with parameter pack
This commit is contained in:
parent
aaba2109f9
commit
82ec4439c7
@ -3498,6 +3498,7 @@ VMA_CALL_PRE void VMA_CALL_POST vmaDestroyImage(
|
|||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
#include <cstdlib>
|
#include <cstdlib>
|
||||||
#include <cstring>
|
#include <cstring>
|
||||||
|
#include <utility>
|
||||||
|
|
||||||
/*******************************************************************************
|
/*******************************************************************************
|
||||||
CONFIGURATION SECTION
|
CONFIGURATION SECTION
|
||||||
@ -4713,7 +4714,7 @@ template<typename... Types> T* VmaPoolAllocator<T>::Alloc(Types... args)
|
|||||||
Item* const pItem = &block.pItems[block.FirstFreeIndex];
|
Item* const pItem = &block.pItems[block.FirstFreeIndex];
|
||||||
block.FirstFreeIndex = pItem->NextFreeIndex;
|
block.FirstFreeIndex = pItem->NextFreeIndex;
|
||||||
T* result = (T*)&pItem->Value;
|
T* result = (T*)&pItem->Value;
|
||||||
new(result)T(args...); // Explicit constructor call.
|
new(result)T(std::forward<Types>(args)...); // Explicit constructor call.
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -4723,7 +4724,7 @@ template<typename... Types> T* VmaPoolAllocator<T>::Alloc(Types... args)
|
|||||||
Item* const pItem = &newBlock.pItems[0];
|
Item* const pItem = &newBlock.pItems[0];
|
||||||
newBlock.FirstFreeIndex = pItem->NextFreeIndex;
|
newBlock.FirstFreeIndex = pItem->NextFreeIndex;
|
||||||
T* result = (T*)&pItem->Value;
|
T* result = (T*)&pItem->Value;
|
||||||
new(result)T(args...); // Explicit constructor call.
|
new(result)T(std::forward<Types>(args)...); // Explicit constructor call.
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -14835,7 +14836,7 @@ VmaAllocationObjectAllocator::VmaAllocationObjectAllocator(const VkAllocationCal
|
|||||||
template<typename... Types> VmaAllocation VmaAllocationObjectAllocator::Allocate(Types... args)
|
template<typename... Types> VmaAllocation VmaAllocationObjectAllocator::Allocate(Types... args)
|
||||||
{
|
{
|
||||||
VmaMutexLock mutexLock(m_Mutex);
|
VmaMutexLock mutexLock(m_Mutex);
|
||||||
return m_Allocator.Alloc(args...);
|
return m_Allocator.Alloc<Types...>(std::forward<Types>(args)...);
|
||||||
}
|
}
|
||||||
|
|
||||||
void VmaAllocationObjectAllocator::Free(VmaAllocation hAlloc)
|
void VmaAllocationObjectAllocator::Free(VmaAllocation hAlloc)
|
||||||
|
Loading…
Reference in New Issue
Block a user