//! The trait every point on a timeline shares.
use ;
/// A point on one timeline, carried as a count of its unit since the timeline's origin, with the
/// span between two of them.
///
/// Every point here implements it, and so may a type of your own that wraps one, to work with code
/// generic over points.
///
/// # Examples
/// ```
/// use t2t_core::{TimePoint, Timedelta, Timestamp};
///
/// fn age<P: TimePoint>(stamp: P, now: P) -> P::Span {
/// now - stamp
/// }
///
/// let stamp = Timestamp::from_secs(10);
/// assert_eq!(age(stamp, stamp + Timedelta::SECOND), Timedelta::SECOND, "any point's age");
/// assert_eq!(Timestamp::from_count(stamp.count()), stamp, "and its count round trips");
/// ```