internal Enumerator(ColaStore <T> items, bool reverse) { m_items = items; m_reverse = reverse; m_cursors = ColaStore.CreateCursors(m_items.Count, out m_min); m_max = m_cursors.Length - 1; m_current = default(T); }
internal Iterator(T[][] levels, int count, IComparer <T> comparer) { Contract.Requires(levels != null && count >= 0 && comparer != null); m_levels = levels; m_count = count; m_comparer = comparer; m_cursors = ColaStore.CreateCursors(m_count, out m_min); }
void System.Collections.IEnumerator.Reset() { m_cursors = ColaStore.CreateCursors(m_items.Count, out m_min); m_max = m_cursors.Length - 1; m_current = default(T); }