Exemplo n.º 1
0
        public IEnumerable<IndexNode> FindAll(CollectionIndex index, int order)
        {
            var cur = this.GetNode(order == Query.Ascending ? index.HeadNode : index.TailNode);

            while (!cur.NextPrev(0, order).IsEmpty)
            {
                cur = this.GetNode(cur.NextPrev(0, order));

                // stop if node is head/tail
                if (cur.IsHeadTail(index)) yield break;

                yield return cur;
            }
        }
Exemplo n.º 2
0
 /// <summary>
 /// Returns if this node is header or tail from collection Index
 /// </summary>
 public bool IsHeadTail(CollectionIndex index)
 {
     return(this.Position.Equals(index.HeadNode) || this.Position.Equals(index.TailNode));
 }