1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*!
An implementation that provides random 128-bit unsigned integer values.
Using randomly generated UUIDs these are converted to `u128` values for equality testing
and ease of storage. This implementation depends upon the [uuid](https://crates.io/crates/uuid)
crate.
# Example
```rust
use unique_id::{Generator, GeneratorWithInvalid};
use unique_id::random::RandomGenerator;
let gen = RandomGenerator::default();
let id = gen.next_id();
assert_ne!(id, RandomGenerator::invalid_id())
```
*/
use crate::;
use Uuid;
// ------------------------------------------------------------------------------------------------
// Public Types
// ------------------------------------------------------------------------------------------------
///
/// Generates random u128 values generated from UUIDs. This implementation does provide an
/// invalid value, `0 as u128`.
///
/// Provides implementations of:
///
/// * `Generator` - returns random `u128` values.
/// * `GeneratorWithInvalid` - returns an invalid, as an ID, `u128` value.
///
;
// ------------------------------------------------------------------------------------------------
// Implementations
// ------------------------------------------------------------------------------------------------