What you normally do for iterators is to set them equal to the end() iterator instead. The end() iterator refers to one-past-the-end, so it doesn't refer to any valid element. If you set curWaypoint to m_WayPoints.end() you could check for that inside the assert.