public void Dispose()
 {
     inst    = null;
     index   = 0;
     version = 0;
     current = default;
 }
 public ValueEnumerator(LongHashedList <T> inst)
 {
     this.inst = inst;
     version   = inst.m_version;
     index     = 0;
     current   = default;
 }
 public KeyEnumerator(LongHashedList <T> inst)
 {
     this.inst = inst;
     version   = inst.m_version;
     index     = 0;
     current   = 0;
 }
 public void Dispose()
 {
     inst    = null;
     index   = 0;
     version = 0;
 }
 public ReverseIterator(LongHashedList <T> inst)
 {
     this.inst = inst;
     index     = inst.m_count - 1;
 }
 public Iterator(LongHashedList <T> inst)
 {
     this.inst = inst;
     index     = 0;
 }