Struct pbr::ProgressBar
source · [−]pub struct ProgressBar<T: Write> {
pub total: u64,
pub is_finish: bool,
pub is_multibar: bool,
pub show_bar: bool,
pub show_speed: bool,
pub show_percent: bool,
pub show_counter: bool,
pub show_time_left: bool,
pub show_tick: bool,
pub show_message: bool,
/* private fields */
}
Fields
total: u64
is_finish: bool
is_multibar: bool
show_bar: bool
show_speed: bool
show_percent: bool
show_counter: bool
show_time_left: bool
show_tick: bool
show_message: bool
Implementations
sourceimpl ProgressBar<Stdout>
impl ProgressBar<Stdout>
sourcepub fn new(total: u64) -> ProgressBar<Stdout>ⓘNotable traits for ProgressBar<T>impl<T: Write> Write for ProgressBar<T>
pub fn new(total: u64) -> ProgressBar<Stdout>ⓘNotable traits for ProgressBar<T>impl<T: Write> Write for ProgressBar<T>
Create a new ProgressBar with default configuration.
Examples
use std::thread;
use pbr::{ProgressBar, Units};
let count = 1000;
let mut pb = ProgressBar::new(count);
pb.set_units(Units::Bytes);
for _ in 0..count {
pb.inc();
thread::sleep_ms(100);
}
sourceimpl<T: Write> ProgressBar<T>
impl<T: Write> ProgressBar<T>
sourcepub fn on(handle: T, total: u64) -> ProgressBar<T>ⓘNotable traits for ProgressBar<T>impl<T: Write> Write for ProgressBar<T>
pub fn on(handle: T, total: u64) -> ProgressBar<T>ⓘNotable traits for ProgressBar<T>impl<T: Write> Write for ProgressBar<T>
Create a new ProgressBar with default configuration but pass an arbitrary writer.
Examples
use std::thread;
use std::io::stderr;
use pbr::{ProgressBar, Units};
let count = 1000;
let mut pb = ProgressBar::on(stderr(), count);
pb.set_units(Units::Bytes);
for _ in 0..count {
pb.inc();
thread::sleep_ms(100);
}
sourcepub fn set_units(&mut self, u: Units)
pub fn set_units(&mut self, u: Units)
Set units, default is simple numbers
Examples
use pbr::{ProgressBar, Units};
let n_bytes = 100;
let mut pb = ProgressBar::new(n_bytes);
pb.set_units(Units::Bytes);
sourcepub fn format(&mut self, fmt: &str)
pub fn format(&mut self, fmt: &str)
Set custom format to the drawing bar, default is [=>-]
Examples
let mut pb = ProgressBar::new(...);
pb.format("[=>_]");
sourcepub fn message(&mut self, message: &str)
pub fn message(&mut self, message: &str)
Set message to display in the prefix, call with “” to stop printing a message.
All newlines are replaced with spaces.
Examples
let mut pb = ProgressBar::new(20);
for x in 0..20 {
match x {
0 => pb.message("Doing 1st Quarter"),
5 => pb.message("Doing 2nd Quarter"),
10 => pb.message("Doing 3rd Quarter"),
15 => pb.message("Doing 4th Quarter"),
}
pb.inc().
}
sourcepub fn tick_format(&mut self, tick_fmt: &str)
pub fn tick_format(&mut self, tick_fmt: &str)
Set tick format for the progressBar, default is \|/-
Format is not limited to 4 characters, any string can be used as a tick format (the tick will successively take the value of each char but won’t loop backwards).
Examples
let mut pb = ProgressBar::new(...);
pb.tick_format("▀▐▄▌")
sourcepub fn set_width(&mut self, w: Option<usize>)
pub fn set_width(&mut self, w: Option<usize>)
Set width, or None
for default.
Examples
let mut pb = ProgressBar::new(...);
pb.set_width(Some(80));
sourcepub fn set_max_refresh_rate(&mut self, w: Option<Duration>)
pub fn set_max_refresh_rate(&mut self, w: Option<Duration>)
Set max refresh rate, above which the progress bar will not redraw, or None
for none.
Examples
let mut pb = ProgressBar::new(...);
pb.set_max_refresh_rate(Some(Duration::from_millis(100)));
sourcepub fn tick(&mut self)
pub fn tick(&mut self)
Update progress bar even though no progress are made Useful to see if a program is bricked or just not doing any progress.
tick is not needed with add or inc as performed operation take place in draw function.
Examples
let mut pb = ProgressBar::new(...);
pb.inc();
for _ in ... {
...do something
pb.tick();
}
pb.finish();
sourcepub fn add(&mut self, i: u64) -> u64
pub fn add(&mut self, i: u64) -> u64
Add to current value
Examples
use pbr::ProgressBar;
let mut pb = ProgressBar::new(10);
pb.add(5);
pb.finish();
sourcepub fn set(&mut self, i: u64) -> u64
pub fn set(&mut self, i: u64) -> u64
Manually set the current value of the bar
Examples
use pbr::ProgressBar;
let mut pb = ProgressBar::new(10);
pb.set(8);
pb.finish();
sourcepub fn reset_start_time(&mut self)
pub fn reset_start_time(&mut self)
Resets the start time to now
sourcepub fn finish(&mut self)
pub fn finish(&mut self)
Calling finish manually will set current to total and draw the last time
sourcepub fn finish_print(&mut self, s: &str)
pub fn finish_print(&mut self, s: &str)
Call finish and write string s
that will replace the progress bar.
sourcepub fn finish_println(&mut self, s: &str)
pub fn finish_println(&mut self, s: &str)
Call finish and write string s
below the progress bar.
If the ProgressBar is part of MultiBar instance, you should use
finish_print
to print message.
Trait Implementations
sourceimpl<T: Write> Write for ProgressBar<T>
impl<T: Write> Write for ProgressBar<T>
sourcefn write(&mut self, buf: &[u8]) -> Result<usize>
fn write(&mut self, buf: &[u8]) -> Result<usize>
Write a buffer into this writer, returning how many bytes were written. Read more
sourcefn flush(&mut self) -> Result<()>
fn flush(&mut self) -> Result<()>
Flush this output stream, ensuring that all intermediately buffered contents reach their destination. Read more
sourcefn is_write_vectored(&self) -> bool
fn is_write_vectored(&self) -> bool
can_vector
)Determines if this Write
r has an efficient write_vectored
implementation. Read more
1.0.0 · sourcefn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>
Attempts to write an entire buffer into this writer. Read more
sourcefn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>
write_all_vectored
)Attempts to write multiple buffers into this writer. Read more
Auto Trait Implementations
impl<T> RefUnwindSafe for ProgressBar<T> where
T: RefUnwindSafe,
impl<T> Send for ProgressBar<T> where
T: Send,
impl<T> Sync for ProgressBar<T> where
T: Sync,
impl<T> Unpin for ProgressBar<T> where
T: Unpin,
impl<T> UnwindSafe for ProgressBar<T> where
T: UnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more