Пример #1
0
        /// <summary>
        /// Returns a range with the smaller Start and the bigger End, the Union of the two ranges.
        /// If one of the range is empty then returns other range.
        /// </summary>
        /// <param name="p_Range1">The range1.</param>
        /// <param name="p_Range2">The range2.</param>
        /// <returns></returns>
        public static Range Union(Range p_Range1, Range p_Range2)
        {
            if (p_Range1.IsEmpty())
            {
                return(p_Range2);
            }
            else if (p_Range2.IsEmpty())
            {
                return(p_Range1);
            }

            return(new Range(Position.MergeMinor(p_Range1.Start, p_Range2.Start),
                             Position.MergeMajor(p_Range1.End, p_Range2.End), false));
        }