pub struct UniqueNameGenerator { /* private fields */ }Expand description
Useful to generate a list of unique valid variable names
Implementations§
Source§impl UniqueNameGenerator
impl UniqueNameGenerator
Sourcepub fn add_variable<'a>(&mut self, name: &'a str) -> Cow<'a, str>
pub fn add_variable<'a>(&mut self, name: &'a str) -> Cow<'a, str>
Create a new variable. Returns a valid variable name, never returned before by this generator.
use lp_solvers::util::UniqueNameGenerator;
let mut gen = UniqueNameGenerator::default();
assert_eq!(gen.add_variable("x"), "x");
assert_eq!(gen.add_variable("y"), "y");
assert_eq!(gen.add_variable("z"), "z");
assert_eq!(gen.add_variable("!#?/"), "v"); // "!#?/" is not a valid variable name
assert_eq!(gen.add_variable("x"), "x2"); // A variable with name x is already presentTrait Implementations§
Source§impl Debug for UniqueNameGenerator
impl Debug for UniqueNameGenerator
Source§impl Default for UniqueNameGenerator
impl Default for UniqueNameGenerator
Source§fn default() -> UniqueNameGenerator
fn default() -> UniqueNameGenerator
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for UniqueNameGenerator
impl RefUnwindSafe for UniqueNameGenerator
impl Send for UniqueNameGenerator
impl Sync for UniqueNameGenerator
impl Unpin for UniqueNameGenerator
impl UnwindSafe for UniqueNameGenerator
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more