Struct osrand::RandomString

source ·
pub struct RandomString { /* private fields */ }
Expand description

A random string generator which gets it’s entropy from an internal BufReader wrapping the OS RNG device. This generator may be re-used as many times as required.

Implementations§

source§

impl RandomString

source

pub fn new(flags: &[Flags]) -> Result<Self, Error>

Creates a new random string generator, which gets it’s randomness from an internal BufReader around the OS RNG device. If flags is empty, the full dictionary will be used.

§Errors

Returns an io error if there is a problem reading from the RNG device

source

pub fn with_dict(dict: Vec<char>) -> Result<Self, Error>

Creates a new random string generator with the given dictionary, which gets it’s randomness from an internal BufReader around the OS RNG device. If dict is empty, the full dictionary will be used.

§Errors

Returns an io error if there is a problem reading from the RNG device

source

pub fn from_parts(rng: BufRng, dict: Vec<char>) -> Self

Creates a new random string generator from the provided BufRng rngand theDictionary` dict.

§Errors

Returns an io error if there is a problem reading from the RNG device

source

pub fn get_dictionary(&self) -> &[char]

Gets the dictionary being used by the generator

source

pub fn set_dictionary(&mut self, dict: Vec<char>)

Sets the dictionary to be used for new random strings

source

pub fn gen(&mut self, len: usize) -> Result<String, Error>

Generates a random string of the given size

§Errors

Returns an io error if there is a problem reading from the RNG device

source

pub fn append(&mut self, s: String, len: usize) -> Result<String, Error>

Appends len random characters to string s and returns the result

§Errors

Returns an io error if there is a problem reading from the RNG device

Trait Implementations§

source§

impl From<BufRng> for RandomString

source§

fn from(value: BufRng) -> Self

Converts to this type from the input type.
source§

impl From<RandomString> for BufRng

source§

fn from(value: RandomString) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

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, U> TryFrom<U> for T
where U: Into<T>,

§

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>,

§

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.