Exemple #1
0
        OrderedSequence <T, V> PushLeft(OrderedElement <T, V> o)
        {
            var v = _finger.LeftView();

            if (v != null)
            {
                if (v.End.Measure().CompareTo(o.Measure()) < 0)
                {
                    throw new Exception("OrderedSequence Error: PushLeft() of an element greater than the smallest seq el.");
                }
            }

            return(new OrderedSequence <T, V>(_x, _finger.PushLeft(o)));
        }
Exemple #2
0
        OrderedSequence <T, V> PushRight(OrderedElement <T, V> o)
        {
            var v = _finger.RightView();

            if (v != null)
            {
                if (v.End.Measure().CompareTo(o.Measure()) > 0)
                {
                    throw new Exception("OrderedSequence Error: PushRight() of an element less than the biggest seq el.");
                }
            }

            return(new OrderedSequence <T, V>(_x, _finger.PushRight(o)));
        }