STL compatible iterator. More...
Public Member Functions | |
iterator (const GridIndexBox *pParent) | |
Default constructor. | |
uint_t | at_end (void) const |
TRUE if the iterator is at the end of the data | |
void | operator++ () |
Step to the next data entry. | |
void | advance (void) |
Step to the next data entry. | |
uint_t | AdvanceInCell (void) |
Step to the next data entry in the current array. | |
Entry & | operator* () const |
Access the entry with a reference. | |
Entry * | operator-> () const |
Access the entry with a reference. | |
Public Attributes | |
const GridIndexBox * | m_pParent |
Pointer to parent class. | |
Entry * | m_pEntry |
Current object. | |
Vector4D_t | m_QueryRect |
Rect of interest. | |
Rect_t | m_QueryCellsRect |
Bounds rectangle in cells. | |
uint_t | m_uCurrentCellX |
Last accessed cell X coordinate. | |
uint_t | m_uCurrentCellY |
Last accessed cell Y coordinate. | |
uintptr_t | m_uCurrentCellArrayIndex |
Index to the current entry's array. | |
STL compatible iterator.
Iterator used to traverse the grid using STL or STL like code.
|
inline |
Default constructor.
Create an iterator for GridIndexPoints
pParent | Pointer to the parent GridIndexPoints class |
void BURGER_API Burger::GridIndexBox::iterator::advance | ( | void | ) |
Step to the next data entry.
Point at next element in the iteration. Will assert if it's called when it's already reached the end of the data.
uint_t BURGER_API Burger::GridIndexBox::iterator::AdvanceInCell | ( | void | ) |
Step to the next data entry in the current array.
Go to the next valid element in the current cell. If the end of the cell is reached, set m_uCurrentCellArrayIndex to UINTPTR_MAX and return FALSE. Otherwise point m_uCurrentCellArrayIndex at the valid element, and return TRUE.
|
inline |
|
inline |
Access the entry with a reference.
Allows the used of the * operator to dereference the underlying data via a reference.
|
inline |
Step to the next data entry.
Iterate over the data until the next valid data chunk is found. If the iterator is already at the end of the data, no action is performed.
|
inline |
Access the entry with a reference.
Allows the used of the * operator to dereference the underlying data via a pointer.
Entry* Burger::GridIndexBox::iterator::m_pEntry |
Current object.
const GridIndexBox* Burger::GridIndexBox::iterator::m_pParent |
Pointer to parent class.
Rect_t Burger::GridIndexBox::iterator::m_QueryCellsRect |
Bounds rectangle in cells.
Vector4D_t Burger::GridIndexBox::iterator::m_QueryRect |
Rect of interest.
uintptr_t Burger::GridIndexBox::iterator::m_uCurrentCellArrayIndex |
Index to the current entry's array.
uint_t Burger::GridIndexBox::iterator::m_uCurrentCellX |
Last accessed cell X coordinate.
uint_t Burger::GridIndexBox::iterator::m_uCurrentCellY |
Last accessed cell Y coordinate.