MCPcopy Create free account
hub / github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator / Remove

Method Remove

include/vk_mem_alloc.h:5369–5396  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5367
5368template<typename T>
5369void VmaRawList<T>::Remove(ItemType* pItem)
5370{
5371 VMA_HEAVY_ASSERT(pItem != VMA_NULL);
5372 VMA_HEAVY_ASSERT(m_Count > 0);
5373
5374 if(pItem->pPrev != VMA_NULL)
5375 {
5376 pItem->pPrev->pNext = pItem->pNext;
5377 }
5378 else
5379 {
5380 VMA_HEAVY_ASSERT(m_pFront == pItem);
5381 m_pFront = pItem->pNext;
5382 }
5383
5384 if(pItem->pNext != VMA_NULL)
5385 {
5386 pItem->pNext->pPrev = pItem->pPrev;
5387 }
5388 else
5389 {
5390 VMA_HEAVY_ASSERT(m_pBack == pItem);
5391 m_pBack = pItem->pPrev;
5392 }
5393
5394 m_ItemAllocator.Free(pItem);
5395 --m_Count;
5396}
5397
5398template<typename T>
5399VmaListItem<T>* VmaRawList<T>::InsertBefore(ItemType* pItem)

Callers 3

eraseMethod · 0.80
UnregisterMethod · 0.80
DestroyPoolMethod · 0.80

Calls 3

VmaVectorRemoveFunction · 0.85
FreeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected