Struct uuid::Uuid
[−]
[src]
pub struct Uuid { // some fields omitted }
A Universally Unique Identifier (UUID)
Methods
impl Uuid
fn nil() -> Uuid
Returns a nil or empty UUID (containing all zeroes)
fn new(v: UuidVersion) -> Option<Uuid>
Create a new UUID of the specified version.
Note that not all versions can be generated currently and None
will be
returned if the specified version cannot be generated.
To generate a random UUID (UuidVersion::Random
), then the rand
feature must be enabled for this crate.
fn new_v4() -> Uuid
Creates a new random UUID
Uses the rand
module's default RNG task as the source
of random numbers. Use the rand::Rand trait to supply
a custom generator if required.
fn from_fields(d1: u32, d2: u16, d3: u16, d4: &[u8]) -> Result<Uuid, ParseError>
Creates a UUID using the supplied field values
Arguments
d1
A 32-bit wordd2
A 16-bit wordd3
A 16-bit wordd4
Array of 8 octets
Errors
This function will return an error if d4
's length is not 8 bytes.
fn from_bytes(b: &[u8]) -> Result<Uuid, ParseError>
fn get_variant(&self) -> Option<UuidVariant>
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.
fn get_version_num(&self) -> usize
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.
fn get_version(&self) -> Option<UuidVersion>
Returns the version of the UUID
This represents the algorithm used to generate the contents
fn as_bytes(&self) -> &[u8; 16]
Return an array of 16 octets containing the UUID data
fn simple(&self) -> Simple
Returns a wrapper which when formatted via fmt::Display
will format a
string of 32 hexadecimal digits.
Examples
use uuid::Uuid; let uuid = Uuid::nil(); assert_eq!(uuid.simple().to_string(), "00000000000000000000000000000000");
fn hyphenated(&self) -> Hyphenated
Returns a wrapper which when formatted via fmt::Display
will format a
string of hexadecimal digits separated into gropus with a hyphen.
Examples
use uuid::Uuid; let uuid = Uuid::nil(); assert_eq!(uuid.hyphenated().to_string(), "00000000-0000-0000-0000-000000000000");
fn urn(&self) -> Urn
Returns a wrapper which when formatted via fmt::Display
will format a
string of the UUID as a full URN string.
Examples
use uuid::Uuid; let uuid = Uuid::nil(); assert_eq!(uuid.urn().to_string(), "urn:uuid:00000000-0000-0000-0000-000000000000");
fn parse_str(input: &str) -> Result<Uuid, ParseError>
Parses a UUID from a string of hexadecimal digits with optional hyphens
Any of the formats generated by this module (simple, hyphenated, urn) are supported by this parsing function.
fn is_nil(&self) -> bool
Tests if the UUID is nil
Trait Implementations
impl Default for Uuid
impl FromStr for Uuid
type Err = ParseError
fn from_str(us: &str) -> Result<Uuid, ParseError>
impl Debug for Uuid
impl Display for Uuid
impl Hash for Uuid
fn hash<S: Hasher>(&self, state: &mut S)
1.3.0fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
impl Rand for Uuid
Generates a random instance of UUID (V4 conformant)