macro_toolset::string

Struct RandHexStr

Source
pub struct RandHexStr<const L: usize = 16, const RP: usize = 1, const LP: usize = 0>;
๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.
Expand description

Randon hex-like string, with fix length.

For better performance, the underlying random number is generated by xorshift algorithm then converted to hex string with NumStr.

By default, the length is 16.

ยงGeneric Parameters

  • L: The length of the string. Max 16 (u64).
  • RP: Repeat L for RP times.
  • LP: Lefted length. Max 16.

For example, if you need a string with length 56, you may specify L as 16, RP as 56 / 16 = 3, and LP as 56 % 16 = 8.

Since #![feature(generic_const_exprs)] is not stable, we have to make use of these complex const generics.

Notice: will check if params are valid when you push this into the StringExt, or panic in debug mode, work normally but slower in release mode.

Implementationsยง

Sourceยง

impl RandHexStr

Source

pub const fn new_default() -> Self

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.

Create a new RandHexStr and generate simple random hex-like string with length 16 (default).

ยงExample
let rand_str = RandHexStr::new_default().to_string_ext();
assert_eq!(rand_str.len(), 16);
Sourceยง

impl<const L: usize, const RP: usize, const LP: usize> RandHexStr<L, RP, LP>

Source

pub const fn new() -> Self

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.

Create a new RandStr and generate random hex-like string with length setting by L, RP, LP.

ยงExample
let rand_str = RandHexStr::<16, 3, 8>::new().to_string_ext();
assert_eq!(rand_str.len(), 56);
Source

pub const fn with_l<const NL: usize>(self) -> RandHexStr<NL, RP, LP>

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.

Set L.

You may prefer RandHexStr::<L, RP, LP>::new.

Source

pub const fn with_rp<const NRP: usize>(self) -> RandHexStr<L, NRP, LP>

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.

Set RP.

You may prefer RandHexStr::<L, RP, LP>::new.

Source

pub const fn with_lp<const NLP: usize>(self) -> RandHexStr<L, RP, NLP>

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.

Set LP.

You may prefer RandHexStr::<L, RP, LP>::new.

Trait Implementationsยง

Sourceยง

impl<const L: usize, const RP: usize, const LP: usize> Clone for RandHexStr<L, RP, LP>

Sourceยง

fn clone(&self) -> RandHexStr<L, RP, LP>

Returns a copy of the value. Read more
1.0.0 ยท Sourceยง

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Sourceยง

impl<const L: usize, const RP: usize, const LP: usize> Debug for RandHexStr<L, RP, LP>

Sourceยง

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Sourceยง

impl<const L: usize, const RP: usize, const LP: usize> Default for RandHexStr<L, RP, LP>

Sourceยง

fn default() -> RandHexStr<L, RP, LP>

Returns the โ€œdefault valueโ€ for a type. Read more
Sourceยง

impl<const L: usize, const RP: usize, const LP: usize> StringExtT for RandHexStr<L, RP, LP>

Sourceยง

fn push_to_string(self, string: &mut Vec<u8>)

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.
Push the value to the string.
Sourceยง

fn push_to_string_with_separator( self, string: &mut Vec<u8>, separator: impl SeparatorT, )

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.
Push the value to the string with a separator. Read more
Sourceยง

fn to_string_ext(self) -> String

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.
Encode the value to the string.
Sourceยง

fn to_string_ext_with_sep(self, separator: impl SeparatorT) -> String

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.
Push the value to the string with separator Read more
Sourceยง

fn with_prefix<P: StringExtT>(self, prefix: P) -> impl StringExtT

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.
With prefix. Read more
Sourceยง

fn with_suffix<S: StringExtT>(self, suffix: S) -> impl StringExtT

๐Ÿ‘ŽDeprecated since 0.8.0-rc.1: Use string_v2 instead, v1 will be removed in 0.9.0.
With suffix. Read more
Sourceยง

impl<const L: usize, const RP: usize, const LP: usize> Copy for RandHexStr<L, RP, LP>

Auto Trait Implementationsยง

ยง

impl<const L: usize, const RP: usize, const LP: usize> Freeze for RandHexStr<L, RP, LP>

ยง

impl<const L: usize, const RP: usize, const LP: usize> RefUnwindSafe for RandHexStr<L, RP, LP>

ยง

impl<const L: usize, const RP: usize, const LP: usize> Send for RandHexStr<L, RP, LP>

ยง

impl<const L: usize, const RP: usize, const LP: usize> Sync for RandHexStr<L, RP, LP>

ยง

impl<const L: usize, const RP: usize, const LP: usize> Unpin for RandHexStr<L, RP, LP>

ยง

impl<const L: usize, const RP: usize, const LP: usize> UnwindSafe for RandHexStr<L, RP, LP>

Blanket Implementationsยง

Sourceยง

impl<T> Any for T
where T: 'static + ?Sized,

Sourceยง

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Sourceยง

impl<T> Borrow<T> for T
where T: ?Sized,

Sourceยง

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Sourceยง

impl<T> BorrowMut<T> for T
where T: ?Sized,

Sourceยง

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Sourceยง

impl<T> CloneToUninit for T
where T: Clone,

Sourceยง

unsafe fn clone_to_uninit(&self, dst: *mut u8)

๐Ÿ”ฌThis is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Sourceยง

impl<T> From<T> for T

Sourceยง

fn from(t: T) -> T

Returns the argument unchanged.

Sourceยง

impl<T> FromRef<T> for T
where T: Clone,

Sourceยง

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
Sourceยง

impl<T, U> Into<U> for T
where U: From<T>,

Sourceยง

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Sourceยง

impl<T> ToOwned for T
where T: Clone,

Sourceยง

type Owned = T

The resulting type after obtaining ownership.
Sourceยง

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Sourceยง

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Sourceยง

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Sourceยง

type Error = Infallible

The type returned in the event of a conversion error.
Sourceยง

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Sourceยง

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Sourceยง

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Sourceยง

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Sourceยง

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Sourceยง

fn vzip(self) -> V

Sourceยง

impl<T> ErasedDestructor for T
where T: 'static,

Sourceยง

impl<T> MaybeSendSync for T