inline void increment() { if (++m_index < m_size) { ++m_iterator; } else { update_iterator(); } }
inline void decrement() { if (m_index-- < m_size) { --m_iterator; } else { update_iterator(); } }
inline void decrement() { --m_index; if (m_index >= 0 && m_index < m_size) { --m_iterator; } else { update_iterator(); } }
void EditorInputCenter::update_node_iterators() { if (!edited_path) return; if (!edited_path->is_valid()) return; auto sector = Editor::current()->currentsector; for (auto& moving_object : sector->moving_objects) { auto marker = dynamic_cast<NodeMarker*>(moving_object); if (marker) { marker->update_iterator(); } } }
inline void advance(difference_type n) { if (m_index < m_size && m_index + n < m_size) { m_index += n; m_iterator += n; } else { m_index += n; update_iterator(); } }