示例#1
0
 inline void increment()
 {
     if (++m_index < m_size)
     {
         ++m_iterator;
     }
     else
     {
         update_iterator();
     }
 }
示例#2
0
 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();
     }
 }
示例#4
0
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();
    }
  }
}
示例#5
0
 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();
     }
 }