pub struct Uuid { /* private fields */ }
Expand description
A struct modeling a BSON UUID value (i.e. a Binary value with subtype 4).
This type should be used instead of uuid::Uuid
when serializing to or deserializing from BSON, since
uuid::Uuid
’s serde
implementation doesn’t
produce or parse BSON UUIDs.
To enable interop with the Uuid
type from the uuid
crate, enable the uuid-0_8
feature
flag.
For more information on the usage of this type, see the uuid
module-level documentation.
Note: due to an issue in serde (see here), this type
will also allow deserialization from 16 byte + subtype 0 Binary values in BSON if part of a
#[serde(flatten)]
chain. This behavior shouldn’t be relied upon as it may be fixed at some
point in the future.
Implementations§
source§impl Uuid
impl Uuid
sourcepub fn new() -> Self
pub fn new() -> Self
Creates a random UUID.
This uses the operating system’s RNG as the source of random numbers. If you’d like to use a
custom generator, generate random bytes and pass them to Uuid::from_bytes
instead.
sourcepub const fn from_bytes(bytes: [u8; 16]) -> Self
pub const fn from_bytes(bytes: [u8; 16]) -> Self
Creates a Uuid
using the supplied big-endian bytes.
source§impl Uuid
impl Uuid
sourcepub fn from_uuid_0_8(uuid: Uuid) -> Self
Available on crate feature uuid-0_8
only.
pub fn from_uuid_0_8(uuid: Uuid) -> Self
uuid-0_8
only.Create a Uuid
from a uuid::Uuid
from
the uuid
crate.
sourcepub fn to_uuid_0_8(self) -> Uuid
Available on crate feature uuid-0_8
only.
pub fn to_uuid_0_8(self) -> Uuid
uuid-0_8
only.Convert this Uuid
to a uuid::Uuid
from
the uuid
crate.
source§impl Uuid
impl Uuid
sourcepub fn from_uuid_1(uuid: Uuid) -> Self
Available on crate feature uuid-1
only.
pub fn from_uuid_1(uuid: Uuid) -> Self
uuid-1
only.Create a Uuid
from a uuid::Uuid
from
the uuid
crate.
Trait Implementations§
source§impl<'de> Deserialize<'de> for Uuid
impl<'de> Deserialize<'de> for Uuid
source§fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>where
D: Deserializer<'de>,
source§impl<'de> DeserializeAs<'de, Uuid> for Uuid
Available on crate features uuid-1
and serde_with-3
only.
impl<'de> DeserializeAs<'de, Uuid> for Uuid
uuid-1
and serde_with-3
only.source§fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
source§impl<'de> DeserializeAs<'de, Uuid> for Uuid
Available on crate features uuid-0_8
and serde_with
only.
impl<'de> DeserializeAs<'de, Uuid> for Uuid
uuid-0_8
and serde_with
only.source§fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
source§impl<'de> DeserializeAs<'de, Uuid> for Uuid
Available on crate features uuid-0_8
and serde_with-3
only.
impl<'de> DeserializeAs<'de, Uuid> for Uuid
uuid-0_8
and serde_with-3
only.source§fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
source§impl<'de> DeserializeAs<'de, Uuid> for Uuid
Available on crate features uuid-1
and serde_with
only.
impl<'de> DeserializeAs<'de, Uuid> for Uuid
uuid-1
and serde_with
only.source§fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
fn deserialize_as<D>(deserializer: D) -> Result<Uuid, D::Error>where
D: Deserializer<'de>,
source§impl Ord for Uuid
impl Ord for Uuid
source§impl PartialEq for Uuid
impl PartialEq for Uuid
source§impl PartialOrd for Uuid
impl PartialOrd for Uuid
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl SerializeAs<Uuid> for Uuid
Available on crate features uuid-1
and serde_with-3
only.
impl SerializeAs<Uuid> for Uuid
uuid-1
and serde_with-3
only.source§fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
source§impl SerializeAs<Uuid> for Uuid
Available on crate features uuid-1
and serde_with
only.
impl SerializeAs<Uuid> for Uuid
uuid-1
and serde_with
only.source§fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
source§impl SerializeAs<Uuid> for Uuid
Available on crate features uuid-0_8
and serde_with-3
only.
impl SerializeAs<Uuid> for Uuid
uuid-0_8
and serde_with-3
only.source§fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
source§impl SerializeAs<Uuid> for Uuid
Available on crate features uuid-0_8
and serde_with
only.
impl SerializeAs<Uuid> for Uuid
uuid-0_8
and serde_with
only.source§fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
fn serialize_as<S>(source: &Uuid, serializer: S) -> Result<S::Ok, S::Error>where
S: Serializer,
impl Copy for Uuid
impl Eq for Uuid
impl StructuralPartialEq for Uuid
Auto Trait Implementations§
impl Freeze for Uuid
impl RefUnwindSafe for Uuid
impl Send for Uuid
impl Sync for Uuid
impl Unpin for Uuid
impl UnwindSafe for Uuid
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.source§impl<T> FmtForward for T
impl<T> FmtForward for T
source§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self
to use its Binary
implementation when Debug
-formatted.source§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self
to use its Display
implementation when
Debug
-formatted.source§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self
to use its LowerExp
implementation when
Debug
-formatted.source§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self
to use its LowerHex
implementation when
Debug
-formatted.source§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self
to use its Octal
implementation when Debug
-formatted.source§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self
to use its Pointer
implementation when
Debug
-formatted.source§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self
to use its UpperExp
implementation when
Debug
-formatted.source§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self
to use its UpperHex
implementation when
Debug
-formatted.source§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
source§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
source§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self
and passes that borrow into the pipe function. Read moresource§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
source§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
source§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self
, then passes self.as_ref()
into the pipe function.source§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self
, then passes self.as_mut()
into the pipe
function.source§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self
, then passes self.deref()
into the pipe function.source§impl<T> Tap for T
impl<T> Tap for T
source§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B>
of a value. Read moresource§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B>
of a value. Read moresource§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R>
view of a value. Read moresource§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R>
view of a value. Read moresource§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target
of a value. Read moresource§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap()
only in debug builds, and is erased in release builds.source§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow()
only in debug builds, and is erased in release
builds.source§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut()
only in debug builds, and is erased in release
builds.source§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref()
only in debug builds, and is erased in release
builds.source§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut()
only in debug builds, and is erased in release
builds.source§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref()
only in debug builds, and is erased in release
builds.