internal RootOcc this[PreorderIndex rootIndex] { get { return(RootSet.ContainsKey(rootIndex) ? RootSet[rootIndex] : null); } }
internal IOccurrence GetFirstOccAfterSpecifiedIndex(Depth depth, TreeId treeId, PreorderIndex rootIndex, PreorderIndex specifiedIndex) { if (!ContainsRootIndex(depth, treeId, rootIndex)) { return(null); } var rOcc = this[depth][treeId][rootIndex]; return(rOcc.RightMostSet.FirstOrDefault(t => t.SecondIndex > specifiedIndex)); }
internal List <IOccurrence> GetRightMostOccurrences(int depth, TreeId treeId, PreorderIndex rootIndex) { return(ContainsRootIndex(depth, treeId, rootIndex) ? this[depth][treeId][rootIndex].RightMostSet : null); }
internal IOccurrence GetOccurrence(int depth, TreeId treeId, PreorderIndex rootIndex) { return(ContainsRootIndex(depth, treeId, rootIndex) ? this[depth][treeId][rootIndex].FirstOcc : null); }
internal bool ContainsRootIndex(int depth, TreeId treeId, PreorderIndex rootIndex) { return(DepthOccSet.ContainsKey(depth) && (DepthOccSet[depth].ContainsRootIndex(treeId, rootIndex))); }
internal bool ContainsRootIndex(TreeId treeId, PreorderIndex rootIndex) { return(ContainsTree(treeId) && TreeSet[treeId].ContainsRootIndex(rootIndex)); }
public RootOcc(TreeId treeId, Depth depth, PreorderIndex rootIndex) { this.treeId = treeId; this.depth = depth; this.rootIndex = rootIndex; }
internal bool ContainsRootIndex(PreorderIndex rootIndex) { return(RootSet.ContainsKey(rootIndex)); }