/// <summary> /// Returns <c>true</c> if and only if this timestamp is less than or equal to the <paramref name="other"/> /// timestamp. /// </summary> /// <param name="other">The other timestamp.</param> /// <returns><c>true</c> if and only if <c>this</c> is less than or equal to <c>other</c>.</returns> public bool LessThan(IterationIn <TTime> other) { if (this.iteration <= other.iteration) { return(this.outerTime.LessThan(other.outerTime)); } else { return(false); } }
/// <summary> /// Compares this timestamp with the <paramref name="other"/> timestamp. /// </summary> /// <param name="other">The other timestamp.</param> /// <returns>A value that indicates the relative order of the objects being compared.</returns> public int CompareTo(IterationIn <TTime> other) { var sCompare = this.outerTime.CompareTo(other.outerTime); if (sCompare != 0) { return(sCompare); } else { return(this.iteration - other.iteration); } }
/// <summary> /// Returns the earlier of this and the <paramref name="other"/> timestamps. /// </summary> /// <param name="other">The other timestamps.</param> /// <returns>The earlier of this and the <paramref name="other"/> timestamps.</returns> public IterationIn <TTime> Meet(IterationIn <TTime> other) { return(new IterationIn <TTime>(this.outerTime.Meet(other.outerTime), Math.Min(this.iteration, other.iteration))); }
/// <summary> /// Returns the later of this and the <paramref name="other"/> timestamps. /// </summary> /// <param name="other">The other timestamp.</param> /// <returns>The later of this and the <paramref name="other"/> timestamps.</returns> public IterationIn <TTime> Join(IterationIn <TTime> other) { return(new IterationIn <TTime>(this.outerTime.Join(other.outerTime), Math.Max(this.iteration, other.iteration))); }
/// <summary> /// Returns <c>true</c> if and only if this timestamp is equal to the <paramref name="other"/> /// timestamp. /// </summary> /// <param name="other">The other timestamp.</param> /// <returns><c>true</c> if and only if <c>this</c> is equal to <c>other</c>.</returns> public bool Equals(IterationIn <TTime> other) { return(this.iteration == other.iteration && this.outerTime.Equals(other.outerTime)); }