Struct Transitions
pub struct Transitions { pub timestamps: MaybeStaticSlice<Timestamp>, pub civil_starts: MaybeStaticSlice<DateTime>, pub civil_ends: MaybeStaticSlice<DateTime>, pub infos: MaybeStaticSlice<TransitionInfo> }
The set of transitions in TZif data, laid out in column orientation.
The column orientation is used to make TZ lookups faster. Specifically,
for finding an offset for a timestamp, we do a binary search on
timestamps. For finding an offset for a local datetime, we do a binary
search on civil_starts. By making these two distinct sequences with
nothing else in them, we make them as small as possible and thus improve
cache locality.
All sequences in this type are in correspondence with one another. They are all guaranteed to have the same length.
Fields
timestamps: MaybeStaticSlice<Timestamp>The timestamp at which this transition begins.
civil_starts: MaybeStaticSlice<DateTime>The wall clock time for when a transition begins.
civil_ends: MaybeStaticSlice<DateTime>The wall clock time for when a transition ends.
This is equivalent to the corresponding entry in
civil_startswhen the corresponding transition is neither a gap nor a fold. A transition that isn't a gap or a fold keeps the offset the same but may change something else, like the abbreviation or whether it's considered daylight saving time.infos: MaybeStaticSlice<TransitionInfo>Any other relevant data about a transition, such as its local type index and the transition kind.
Trait Implementations
impl Clone for Transitions
fn clone(&self) -> Transitions
impl Debug for Transitions
fn fmt(&self, f: &mut Formatter<'_>) -> Result
Auto Trait Implementations
impl Freeze for Transitions
impl RefUnwindSafe for Transitions
impl Send for Transitions
impl Sync for Transitions
impl Unpin for Transitions
impl UnsafeUnpin for Transitions
impl UnwindSafe for Transitions
Blanket Implementations
impl<T> Any for Transitions
where
T: 'static + ?Sized,
fn type_id(&self) -> TypeId
impl<T> Borrow<T> for Transitions
where
T: ?Sized,
fn borrow(&self) -> &T
impl<T> BorrowMut<T> for Transitions
where
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
impl<T> CloneToUninit for Transitions
where
T: Clone,
unsafe fn clone_to_uninit(&self, dest: *mut u8)
impl<T> From<T> for Transitions
fn from(t: T) -> TReturns the argument unchanged.
impl<T> ToOwned for Transitions
where
T: Clone,
type Owned = T;fn to_owned(&self) -> Tfn clone_into(&self, target: &mut T)
impl<T, U> Into<U> for Transitions
where
U: From<T>,
fn into(self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom<U> for Transitions
where
U: Into<T>,
type Error = Infallible;fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto<U> for Transitions
where
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error;fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>