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

Class iterator

include/vk_mem_alloc.h:5476–5501  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5474 class const_reverse_iterator;
5475
5476 class iterator
5477 {
5478 friend class const_iterator;
5479 friend class VmaList<T, AllocatorT>;
5480 public:
5481 iterator() : m_pList(VMA_NULL), m_pItem(VMA_NULL) {}
5482 explicit iterator(const reverse_iterator& src) : m_pList(src.m_pList), m_pItem(src.m_pItem) {}
5483
5484 T& operator*() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return m_pItem->Value; }
5485 T* operator->() const { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); return &m_pItem->Value; }
5486
5487 bool operator==(const iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem == rhs.m_pItem; }
5488 bool operator!=(const iterator& rhs) const { VMA_HEAVY_ASSERT(m_pList == rhs.m_pList); return m_pItem != rhs.m_pItem; }
5489
5490 const iterator operator++(int) { iterator result = *this; ++*this; return result; }
5491 const iterator operator--(int) { iterator result = *this; --*this; return result; }
5492
5493 iterator& operator++() { VMA_HEAVY_ASSERT(m_pItem != VMA_NULL); m_pItem = m_pItem->pNext; return *this; }
5494 iterator& operator--();
5495
5496 private:
5497 VmaRawList<T>* m_pList;
5498 VmaListItem<T>* m_pItem;
5499
5500 iterator(VmaRawList<T>* pList, VmaListItem<T>* pItem) : m_pList(pList), m_pItem(pItem) {}
5501 };
5502 class reverse_iterator
5503 {
5504 friend class const_reverse_iterator;

Callers 3

beginMethod · 0.85
endMethod · 0.85
insertMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected