Esempio n. 1
0
 public IEnumerable <IDuratedItem <T> > Intersecting(Time point) =>
 elements_start
 .BeforeOrAt(point)
 .Select(kvp => kvp.Value)
 .Intersect(
     elements_end
     .After(point)
     .Select(kvp => kvp.Value)
     );
Esempio n. 2
0
        public IEnumerable <KeyValuePair <Time, V> > After(Time bar)
        {
            if (pivot > bar)
            {
                foreach (var item in items)
                {
                    yield return(new KeyValuePair <Time, V>(pivot, item));
                }
            }

            if (right != null)
            {
                if (pivot >= bar)
                {
                    foreach (var item in right.All())
                    {
                        yield return(item);
                    }
                }
                else
                {
                    foreach (var item in right.After(bar))
                    {
                        yield return(item);
                    }
                }
            }

            if (left != null)
            {
                foreach (var item in left.After(bar))
                {
                    yield return(item);
                }
            }
        }