コード例 #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());
}
コード例 #2
0
ファイル: name-value-table.cpp プロジェクト: asvinours/hhvm
void NameValueTable::Iterator::prev() {
  do {
    --m_idx;
  } while (m_idx >= 0 && atEmpty());
}
コード例 #3
0
ファイル: name-value-table.cpp プロジェクト: asvinours/hhvm
void NameValueTable::Iterator::next() {
  size_t const sz = m_tab->m_tabMask + 1;
  do {
    ++m_idx;
  } while (size_t(m_idx) < sz && atEmpty());
}
コード例 #4
0
ファイル: name-value-table.cpp プロジェクト: asvinours/hhvm
bool NameValueTable::Iterator::valid() const {
  return m_idx >= 0 && size_t(m_idx) < m_tab->m_tabMask + 1 && !atEmpty();
}