public bool IsSubsetOf(StringExpressionSet ses) { if (this.IsEmpty()) { return(true); } if (ses == null || ses.IsEmpty()) { return(false); } CheckList(); ses.CheckList(); for (int index = 0; index < this.m_list.Count; ++index) { if (!StringSubsetStringExpression((String)this.m_list[index], ses, m_ignoreCase)) { return(false); } } return(true); }
public StringExpressionSet Union(StringExpressionSet ses) { // If either set is empty, the union represents a copy of the other. if (ses == null || ses.IsEmpty()) { return(this.Copy()); } if (this.IsEmpty()) { return(ses.Copy()); } CheckList(); ses.CheckList(); // Perform the union // note: insert smaller set into bigger set to reduce needed comparisons StringExpressionSet bigger = ses.m_list.Count > this.m_list.Count ? ses : this; StringExpressionSet smaller = ses.m_list.Count <= this.m_list.Count ? ses : this; StringExpressionSet unionSet = bigger.Copy(); unionSet.Reduce(); for (int index = 0; index < smaller.m_list.Count; ++index) { unionSet.AddSingleExpressionNoDuplicates((String)smaller.m_list[index]); } unionSet.GenerateString(); return(unionSet); }
public StringExpressionSet Union(StringExpressionSet ses) { if (ses == null || ses.IsEmpty()) { return(this.Copy()); } if (this.IsEmpty()) { return(ses.Copy()); } this.CheckList(); ses.CheckList(); StringExpressionSet stringExpressionSet = (ses.m_list.Count > this.m_list.Count) ? ses : this; StringExpressionSet stringExpressionSet2 = (ses.m_list.Count <= this.m_list.Count) ? ses : this; StringExpressionSet stringExpressionSet3 = stringExpressionSet.Copy(); stringExpressionSet3.Reduce(); for (int i = 0; i < stringExpressionSet2.m_list.Count; i++) { stringExpressionSet3.AddSingleExpressionNoDuplicates((string)stringExpressionSet2.m_list[i]); } stringExpressionSet3.GenerateString(); return(stringExpressionSet3); }
[System.Security.SecurityCritical] // auto-generated public StringExpressionSet Intersect( StringExpressionSet ses ) { // If either set is empty, the intersection is empty if (this.IsEmpty() || ses == null || ses.IsEmpty()) return CreateNewEmpty(); CheckList(); ses.CheckList(); // Do the intersection for real StringExpressionSet intersectSet = CreateNewEmpty(); for (int this_index = 0; this_index < this.m_list.Count; ++this_index) { for (int ses_index = 0; ses_index < ses.m_list.Count; ++ses_index) { if (StringSubsetString( (String)this.m_list[this_index], (String)ses.m_list[ses_index], m_ignoreCase )) { if (intersectSet.m_list == null) { intersectSet.m_list = new ArrayList(); } intersectSet.AddSingleExpressionNoDuplicates( (String)this.m_list[this_index] ); } else if (StringSubsetString( (String)ses.m_list[ses_index], (String)this.m_list[this_index], m_ignoreCase )) { if (intersectSet.m_list == null) { intersectSet.m_list = new ArrayList(); } intersectSet.AddSingleExpressionNoDuplicates( (String)ses.m_list[ses_index] ); } } } intersectSet.GenerateString(); return intersectSet; }
[System.Security.SecurityCritical] // auto-generated public StringExpressionSet Union( StringExpressionSet ses ) { // If either set is empty, the union represents a copy of the other. if (ses == null || ses.IsEmpty()) return this.Copy(); if (this.IsEmpty()) return ses.Copy(); CheckList(); ses.CheckList(); // Perform the union // note: insert smaller set into bigger set to reduce needed comparisons StringExpressionSet bigger = ses.m_list.Count > this.m_list.Count ? ses : this; StringExpressionSet smaller = ses.m_list.Count <= this.m_list.Count ? ses : this; StringExpressionSet unionSet = bigger.Copy(); unionSet.Reduce(); for (int index = 0; index < smaller.m_list.Count; ++index) { unionSet.AddSingleExpressionNoDuplicates( (String)smaller.m_list[index] ); } unionSet.GenerateString(); return unionSet; }
[System.Security.SecurityCritical] // auto-generated public bool IsSubsetOfPathDiscovery( StringExpressionSet ses ) { if (this.IsEmpty()) return true; if (ses == null || ses.IsEmpty()) return false; CheckList(); ses.CheckList(); for (int index = 0; index < this.m_list.Count; ++index) { if (!StringSubsetStringExpressionPathDiscovery( (String)this.m_list[index], ses, m_ignoreCase )) { return false; } } return true; }
public StringExpressionSet Union(StringExpressionSet ses) { if ((ses == null) || ses.IsEmpty()) { return this.Copy(); } if (this.IsEmpty()) { return ses.Copy(); } this.CheckList(); ses.CheckList(); StringExpressionSet set = (ses.m_list.Count > this.m_list.Count) ? ses : this; StringExpressionSet set2 = (ses.m_list.Count <= this.m_list.Count) ? ses : this; StringExpressionSet set3 = set.Copy(); set3.Reduce(); for (int i = 0; i < set2.m_list.Count; i++) { set3.AddSingleExpressionNoDuplicates((string) set2.m_list[i]); } set3.GenerateString(); return set3; }
public bool IsSubsetOfPathDiscovery(StringExpressionSet ses) { if (!this.IsEmpty()) { if ((ses == null) || ses.IsEmpty()) { return false; } this.CheckList(); ses.CheckList(); for (int i = 0; i < this.m_list.Count; i++) { if (!StringSubsetStringExpressionPathDiscovery((string) this.m_list[i], ses, this.m_ignoreCase)) { return false; } } } return true; }
public StringExpressionSet Intersect(StringExpressionSet ses) { if ((this.IsEmpty() || (ses == null)) || ses.IsEmpty()) { return this.CreateNewEmpty(); } this.CheckList(); ses.CheckList(); StringExpressionSet set = this.CreateNewEmpty(); for (int i = 0; i < this.m_list.Count; i++) { for (int j = 0; j < ses.m_list.Count; j++) { if (this.StringSubsetString((string) this.m_list[i], (string) ses.m_list[j], this.m_ignoreCase)) { if (set.m_list == null) { set.m_list = new ArrayList(); } set.AddSingleExpressionNoDuplicates((string) this.m_list[i]); } else if (this.StringSubsetString((string) ses.m_list[j], (string) this.m_list[i], this.m_ignoreCase)) { if (set.m_list == null) { set.m_list = new ArrayList(); } set.AddSingleExpressionNoDuplicates((string) ses.m_list[j]); } } } set.GenerateString(); return set; }