pub struct SequenceBuilder { /* private fields */ }Expand description
use letter_sequence::SequenceBuilder;
use std::convert::TryFrom;
let mut seq = SequenceBuilder::try_from("Z")
.unwrap()
.upper()
.build()
.unwrap();
// First call to .next() returns starting element
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "Z" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "AA" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "AB" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "AC" );This time with .max_render_capacity() set, and lowercase
use letter_sequence::SequenceBuilder;
use std::convert::TryFrom;
let mut seq = SequenceBuilder::try_from('y')
.unwrap()
.lower()
.max_render_capacity(1)
.build()
.unwrap();
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "y" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "z" );
// Without .max_render_capacity(1) this would return "aa"
let elem = seq.next();
assert_eq!( elem, None );Also boring number sequence
use letter_sequence::SequenceBuilder;
use std::convert::TryFrom;
let mut seq = SequenceBuilder::from(102)
.numeric()
.build()
.unwrap();
let elem = seq.next();
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "103" );You can also set the step!
use letter_sequence::SequenceBuilder;
use std::convert::TryFrom;
let mut seq = SequenceBuilder::from(0)
.numeric()
.step(2)
.build()
.unwrap();
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "0" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "2" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "4" );
let mut seq = SequenceBuilder::try_from("A")
.unwrap()
.step(2)
.upper()
.build()
.unwrap();
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "A" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "C" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "E" );Implementations§
Source§impl SequenceBuilder
impl SequenceBuilder
pub fn new() -> Self
Sourcepub fn end(self, end: u64) -> Self
pub fn end(self, end: u64) -> Self
Sets the end, default half-open (exclusive end), see .inclusive()
Sourcepub fn max_render_capacity(self, chars: u8) -> Self
pub fn max_render_capacity(self, chars: u8) -> Self
Limits the chacters in rendered output, incrementing past limit generates error. default: unlimited
use letter_sequence::{ SequenceBuilder, SequenceError };
use std::convert::TryFrom;
let mut seq = SequenceBuilder::try_from("y").unwrap().max_render_capacity(1).build().unwrap();
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "y" );
let elem = seq.next().unwrap();
assert_eq!( elem.to_string(), "z" );
assert_eq!( seq.next(), None );
assert_eq!( seq.next(), None );Sourcepub fn min_render_length(self, chars: u8) -> Self
pub fn min_render_length(self, chars: u8) -> Self
Limits the minimum width of the rendered output, this only works on numeric which effectively zero-pads the output.
pub fn build(self) -> Result<Sequence, SequenceError>
Trait Implementations§
Source§impl Debug for SequenceBuilder
impl Debug for SequenceBuilder
Source§impl Default for SequenceBuilder
impl Default for SequenceBuilder
Source§impl From<u64> for SequenceBuilder
impl From<u64> for SequenceBuilder
Source§impl TryFrom<&str> for SequenceBuilder
// use letter_sequence::SequenceBuilder;
// use std::convert::TryFrom;
// assert_eq!(
// SequenceBuilder::try_from("00001")
// .unwrap()
// .build()
// .unwrap()
// .to_string(),
// "1"
// );
// assert_eq!(
// SequenceBuilder::try_from("00001")
// .unwrap()
// .upper()
// .build()
// .unwrap()
// .to_string(),
// "B"
// );
impl TryFrom<&str> for SequenceBuilder
// use letter_sequence::SequenceBuilder;
// use std::convert::TryFrom;
// assert_eq!(
// SequenceBuilder::try_from("00001")
// .unwrap()
// .build()
// .unwrap()
// .to_string(),
// "1"
// );
// assert_eq!(
// SequenceBuilder::try_from("00001")
// .unwrap()
// .upper()
// .build()
// .unwrap()
// .to_string(),
// "B"
// );Auto Trait Implementations§
impl Freeze for SequenceBuilder
impl RefUnwindSafe for SequenceBuilder
impl Send for SequenceBuilder
impl Sync for SequenceBuilder
impl Unpin for SequenceBuilder
impl UnwindSafe for SequenceBuilder
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