// Token: 0x060024E1 RID: 9441 RVA: 0x00087A70 File Offset: 0x00085C70 private void Setup(global::ODBList <T> list, T self) { this.self = self; this.list = list; this.hasList = true; this.n = default(global::ODBSibling <T>); if (list.any) { this.p = list.last; this.p.item.n.item = this; this.p.item.n.has = true; list.last.item = this; list.count++; } else { list.count = 1; list.any = true; global::ODBSibling <T> odbsibling; odbsibling.has = true; odbsibling.item = this; list.first = odbsibling; list.last = odbsibling; } }
// Token: 0x060024E2 RID: 9442 RVA: 0x00087B30 File Offset: 0x00085D30 public static global::ODBNode <T> New(global::ODBList <T> list, T self) { global::ODBNode <T> odbnode; if (!global::ODBNode <T> .recycle.Pop(out odbnode)) { odbnode = new global::ODBNode <T>(); } odbnode.Setup(list, self); return(odbnode); }
// Token: 0x06002501 RID: 9473 RVA: 0x0008816C File Offset: 0x0008636C protected void DoUnionWith(global::ODBList <T> list) { if (!list.any || list == this) { return; } global::ODBSibling <T> n = list.first; do { T self = n.item.self; n = n.item.n; if (this.hashSet.Add(self)) { global::ODBNode <T> .New(this, self); } }while (n.has); }
// Token: 0x06002504 RID: 9476 RVA: 0x00088340 File Offset: 0x00086540 protected void DoIntersectWith(global::ODBList <T> list) { if (this.any) { if (list.any) { if (list != this) { this.hashSet.IntersectWith(list.hashSet); int num = this.hashSet.Count; if (num == 0) { while (this.any) { this.first.item.Dispose(); } } else { global::ODBSibling <T> n = this.first; do { global::ODBNode <T> item = n.item; n = n.item.n; if (!this.hashSet.Contains(item.self)) { item.Dispose(); if (this.count == num) { break; } } }while (n.has); } } } else { this.DoClear(); } } }
// Token: 0x06002503 RID: 9475 RVA: 0x00088254 File Offset: 0x00086454 protected void DoSymmetricExceptWith(global::ODBList <T> list) { if (this.any) { if (list.any) { if (list == this) { this.DoClear(); } else { global::ODBSibling <T> n = list.first; do { T self = n.item.self; n = n.item.n; if (this.hashSet.Remove(self)) { this.KnownFind(self).Dispose(); } else { this.hashSet.Add(self); global::ODBNode <T> .New(this, self); } }while (n.has); } } } else if (list.any) { global::ODBSibling <T> n2 = list.first; do { T self2 = n2.item.self; n2 = n2.item.n; this.hashSet.Add(self2); global::ODBNode <T> .New(this, self2); }while (n2.has); } }
// Token: 0x06002502 RID: 9474 RVA: 0x000881D4 File Offset: 0x000863D4 protected void DoExceptWith(global::ODBList <T> list) { if (!this.any || !list.any) { return; } if (list == this) { this.DoClear(); } else { global::ODBSibling <T> n = list.first; do { T self = n.item.self; n = n.item.n; if (this.hashSet.Remove(self)) { this.KnownFind(self).Dispose(); } }while (n.has); } }
// Token: 0x06002508 RID: 9480 RVA: 0x000884A0 File Offset: 0x000866A0 public global::RecycleList <T> IntersectList(global::ODBList <T> list) { return(this.hashSet.IntersectList(list.hashSet)); }
// Token: 0x06002506 RID: 9478 RVA: 0x0008847C File Offset: 0x0008667C public global::RecycleList <T> UnionList(global::ODBList <T> list) { return(this.hashSet.UnionList(list.hashSet)); }
// Token: 0x060024BB RID: 9403 RVA: 0x00087720 File Offset: 0x00085920 public ODBReverseEnumerable(global::ODBList <T> list) { this = new global::ODBReverseEnumerable <T>(list.last); }
// Token: 0x060024A5 RID: 9381 RVA: 0x00087520 File Offset: 0x00085720 public ODBForwardEnumerator(global::ODBList <T> list) { this = new global::ODBForwardEnumerator <T>(list.first); }
// Token: 0x0600251A RID: 9498 RVA: 0x000885A0 File Offset: 0x000867A0 public void SymmetricExceptWith(global::ODBList <T> list) { base.DoSymmetricExceptWith(list); }
// Token: 0x06002519 RID: 9497 RVA: 0x00088594 File Offset: 0x00086794 public void ExceptWith(global::ODBList <T> list) { base.DoExceptWith(list); }
// Token: 0x06002518 RID: 9496 RVA: 0x00088588 File Offset: 0x00086788 public void IntersectWith(global::ODBList <T> list) { base.DoIntersectWith(list); }
// Token: 0x06002517 RID: 9495 RVA: 0x0008857C File Offset: 0x0008677C public void UnionWith(global::ODBList <T> list) { base.DoUnionWith(list); }
// Token: 0x0600250C RID: 9484 RVA: 0x000884E8 File Offset: 0x000866E8 public global::RecycleList <T> SymmetricExceptList(global::ODBList <T> list) { return(this.hashSet.SymmetricExceptList(list.hashSet)); }
// Token: 0x0600250E RID: 9486 RVA: 0x0008850C File Offset: 0x0008670C public global::RecycleList <T> OperList(global::HSetOper oper, global::ODBList <T> list) { return(this.hashSet.OperList(oper, list.hashSet)); }
// Token: 0x060024C2 RID: 9410 RVA: 0x000877B0 File Offset: 0x000859B0 public ODBForwardEnumerable(global::ODBList <T> list) { this = new global::ODBForwardEnumerable <T>(list.last); }