Struct rocket_contrib::uuid::Uuid [−][src]
pub struct Uuid(_);
Expand description
Implements FromParam
and FromFormValue
for accepting UUID values.
Usage
To use, add the uuid
feature to the rocket_contrib
dependencies section
of your Cargo.toml
:
[dependencies.rocket_contrib]
version = "0.4.10"
default-features = false
features = ["uuid"]
You can use the Uuid
type directly as a target of a dynamic parameter:
use rocket_contrib::uuid::Uuid; #[get("/users/<id>")] fn user(id: Uuid) -> String { format!("We found: {}", id) }
You can also use the Uuid
as a form value, including in query strings:
use rocket_contrib::uuid::Uuid; #[get("/user?<id>")] fn user(id: Uuid) -> String { format!("User ID: {}", id) }
Implementations
impl Uuid
[src]
impl Uuid
[src]pub fn into_inner(self) -> Uuid
[src]
pub fn into_inner(self) -> Uuid
[src]Consumes the Uuid wrapper, returning the underlying Uuid
type.
Example
use rocket_contrib::uuid::{uuid_crate, Uuid}; let uuid_str = "c1aa1e3b-9614-4895-9ebd-705255fa5bc2"; let real_uuid = uuid_crate::Uuid::from_str(uuid_str).unwrap(); let my_inner_uuid = Uuid::from_str(uuid_str) .expect("valid UUID string") .into_inner(); assert_eq!(real_uuid, my_inner_uuid);
Methods from Deref<Target = Uuid>
pub fn to_hyphenated_ref(&self) -> HyphenatedRef<'_>
[src]
pub fn to_hyphenated_ref(&self) -> HyphenatedRef<'_>
[src]Creates a HyphenatedRef
instance from a Uuid
reference.
pub fn to_simple_ref(&self) -> SimpleRef<'_>
[src]
pub fn to_simple_ref(&self) -> SimpleRef<'_>
[src]pub fn to_urn_ref(&self) -> UrnRef<'_>
[src]
pub fn to_urn_ref(&self) -> UrnRef<'_>
[src]pub const NAMESPACE_DNS: Uuid
[src]
pub const NAMESPACE_OID: Uuid
[src]
pub const NAMESPACE_URL: Uuid
[src]
pub const NAMESPACE_X500: Uuid
[src]
pub fn get_variant(&self) -> Option<Variant>
[src]
pub fn get_variant(&self) -> Option<Variant>
[src]Returns the variant of the Uuid
structure.
This determines the interpretation of the structure of the UUID. Currently only the RFC4122 variant is generated by this module.
pub fn get_version_num(&self) -> usize
[src]
pub fn get_version_num(&self) -> usize
[src]Returns the version number of the Uuid
.
This represents the algorithm used to generate the contents.
Currently only the Random (V4) algorithm is supported by this module. There are security and privacy implications for using older versions - see Wikipedia: Universally Unique Identifier for details.
pub fn get_version(&self) -> Option<Version>
[src]
pub fn get_version(&self) -> Option<Version>
[src]Returns the version of the Uuid
.
This represents the algorithm used to generate the contents
pub fn as_fields(&self) -> (u32, u16, u16, &[u8; 8])
[src]
pub fn as_fields(&self) -> (u32, u16, u16, &[u8; 8])
[src]Returns the four field values of the UUID in big-endian order.
These values can be passed to the from_fields()
method to get the
original Uuid
back.
- The first field value represents the first group of (eight) hex
digits, taken as a big-endian
u32
value. For V1 UUIDs, this field represents the low 32 bits of the timestamp. - The second field value represents the second group of (four) hex
digits, taken as a big-endian
u16
value. For V1 UUIDs, this field represents the middle 16 bits of the timestamp. - The third field value represents the third group of (four) hex digits,
taken as a big-endian
u16
value. The 4 most significant bits give the UUID version, and for V1 UUIDs, the last 12 bits represent the high 12 bits of the timestamp. - The last field value represents the last two groups of four and twelve hex digits, taken in order. The first 1-3 bits of this indicate the UUID variant, and for V1 UUIDs, the next 13-15 bits indicate the clock sequence and the last 48 bits indicate the node ID.
Examples
use uuid::Uuid; let uuid = Uuid::nil(); assert_eq!(uuid.as_fields(), (0, 0, 0, &[0u8; 8])); let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap(); assert_eq!( uuid.as_fields(), ( 0x936DA01F, 0x9ABD, 0x4D9D, b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8" ) );
pub fn to_fields_le(&self) -> (u32, u16, u16, &[u8; 8])
[src]
pub fn to_fields_le(&self) -> (u32, u16, u16, &[u8; 8])
[src]Returns the four field values of the UUID in little-endian order.
The bytes in the returned integer fields will be converted from big-endian order.
Examples
use uuid::Uuid; let uuid = Uuid::parse_str("936DA01F-9ABD-4D9D-80C7-02AF85C822A8").unwrap(); assert_eq!( uuid.to_fields_le(), ( 0x1FA06D93, 0xBD9A, 0x9D4D, b"\x80\xC7\x02\xAF\x85\xC8\x22\xA8" ) );
pub fn as_bytes(&self) -> &[u8; 16]
[src]
pub fn as_bytes(&self) -> &[u8; 16]
[src]Returns an array of 16 octets containing the UUID data.
This method wraps Uuid::as_bytes
Trait Implementations
impl<'v> FromFormValue<'v> for Uuid
[src]
impl<'v> FromFormValue<'v> for Uuid
[src]fn from_form_value(form_value: &'v RawStr) -> Result<Uuid, &'v RawStr>
[src]
fn from_form_value(form_value: &'v RawStr) -> Result<Uuid, &'v RawStr>
[src]A value is successfully parsed if form_value
is a properly formatted
Uuid. Otherwise, the raw form value is returned.
impl<'a> FromParam<'a> for Uuid
[src]
impl<'a> FromParam<'a> for Uuid
[src]fn from_param(param: &'a RawStr) -> Result<Uuid, Self::Error>
[src]
fn from_param(param: &'a RawStr) -> Result<Uuid, Self::Error>
[src]A value is successfully parsed if param
is a properly formatted Uuid.
Otherwise, a ParseError
is returned.
type Error = ParseError
type Error = ParseError
The associated error to be returned if parsing/validation fails.
impl Ord for Uuid
[src]
impl Ord for Uuid
[src]impl PartialOrd<Uuid> for Uuid
[src]
impl PartialOrd<Uuid> for Uuid
[src]fn partial_cmp(&self, other: &Uuid) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &Uuid) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn lt(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]
#[must_use]fn le(&self, other: &Rhs) -> bool
1.0.0[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl Copy for Uuid
[src]
impl Eq for Uuid
[src]
impl StructuralEq for Uuid
[src]
impl StructuralPartialEq for Uuid
[src]
Auto Trait Implementations
impl RefUnwindSafe for Uuid
impl Send for Uuid
impl Sync for Uuid
impl Unpin for Uuid
impl UnwindSafe for Uuid
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]
impl<Q, K> Equivalent<K> for Q where
K: Borrow<Q> + ?Sized,
Q: Eq + ?Sized,
[src]pub fn equivalent(&self, key: &K) -> bool
[src]
pub fn equivalent(&self, key: &K) -> bool
[src]Compare self to key
and return true
if they are equal.
impl<T> IntoCollection<T> for T
impl<T> IntoCollection<T> for T
pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
Converts self
into a collection.
pub fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
F: FnMut(T) -> U,
A: Array<Item = U>,
F: FnMut(T) -> U,
A: Array<Item = U>,
impl<T> IntoSql for T
[src]
impl<T> IntoSql for T
[src]fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
[src]
fn into_sql<T>(self) -> Self::Expression where
Self: AsExpression<T>,
[src]Convert self
to an expression for Diesel’s query builder. Read more
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
[src]
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression where
&'a Self: AsExpression<T>,
[src]Convert &self
to an expression for Diesel’s query builder. Read more
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
type Output = T
Should always be Self
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,