[−]Struct sqlx::types::time::OffsetDateTime
A PrimitiveDateTime
with a UtcOffset
.
All comparisons are performed using the UTC time.
Implementations
impl OffsetDateTime
pub fn now() -> OffsetDateTime
This function returns a value with an offset of UTC, which is not apparent from its name alone. You should use OffsetDateTime::now_utc()
instead.
Create a new OffsetDateTime
with the current date and time in UTC.
assert!(OffsetDateTime::now().year() >= 2019); assert_eq!(OffsetDateTime::now().offset(), offset!(UTC));
pub fn now_utc() -> OffsetDateTime
Create a new OffsetDateTime
with the current date and time in UTC.
assert!(OffsetDateTime::now_utc().year() >= 2019); assert_eq!(OffsetDateTime::now_utc().offset(), offset!(UTC));
pub fn now_local() -> OffsetDateTime
UTC is returned if the local offset cannot be determined
Create a new OffsetDateTime
with the current date and time in the
local offset.
assert!(OffsetDateTime::now_local().year() >= 2019);
pub fn try_now_local() -> Result<OffsetDateTime, IndeterminateOffset>
Attempt to create a new OffsetDateTime
with the current date and time
in the local offset. If the offset cannot be determined, an error is
returned.
let now = OffsetDateTime::try_now_local(); assert!(now.is_ok());
pub const fn to_offset(self, offset: UtcOffset) -> OffsetDateTime
Convert the OffsetDateTime
from the current UtcOffset
to the
provided UtcOffset
.
assert_eq!( date!(2000-01-01) .midnight() .assume_utc() .to_offset(offset!(-1)) .year(), 1999, ); // Let's see what time Sydney's new year's celebration is in New York // and Los Angeles. // Construct midnight on new year's in Sydney. This is equivalent to // 13:00 UTC. let sydney = date!(2000-01-01).midnight().assume_offset(offset!(+11)); let new_york = sydney.to_offset(offset!(-5)); let los_angeles = sydney.to_offset(offset!(-8)); assert_eq!(sydney.hour(), 0); assert_eq!(new_york.hour(), 8); assert_eq!(los_angeles.hour(), 5);
pub const fn unix_epoch() -> OffsetDateTime
Midnight, 1 January, 1970 (UTC).
assert_eq!( OffsetDateTime::unix_epoch(), date!(1970-01-01) .midnight() .assume_utc(), );
pub fn from_unix_timestamp(timestamp: i64) -> OffsetDateTime
Create an OffsetDateTime
from the provided Unix timestamp.
assert_eq!( OffsetDateTime::from_unix_timestamp(0), OffsetDateTime::unix_epoch(), ); assert_eq!( OffsetDateTime::from_unix_timestamp(1_546_300_800), date!(2019-01-01) .midnight() .assume_utc(), );
If you have a timestamp-nanosecond pair, you can use something along the lines of the following:
let (timestamp, nanos) = (1, 500_000_000); assert_eq!( OffsetDateTime::from_unix_timestamp(timestamp) + Duration::nanoseconds(nanos), OffsetDateTime::unix_epoch() + 1.5.seconds() );
pub fn from_unix_timestamp_nanos(timestamp: i128) -> OffsetDateTime
Construct an OffsetDateTime
from the provided Unix timestamp (in
nanoseconds).
assert_eq!( OffsetDateTime::from_unix_timestamp_nanos(0), OffsetDateTime::unix_epoch(), ); assert_eq!( OffsetDateTime::from_unix_timestamp_nanos(1_546_300_800_000_000_000), date!(2019-01-01) .midnight() .assume_utc(), );
Note that the range of timestamps possible here is far larger than the valid range of dates storable in this crate. It is the user's responsibility to ensure the timestamp provided as a parameter is valid. No behavior is guaranteed if this parameter would not result in a valid value.
pub const fn offset(self) -> UtcOffset
Get the UtcOffset
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .offset(), offset!(UTC), ); assert_eq!( date!(2019-01-01) .midnight() .assume_offset(offset!(+1)) .offset(), offset!(+1), );
pub fn unix_timestamp(self) -> i64
Get the Unix timestamp.
assert_eq!( date!(1970-01-01) .midnight() .assume_utc() .unix_timestamp(), 0, ); assert_eq!( date!(1970-01-01) .midnight() .assume_utc() .to_offset(offset!(-1)) .unix_timestamp(), 0, );
pub fn timestamp(self) -> i64
Use OffsetDateTime::unix_timestamp
instead
Get the Unix timestamp.
assert_eq!( date!(1970-01-01) .midnight() .assume_utc() .timestamp(), 0, ); assert_eq!( date!(1970-01-01) .midnight() .assume_utc() .to_offset(offset!(-1)) .timestamp(), 0, );
pub fn unix_timestamp_nanos(self) -> i128
Get the Unix timestamp in nanoseconds.
use time::{date, offset, time}; assert_eq!( date!(1970-01-01) .midnight() .assume_utc() .unix_timestamp_nanos(), 0, ); assert_eq!( date!(1970-01-01) .with_time(time!(1:00)) .assume_utc() .to_offset(offset!(-1)) .unix_timestamp_nanos(), 3_600_000_000_000, );
pub fn timestamp_nanos(self) -> i128
Use OffsetDateTime::unix_timestamp_nanos
instead
Get the Unix timestamp in nanoseconds.
use time::{date, offset, time}; assert_eq!( date!(1970-01-01) .midnight() .assume_utc() .unix_timestamp_nanos(), 0, ); assert_eq!( date!(1970-01-01) .with_time(time!(1:00)) .assume_utc() .to_offset(offset!(-1)) .unix_timestamp_nanos(), 3_600_000_000_000, );
pub fn date(self) -> Date
Get the Date
in the stored offset.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .date(), date!(2019-01-01), ); assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .to_offset(offset!(-1)) .date(), date!(2018-12-31), );
pub fn time(self) -> Time
Get the Time
in the stored offset.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .time(), time!(0:00) ); assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .to_offset(offset!(-1)) .time(), time!(23:00) );
pub fn year(self) -> i32
Get the year of the date in the stored offset.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .year(), 2019, ); assert_eq!( date!(2019-12-31) .with_time(time!(23:00)) .assume_utc() .to_offset(offset!(+1)) .year(), 2020, ); assert_eq!( date!(2020-01-01) .midnight() .assume_utc() .year(), 2020, );
pub fn month(self) -> u8
Get the month of the date in the stored offset. If fetching both the
month and day, it is more efficient to use
OffsetDateTime::month_day
.
The returned value will always be in the range 1..=12
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .month(), 1, ); assert_eq!( date!(2019-12-31) .with_time(time!(23:00)) .assume_utc() .to_offset(offset!(+1)) .month(), 1, );
pub fn day(self) -> u8
Get the day of the date in the stored offset. If fetching both the month
and day, it is more efficient to use OffsetDateTime::month_day
.
The returned value will always be in the range 1..=31
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .day(), 1, ); assert_eq!( date!(2019-12-31) .with_time(time!(23:00)) .assume_utc() .to_offset(offset!(+1)) .day(), 1, );
pub fn month_day(self) -> (u8, u8)
Get the month and day of the date in the stored offset.
The month component will always be in the range 1..=12
;
the day component in 1..=31
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .month_day(), (1, 1), ); assert_eq!( date!(2019-12-31) .with_time(time!(23:00)) .assume_utc() .to_offset(offset!(+1)) .month_day(), (1, 1), );
pub fn ordinal(self) -> u16
Get the day of the year of the date in the stored offset.
The returned value will always be in the range 1..=366
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .ordinal(), 1, ); assert_eq!( date!(2019-12-31) .with_time(time!(23:00)) .assume_utc() .to_offset(offset!(+1)) .ordinal(), 1, );
pub fn iso_year_week(self) -> (i32, u8)
Get the ISO 8601 year and week number in the stored offset.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .iso_year_week(), (2019, 1), ); assert_eq!( date!(2019-10-04) .midnight() .assume_utc() .iso_year_week(), (2019, 40), ); assert_eq!( date!(2020-01-01) .midnight() .assume_utc() .iso_year_week(), (2020, 1), ); assert_eq!( date!(2020-12-31) .midnight() .assume_utc() .iso_year_week(), (2020, 53), ); assert_eq!( date!(2021-01-01) .midnight() .assume_utc() .iso_year_week(), (2020, 53), );
pub fn week(self) -> u8
Get the ISO week number of the date in the stored offset.
The returned value will always be in the range 1..=53
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .week(), 1, ); assert_eq!( date!(2020-01-01) .midnight() .assume_utc() .week(), 1, ); assert_eq!( date!(2020-12-31) .midnight() .assume_utc() .week(), 53, ); assert_eq!( date!(2021-01-01) .midnight() .assume_utc() .week(), 53, );
pub fn weekday(self) -> Weekday
Get the weekday of the date in the stored offset.
This current uses Zeller's congruence internally.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .weekday(), Tuesday, ); assert_eq!( date!(2019-02-01) .midnight() .assume_utc() .weekday(), Friday, ); assert_eq!( date!(2019-03-01) .midnight() .assume_utc() .weekday(), Friday, );
pub fn hour(self) -> u8
Get the clock hour in the stored offset.
The returned value will always be in the range 0..24
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .hour(), 0, ); assert_eq!( date!(2019-01-01) .with_time(time!(23:59:59)) .assume_utc() .to_offset(offset!(-2)) .hour(), 21, );
pub fn minute(self) -> u8
Get the minute within the hour in the stored offset.
The returned value will always be in the range 0..60
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .minute(), 0, ); assert_eq!( date!(2019-01-01) .with_time(time!(23:59:59)) .assume_utc() .to_offset(offset!(+0:30)) .minute(), 29, );
pub fn second(self) -> u8
Get the second within the minute in the stored offset.
The returned value will always be in the range 0..60
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .second(), 0, ); assert_eq!( date!(2019-01-01) .with_time(time!(23:59:59)) .assume_utc() .to_offset(offset!(+0:00:30)) .second(), 29, );
pub fn millisecond(self) -> u16
Get the milliseconds within the second in the stored offset.
The returned value will always be in the range 0..1_000
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .millisecond(), 0, ); assert_eq!( date!(2019-01-01) .with_time(time!(23:59:59.999)) .assume_utc() .millisecond(), 999, );
pub fn microsecond(self) -> u32
Get the microseconds within the second in the stored offset.
The returned value will always be in the range 0..1_000_000
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .microsecond(), 0, ); assert_eq!( date!(2019-01-01) .with_time(time!(23:59:59.999_999)) .assume_utc() .microsecond(), 999_999, );
pub fn nanosecond(self) -> u32
Get the nanoseconds within the second in the stored offset.
The returned value will always be in the range 0..1_000_000_000
.
assert_eq!( date!(2019-01-01) .midnight() .assume_utc() .nanosecond(), 0, ); assert_eq!( date!(2019-01-01) .with_time(time!(23:59:59.999_999_999)) .assume_utc() .nanosecond(), 999_999_999, );
impl OffsetDateTime
Methods that allow formatting the OffsetDateTime
.
pub fn format(self, format: impl Into<Format>) -> String
Format the OffsetDateTime
using the provided string.
assert_eq!( date!(2019-01-02) .midnight() .assume_utc() .format("%F %r %z"), "2019-01-02 12:00:00 am +0000", );
pub fn lazy_format(self, format: impl Into<Format>) -> impl Display
Format the OffsetDateTime
using the provided string.
assert_eq!( date!(2019-01-02) .midnight() .assume_utc() .lazy_format("%F %r %z") .to_string(), "2019-01-02 12:00:00 am +0000", );
pub fn parse(
s: impl AsRef<str>,
format: impl Into<Format>
) -> Result<OffsetDateTime, Error>
s: impl AsRef<str>,
format: impl Into<Format>
) -> Result<OffsetDateTime, Error>
Attempt to parse an OffsetDateTime
using the provided string.
assert_eq!( OffsetDateTime::parse("2019-01-02 00:00:00 +0000", "%F %T %z"), Ok(date!(2019-01-02).midnight().assume_utc()), ); assert_eq!( OffsetDateTime::parse("2019-002 23:59:59 +0000", "%Y-%j %T %z"), Ok(date!(2019-002).with_time(time!(23:59:59)).assume_utc()), ); assert_eq!( OffsetDateTime::parse("2019-W01-3 12:00:00 pm +0000", "%G-W%V-%u %r %z"), Ok(date!(2019-W01-3).with_time(time!(12:00)).assume_utc()), );
Trait Implementations
impl Add<Duration> for OffsetDateTime
type Output = OffsetDateTime
The resulting type after applying the +
operator.
pub fn add(
self,
duration: Duration
) -> <OffsetDateTime as Add<Duration>>::Output
self,
duration: Duration
) -> <OffsetDateTime as Add<Duration>>::Output
impl Add<Duration> for OffsetDateTime
type Output = OffsetDateTime
The resulting type after applying the +
operator.
pub fn add(
self,
duration: Duration
) -> <OffsetDateTime as Add<Duration>>::Output
self,
duration: Duration
) -> <OffsetDateTime as Add<Duration>>::Output
impl AddAssign<Duration> for OffsetDateTime
pub fn add_assign(&mut self, duration: Duration)
impl AddAssign<Duration> for OffsetDateTime
pub fn add_assign(&mut self, duration: Duration)
impl Clone for OffsetDateTime
pub fn clone(&self) -> OffsetDateTime
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for OffsetDateTime
impl Debug for OffsetDateTime
impl<'r> Decode<'r, MySql> for OffsetDateTime
[src]
pub fn decode(
value: MySqlValueRef<'r>
) -> Result<OffsetDateTime, Box<dyn Error + 'static + Send + Sync, Global>>
[src]
value: MySqlValueRef<'r>
) -> Result<OffsetDateTime, Box<dyn Error + 'static + Send + Sync, Global>>
impl<'r> Decode<'r, Postgres> for OffsetDateTime
[src]
pub fn decode(
value: PgValueRef<'r>
) -> Result<OffsetDateTime, Box<dyn Error + 'static + Send + Sync, Global>>
[src]
value: PgValueRef<'r>
) -> Result<OffsetDateTime, Box<dyn Error + 'static + Send + Sync, Global>>
impl Display for OffsetDateTime
impl<'_> Encode<'_, MySql> for OffsetDateTime
[src]
pub fn encode_by_ref(&self, buf: &mut Vec<u8, Global>) -> IsNull
[src]
#[must_use]pub fn encode(
self,
buf: &mut <DB as HasArguments<'q>>::ArgumentBuffer
) -> IsNull
[src]
self,
buf: &mut <DB as HasArguments<'q>>::ArgumentBuffer
) -> IsNull
pub fn produces(&self) -> Option<<DB as Database>::TypeInfo>
[src]
pub fn size_hint(&self) -> usize
[src]
impl<'_> Encode<'_, Postgres> for OffsetDateTime
[src]
pub fn encode_by_ref(&self, buf: &mut PgArgumentBuffer) -> IsNull
[src]
pub fn size_hint(&self) -> usize
[src]
#[must_use]pub fn encode(
self,
buf: &mut <DB as HasArguments<'q>>::ArgumentBuffer
) -> IsNull
[src]
self,
buf: &mut <DB as HasArguments<'q>>::ArgumentBuffer
) -> IsNull
pub fn produces(&self) -> Option<<DB as Database>::TypeInfo>
[src]
impl Eq for OffsetDateTime
impl From<SystemTime> for OffsetDateTime
pub fn from(system_time: SystemTime) -> OffsetDateTime
impl Hash for OffsetDateTime
pub fn hash<H>(&self, hasher: &mut H) where
H: Hasher,
H: Hasher,
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Ord for OffsetDateTime
pub fn cmp(&self, rhs: &OffsetDateTime) -> Ordering
#[must_use]pub fn max(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn min(self, other: Self) -> Self
1.21.0[src]
#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self
1.50.0[src]
impl PartialEq<OffsetDateTime> for OffsetDateTime
pub fn eq(&self, rhs: &OffsetDateTime) -> bool
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialEq<SystemTime> for OffsetDateTime
pub fn eq(&self, rhs: &SystemTime) -> bool
#[must_use]pub fn ne(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<OffsetDateTime> for OffsetDateTime
pub fn partial_cmp(&self, rhs: &OffsetDateTime) -> Option<Ordering>
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl PartialOrd<SystemTime> for OffsetDateTime
pub fn partial_cmp(&self, other: &SystemTime) -> Option<Ordering>
#[must_use]pub fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn gt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]pub fn ge(&self, other: &Rhs) -> bool
1.0.0[src]
impl StructuralEq for OffsetDateTime
impl Sub<Duration> for OffsetDateTime
type Output = OffsetDateTime
The resulting type after applying the -
operator.
pub fn sub(
self,
duration: Duration
) -> <OffsetDateTime as Sub<Duration>>::Output
self,
duration: Duration
) -> <OffsetDateTime as Sub<Duration>>::Output
impl Sub<Duration> for OffsetDateTime
type Output = OffsetDateTime
The resulting type after applying the -
operator.
pub fn sub(
self,
duration: Duration
) -> <OffsetDateTime as Sub<Duration>>::Output
self,
duration: Duration
) -> <OffsetDateTime as Sub<Duration>>::Output
impl Sub<OffsetDateTime> for OffsetDateTime
type Output = Duration
The resulting type after applying the -
operator.
pub fn sub(
self,
rhs: OffsetDateTime
) -> <OffsetDateTime as Sub<OffsetDateTime>>::Output
self,
rhs: OffsetDateTime
) -> <OffsetDateTime as Sub<OffsetDateTime>>::Output
impl Sub<SystemTime> for OffsetDateTime
type Output = Duration
The resulting type after applying the -
operator.
pub fn sub(self, rhs: SystemTime) -> <OffsetDateTime as Sub<SystemTime>>::Output
impl SubAssign<Duration> for OffsetDateTime
pub fn sub_assign(&mut self, duration: Duration)
impl SubAssign<Duration> for OffsetDateTime
pub fn sub_assign(&mut self, duration: Duration)
impl Type<MySql> for OffsetDateTime
[src]
pub fn type_info() -> MySqlTypeInfo
[src]
pub fn compatible(ty: &MySqlTypeInfo) -> bool
[src]
impl Type<Postgres> for OffsetDateTime
[src]
pub fn type_info() -> PgTypeInfo
[src]
pub fn compatible(ty: &<DB as Database>::TypeInfo) -> bool
[src]
Auto Trait Implementations
impl RefUnwindSafe for OffsetDateTime
[src]
impl Send for OffsetDateTime
[src]
impl Sync for OffsetDateTime
[src]
impl Unpin for OffsetDateTime
[src]
impl UnwindSafe for OffsetDateTime
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> CallHasher for T where
T: Hash,
T: Hash,
impl<T> CallHasher for T where
T: Hash + ?Sized,
T: Hash + ?Sized,
impl<T> Conv for T
impl<T> Conv for T
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
pub fn equivalent(&self, key: &K) -> bool
[src]
impl<T> FmtForward for T
pub fn fmt_binary(self) -> FmtBinary<Self> where
Self: Binary,
Self: Binary,
pub fn fmt_display(self) -> FmtDisplay<Self> where
Self: Display,
Self: Display,
pub fn fmt_lower_exp(self) -> FmtLowerExp<Self> where
Self: LowerExp,
Self: LowerExp,
pub fn fmt_lower_hex(self) -> FmtLowerHex<Self> where
Self: LowerHex,
Self: LowerHex,
pub fn fmt_octal(self) -> FmtOctal<Self> where
Self: Octal,
Self: Octal,
pub fn fmt_pointer(self) -> FmtPointer<Self> where
Self: Pointer,
Self: Pointer,
pub fn fmt_upper_exp(self) -> FmtUpperExp<Self> where
Self: UpperExp,
Self: UpperExp,
pub fn fmt_upper_hex(self) -> FmtUpperHex<Self> where
Self: UpperHex,
Self: UpperHex,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pipe for T where
T: ?Sized,
T: ?Sized,
pub fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
R: 'a,
pub fn pipe_ref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self) -> R
) -> R where
R: 'a,
pub fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R where
Self: Borrow<B>,
R: 'a,
B: 'a + ?Sized,
Self: Borrow<B>,
R: 'a,
B: 'a + ?Sized,
pub fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
R: 'a,
B: 'a + ?Sized,
&'a mut self,
func: impl FnOnce(&'a mut B) -> R
) -> R where
Self: BorrowMut<B>,
R: 'a,
B: 'a + ?Sized,
pub fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R where
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
Self: AsRef<U>,
U: 'a + ?Sized,
R: 'a,
pub fn pipe_as_mut<'a, U, R>(
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut U) -> R
) -> R where
Self: AsMut<U>,
U: 'a + ?Sized,
R: 'a,
pub fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
Self: Deref<Target = T>,
T: 'a + ?Sized,
R: 'a,
pub fn pipe_deref_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: DerefMut<Target = T> + Deref,
T: 'a + ?Sized,
R: 'a,
impl<T> Pipe for T
impl<T> PipeAsRef for T
pub fn pipe_as_ref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: AsRef<T>,
T: 'a,
R: 'a,
Self: AsRef<T>,
T: 'a,
R: 'a,
pub fn pipe_as_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: AsMut<T>,
T: 'a,
R: 'a,
impl<T> PipeBorrow for T
pub fn pipe_borrow<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R where
Self: Borrow<T>,
T: 'a,
R: 'a,
Self: Borrow<T>,
T: 'a,
R: 'a,
pub fn pipe_borrow_mut<'a, T, R>(
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut T) -> R
) -> R where
Self: BorrowMut<T>,
T: 'a,
R: 'a,
impl<T> PipeDeref for T
pub fn pipe_deref<'a, R>(
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
&'a self,
func: impl FnOnce(&'a Self::Target) -> R
) -> R where
Self: Deref,
R: 'a,
pub fn pipe_deref_mut<'a, R>(
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
&'a mut self,
func: impl FnOnce(&'a mut Self::Target) -> R
) -> R where
Self: DerefMut,
R: 'a,
impl<T> PipeRef for T
pub fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R where
R: 'a,
R: 'a,
pub fn pipe_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R where
R: 'a,
R: 'a,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Tap for T
pub fn tap(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
pub fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
pub fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
pub fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self where
Self: Borrow<B>,
B: ?Sized,
Self: Borrow<B>,
B: ?Sized,
pub fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self where
Self: BorrowMut<B>,
B: ?Sized,
Self: BorrowMut<B>,
B: ?Sized,
pub fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self where
Self: AsRef<R>,
R: ?Sized,
Self: AsRef<R>,
R: ?Sized,
pub fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self where
Self: AsMut<R>,
R: ?Sized,
Self: AsMut<R>,
R: ?Sized,
pub fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self where
Self: Deref<Target = T>,
T: ?Sized,
Self: Deref<Target = T>,
T: ?Sized,
pub fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self where
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
Self: DerefMut<Target = T> + Deref,
T: ?Sized,
impl<T> Tap for T
pub fn tap<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
F: FnOnce(&Self) -> R,
pub fn tap_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&Self) -> R,
F: FnOnce(&Self) -> R,
pub fn tap_mut<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
F: FnOnce(&mut Self) -> R,
pub fn tap_mut_dbg<F, R>(self, func: F) -> Self where
F: FnOnce(&mut Self) -> R,
F: FnOnce(&mut Self) -> R,
impl<T, U> TapAsRef<U> for T where
U: ?Sized,
U: ?Sized,
pub fn tap_ref<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_dbg<F, R>(self, func: F) -> Self where
Self: AsRef<T>,
F: FnOnce(&T) -> R,
Self: AsRef<T>,
F: FnOnce(&T) -> R,
pub fn tap_ref_mut<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_ref_mut_dbg<F, R>(self, func: F) -> Self where
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
Self: AsMut<T>,
F: FnOnce(&mut T) -> R,
impl<T, U> TapBorrow<U> for T where
U: ?Sized,
U: ?Sized,
pub fn tap_borrow<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_dbg<F, R>(self, func: F) -> Self where
Self: Borrow<T>,
F: FnOnce(&T) -> R,
Self: Borrow<T>,
F: FnOnce(&T) -> R,
pub fn tap_borrow_mut<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
pub fn tap_borrow_mut_dbg<F, R>(self, func: F) -> Self where
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
Self: BorrowMut<T>,
F: FnOnce(&mut T) -> R,
impl<T> TapDeref for T
pub fn tap_deref<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_dbg<F, R>(self, func: F) -> Self where
Self: Deref,
F: FnOnce(&Self::Target) -> R,
Self: Deref,
F: FnOnce(&Self::Target) -> R,
pub fn tap_deref_mut<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
pub fn tap_deref_mut_dbg<F, R>(self, func: F) -> Self where
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
Self: DerefMut,
F: FnOnce(&mut Self::Target) -> R,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T> TryConv for T
impl<T> TryConv for T
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,