Exemplo n.º 1
0
void NameValueTable::Iterator::next() {
  size_t const sz = m_tab->m_tabMask + 1;
  if (m_idx + 1 >= sz) {
    m_idx = sz;
    return;
  }
  ++m_idx;
  if (LIKELY(!atEmpty())) {
    return;
  }
  do {
    ++m_idx;
  } while (size_t(m_idx) < sz && atEmpty());
}
Exemplo n.º 2
0
void NameValueTable::Iterator::prev() {
  do {
    --m_idx;
  } while (m_idx >= 0 && atEmpty());
}
Exemplo n.º 3
0
void NameValueTable::Iterator::next() {
  size_t const sz = m_tab->m_tabMask + 1;
  do {
    ++m_idx;
  } while (size_t(m_idx) < sz && atEmpty());
}
Exemplo n.º 4
0
bool NameValueTable::Iterator::valid() const {
  return m_idx >= 0 && size_t(m_idx) < m_tab->m_tabMask + 1 && !atEmpty();
}