예제 #1
0
 internal IntrusiveIterator(IntrusiveCollection <E> _enclosing)
 {
     this._enclosing = _enclosing;
     // + IntrusiveCollection.this + "]";
     this.cur  = this._enclosing.root;
     this.next = null;
 }
예제 #2
0
 public void SetNext <_T0>(IntrusiveCollection <_T0> list, IntrusiveCollection.Element
                           next)
     where _T0 : IntrusiveCollection.Element
 {
     Preconditions.CheckState(list == this._enclosing._enclosing);
     this.first = next;
 }
예제 #3
0
 public void SetPrev <_T0>(IntrusiveCollection <_T0> list, IntrusiveCollection.Element
                           prev)
     where _T0 : IntrusiveCollection.Element
 {
     Preconditions.CheckState(list == this._enclosing._enclosing);
     this.last = prev;
 }
예제 #4
0
 // We keep references to the first and last elements for easy access.
 public void InsertInternal <_T0>(IntrusiveCollection <_T0> list, IntrusiveCollection.Element
                                  prev, IntrusiveCollection.Element next)
     where _T0 : IntrusiveCollection.Element
 {
     throw new RuntimeException("Can't insert root element");
 }
예제 #5
0
 public _Element_89(IntrusiveCollection <E> _enclosing)
 {
     this._enclosing = _enclosing;
     this.first      = this;
     this.last       = this;
 }
예제 #6
0
 public bool IsInList <_T0>(IntrusiveCollection <_T0> list)
     where _T0 : IntrusiveCollection.Element
 {
     return(list == this._enclosing._enclosing);
 }
예제 #7
0
 public IntrusiveCollection.Element GetPrev <_T0>(IntrusiveCollection <_T0> list)
     where _T0 : IntrusiveCollection.Element
 {
     Preconditions.CheckState(list == this._enclosing._enclosing);
     return(this.last);
 }
예제 #8
0
 public void RemoveInternal <_T0>(IntrusiveCollection <_T0> list)
     where _T0 : IntrusiveCollection.Element
 {
     throw new RuntimeException("Can't remove root element");
 }