The cl-progress-bar Reference Manual

This is the cl-progress-bar Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 15:35:20 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-progress-bar

Display progress bars directly in REPL.

Maintainer

Marek Kochanowicz

Author

Marek Kochanowicz

License

MIT

Dependencies
  • bordeaux-threads (system).
  • documentation-utils-extensions (system).
Source

cl-progress-bar.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 cl-progress-bar/cl-progress-bar.asd

Source

cl-progress-bar.asd.

Parent Component

cl-progress-bar (system).

ASDF Systems

cl-progress-bar.


3.1.2 cl-progress-bar/package.lisp

Source

cl-progress-bar.asd.

Parent Component

cl-progress-bar (system).

Packages

3.1.3 cl-progress-bar/progress.lisp

Dependency

package.lisp (file).

Source

cl-progress-bar.asd.

Parent Component

cl-progress-bar (system).

Public Interface
Internals

3.1.4 cl-progress-bar/control.lisp

Dependency

progress.lisp (file).

Source

cl-progress-bar.asd.

Parent Component

cl-progress-bar (system).

Public Interface
Internals

make-progress-bar (function).


3.1.5 cl-progress-bar/docstrings.lisp

Dependency

control.lisp (file).

Source

cl-progress-bar.asd.

Parent Component

cl-progress-bar (system).


4 Packages

Packages are listed by definition order.


4.1 cl-progress-bar.progress

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

4.2 cl-progress-bar

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

make-progress-bar (function).


5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Special variables

Special Variable: *progress-bar*

Description:
Current progress bar or NIL if there is no progress bar active. Should not be manipulated manually.

Package

cl-progress-bar.

Source

control.lisp.

Special Variable: *progress-bar-enabled*

Description:
Boolean. T if progress bar should be outputed.

Package

cl-progress-bar.

Source

control.lisp.


5.1.2 Macros

Macro: with-progress-bar ((steps-count description &rest desc-args) &body body)

Description:
Macro. Build active progress bar. Requires size and description that will be printed out to the REPL. If *progress-bar-endabled* is nil or there is another progress bar active already progress bar will not be shown.

Notes:
Because with-progress-bar handles cases where another progress-bar is active it is generally safe to nest code with this macro on call stack. However, top level with-progress-bar should contain correct steps-count.

Package

cl-progress-bar.

Source

control.lisp.


5.1.3 Ordinary functions

Function: update (unit-count &optional progress-bar)

Description:
Notify progress bar about step completion.

Thread Safety:
This function is thread safe.

Package

cl-progress-bar.

Source

control.lisp.


5.1.4 Generic functions

Generic Function: finish-display (progress-bar)
Package

cl-progress-bar.progress.

Source

progress.lisp.

Methods
Method: finish-display (progress-bar)
Generic Reader: mutex (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: mutex ((progress-bar progress-bar))

Just a mutex, allows progress bar to be thread safe.

Source

progress.lisp.

Target Slot

mutex.

Generic Function: start-display (progress-bar)
Package

cl-progress-bar.progress.

Source

progress.lisp.

Methods
Method: start-display (progress-bar)
Generic Function: update-progress (progress-bar unit-count)
Package

cl-progress-bar.progress.

Source

progress.lisp.

Methods
Method: update-progress :after ((progress-bar uncertain-size-progress-bar) unit-count)
Method: update-progress (progress-bar unit-count)

5.1.5 Classes

Class: progress-bar
Package

cl-progress-bar.progress.

Source

progress.lisp.

Direct subclasses

uncertain-size-progress-bar.

Direct methods
Direct Default Initargs
InitargValue
:mutex(make-lock)
:progress-character=
:character-count50
:characters-so-far0
:update-interval(floor internal-time-units-per-second 4)
:last-update-time0
:total0
:progress0
:pending0
Direct slots
Slot: start-time
Initargs

:start-time

Readers

start-time.

Writers

(setf start-time).

Slot: end-time
Initargs

:end-time

Readers

end-time.

Writers

(setf end-time).

Slot: progress-character
Initargs

:progress-character

Readers

progress-character.

Writers

(setf progress-character).

Slot: character-count

How many characters wide is the progress bar?

Initargs

:character-count

Readers

character-count.

Writers

(setf character-count).

Slot: characters-so-far
Initargs

:characters-so-far

Readers

characters-so-far.

Writers

(setf characters-so-far).

Slot: update-interval

Update the progress bar display after this many internal-time units.

Initargs

:update-interval

Readers

update-interval.

Writers

(setf update-interval).

Slot: last-update-time

The display was last updated at this time.

Initargs

:last-update-time

Readers

last-update-time.

Writers

(setf last-update-time).

Slot: total

The total number of units tracked by this progress bar.

Initargs

:total

Readers

total.

Writers

(setf total).

Slot: progress

How far in the progress are we?

Initargs

:progress

Readers

progress.

Writers

(setf progress).

Slot: mutex

Just a mutex, allows progress bar to be thread safe.

Initargs

:mutex

Readers

mutex.

Writers

This slot is read-only.

Slot: pending

How many raw units should be tracked in the next display update?

Initargs

:pending

Readers

pending.

Writers

(setf pending).

Class: uncertain-size-progress-bar
Package

cl-progress-bar.progress.

Source

progress.lisp.

Direct superclasses

progress-bar.

Direct methods
Direct Default Initargs
InitargValue
:total0
:progress-char-index0
:units-per-char(floor (expt 1024 2) 50)
Direct slots
Slot: progress-char-index
Initargs

:progress-char-index

Readers

progress-char-index.

Writers

(setf progress-char-index).

Slot: units-per-char
Initargs

:units-per-char

Readers

units-per-char.

Writers

(setf units-per-char).


5.2 Internals


5.2.1 Constants

Constant: +seconds-in-one-hour+
Package

cl-progress-bar.progress.

Source

progress.lisp.

Constant: +seconds-in-one-minute+
Package

cl-progress-bar.progress.

Source

progress.lisp.


5.2.2 Special variables

Special Variable: *uncertain-progress-chars*
Package

cl-progress-bar.progress.

Source

progress.lisp.


5.2.3 Ordinary functions

Function: make-progress-bar (total)
Package

cl-progress-bar.

Source

control.lisp.

Function: time-in-seconds-minutes-hours (in-seconds)
Package

cl-progress-bar.progress.

Source

progress.lisp.


5.2.4 Generic functions

Generic Reader: character-count (object)
Generic Writer: (setf character-count) (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: character-count ((progress-bar progress-bar))
Writer Method: (setf character-count) ((progress-bar progress-bar))

How many characters wide is the progress bar?

Source

progress.lisp.

Target Slot

character-count.

Generic Reader: characters-so-far (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: characters-so-far ((progress-bar progress-bar))

automatically generated reader method

Source

progress.lisp.

Target Slot

characters-so-far.

Generic Writer: (setf characters-so-far) (object)
Package

cl-progress-bar.progress.

Methods
Writer Method: (setf characters-so-far) ((progress-bar progress-bar))

automatically generated writer method

Source

progress.lisp.

Target Slot

characters-so-far.

Generic Function: elapsed-time (progress-bar)
Package

cl-progress-bar.progress.

Source

progress.lisp.

Methods
Method: elapsed-time (progress-bar)
Generic Reader: end-time (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: end-time ((progress-bar progress-bar))

automatically generated reader method

Source

progress.lisp.

Target Slot

end-time.

Generic Writer: (setf end-time) (object)
Package

cl-progress-bar.progress.

Methods
Writer Method: (setf end-time) ((progress-bar progress-bar))

automatically generated writer method

Source

progress.lisp.

Target Slot

end-time.

Generic Reader: last-update-time (object)
Generic Writer: (setf last-update-time) (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: last-update-time ((progress-bar progress-bar))
Writer Method: (setf last-update-time) ((progress-bar progress-bar))

The display was last updated at this time.

Source

progress.lisp.

Target Slot

last-update-time.

Generic Reader: pending (object)
Generic Writer: (setf pending) (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: pending ((progress-bar progress-bar))
Writer Method: (setf pending) ((progress-bar progress-bar))

How many raw units should be tracked in the next display update?

Source

progress.lisp.

Target Slot

pending.

Generic Reader: progress (object)
Generic Writer: (setf progress) (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: progress ((progress-bar progress-bar))
Writer Method: (setf progress) ((progress-bar progress-bar))

How far in the progress are we?

Source

progress.lisp.

Target Slot

progress.

Generic Reader: progress-char-index (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: progress-char-index ((uncertain-size-progress-bar uncertain-size-progress-bar))

automatically generated reader method

Source

progress.lisp.

Target Slot

progress-char-index.

Generic Writer: (setf progress-char-index) (object)
Package

cl-progress-bar.progress.

Methods
Writer Method: (setf progress-char-index) ((uncertain-size-progress-bar uncertain-size-progress-bar))

automatically generated writer method

Source

progress.lisp.

Target Slot

progress-char-index.

Generic Function: progress-character (object)
Package

cl-progress-bar.progress.

Methods
Method: progress-character ((progress-bar uncertain-size-progress-bar))
Source

progress.lisp.

Reader Method: progress-character ((progress-bar progress-bar))

automatically generated reader method

Source

progress.lisp.

Target Slot

progress-character.

Generic Writer: (setf progress-character) (object)
Package

cl-progress-bar.progress.

Methods
Writer Method: (setf progress-character) ((progress-bar progress-bar))

automatically generated writer method

Source

progress.lisp.

Target Slot

progress-character.

Generic Reader: start-time (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: start-time ((progress-bar progress-bar))

automatically generated reader method

Source

progress.lisp.

Target Slot

start-time.

Generic Writer: (setf start-time) (object)
Package

cl-progress-bar.progress.

Methods
Writer Method: (setf start-time) ((progress-bar progress-bar))

automatically generated writer method

Source

progress.lisp.

Target Slot

start-time.

Generic Reader: total (object)
Generic Writer: (setf total) (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: total ((progress-bar progress-bar))
Writer Method: (setf total) ((progress-bar progress-bar))

The total number of units tracked by this progress bar.

Source

progress.lisp.

Target Slot

total.

Generic Reader: units-per-char (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: units-per-char ((uncertain-size-progress-bar uncertain-size-progress-bar))

automatically generated reader method

Source

progress.lisp.

Target Slot

units-per-char.

Generic Writer: (setf units-per-char) (object)
Package

cl-progress-bar.progress.

Methods
Writer Method: (setf units-per-char) ((uncertain-size-progress-bar uncertain-size-progress-bar))

automatically generated writer method

Source

progress.lisp.

Target Slot

units-per-char.

Generic Function: units-per-second (progress-bar)
Package

cl-progress-bar.progress.

Source

progress.lisp.

Methods
Method: units-per-second (progress-bar)
Generic Function: update-display (progress-bar)
Package

cl-progress-bar.progress.

Source

progress.lisp.

Methods
Method: update-display ((progress-bar uncertain-size-progress-bar))
Method: update-display (progress-bar)
Generic Reader: update-interval (object)
Generic Writer: (setf update-interval) (object)
Package

cl-progress-bar.progress.

Methods
Reader Method: update-interval ((progress-bar progress-bar))
Writer Method: (setf update-interval) ((progress-bar progress-bar))

Update the progress bar display after this many internal-time units.

Source

progress.lisp.

Target Slot

update-interval.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
C   E   F   G   L   M   P   S   T   U   W  
Index Entry  Section

(
(setf character-count): Private generic functions
(setf character-count): Private generic functions
(setf characters-so-far): Private generic functions
(setf characters-so-far): Private generic functions
(setf end-time): Private generic functions
(setf end-time): Private generic functions
(setf last-update-time): Private generic functions
(setf last-update-time): Private generic functions
(setf pending): Private generic functions
(setf pending): Private generic functions
(setf progress): Private generic functions
(setf progress): Private generic functions
(setf progress-char-index): Private generic functions
(setf progress-char-index): Private generic functions
(setf progress-character): Private generic functions
(setf progress-character): Private generic functions
(setf start-time): Private generic functions
(setf start-time): Private generic functions
(setf total): Private generic functions
(setf total): Private generic functions
(setf units-per-char): Private generic functions
(setf units-per-char): Private generic functions
(setf update-interval): Private generic functions
(setf update-interval): Private generic functions

C
character-count: Private generic functions
character-count: Private generic functions
characters-so-far: Private generic functions
characters-so-far: Private generic functions

E
elapsed-time: Private generic functions
elapsed-time: Private generic functions
end-time: Private generic functions
end-time: Private generic functions

F
finish-display: Public generic functions
finish-display: Public generic functions
Function, make-progress-bar: Private ordinary functions
Function, time-in-seconds-minutes-hours: Private ordinary functions
Function, update: Public ordinary functions

G
Generic Function, (setf character-count): Private generic functions
Generic Function, (setf characters-so-far): Private generic functions
Generic Function, (setf end-time): Private generic functions
Generic Function, (setf last-update-time): Private generic functions
Generic Function, (setf pending): Private generic functions
Generic Function, (setf progress): Private generic functions
Generic Function, (setf progress-char-index): Private generic functions
Generic Function, (setf progress-character): Private generic functions
Generic Function, (setf start-time): Private generic functions
Generic Function, (setf total): Private generic functions
Generic Function, (setf units-per-char): Private generic functions
Generic Function, (setf update-interval): Private generic functions
Generic Function, character-count: Private generic functions
Generic Function, characters-so-far: Private generic functions
Generic Function, elapsed-time: Private generic functions
Generic Function, end-time: Private generic functions
Generic Function, finish-display: Public generic functions
Generic Function, last-update-time: Private generic functions
Generic Function, mutex: Public generic functions
Generic Function, pending: Private generic functions
Generic Function, progress: Private generic functions
Generic Function, progress-char-index: Private generic functions
Generic Function, progress-character: Private generic functions
Generic Function, start-display: Public generic functions
Generic Function, start-time: Private generic functions
Generic Function, total: Private generic functions
Generic Function, units-per-char: Private generic functions
Generic Function, units-per-second: Private generic functions
Generic Function, update-display: Private generic functions
Generic Function, update-interval: Private generic functions
Generic Function, update-progress: Public generic functions

L
last-update-time: Private generic functions
last-update-time: Private generic functions

M
Macro, with-progress-bar: Public macros
make-progress-bar: Private ordinary functions
Method, (setf character-count): Private generic functions
Method, (setf characters-so-far): Private generic functions
Method, (setf end-time): Private generic functions
Method, (setf last-update-time): Private generic functions
Method, (setf pending): Private generic functions
Method, (setf progress): Private generic functions
Method, (setf progress-char-index): Private generic functions
Method, (setf progress-character): Private generic functions
Method, (setf start-time): Private generic functions
Method, (setf total): Private generic functions
Method, (setf units-per-char): Private generic functions
Method, (setf update-interval): Private generic functions
Method, character-count: Private generic functions
Method, characters-so-far: Private generic functions
Method, elapsed-time: Private generic functions
Method, end-time: Private generic functions
Method, finish-display: Public generic functions
Method, last-update-time: Private generic functions
Method, mutex: Public generic functions
Method, pending: Private generic functions
Method, progress: Private generic functions
Method, progress-char-index: Private generic functions
Method, progress-character: Private generic functions
Method, progress-character: Private generic functions
Method, start-display: Public generic functions
Method, start-time: Private generic functions
Method, total: Private generic functions
Method, units-per-char: Private generic functions
Method, units-per-second: Private generic functions
Method, update-display: Private generic functions
Method, update-display: Private generic functions
Method, update-interval: Private generic functions
Method, update-progress: Public generic functions
Method, update-progress: Public generic functions
mutex: Public generic functions
mutex: Public generic functions

P
pending: Private generic functions
pending: Private generic functions
progress: Private generic functions
progress: Private generic functions
progress-char-index: Private generic functions
progress-char-index: Private generic functions
progress-character: Private generic functions
progress-character: Private generic functions
progress-character: Private generic functions

S
start-display: Public generic functions
start-display: Public generic functions
start-time: Private generic functions
start-time: Private generic functions

T
time-in-seconds-minutes-hours: Private ordinary functions
total: Private generic functions
total: Private generic functions

U
units-per-char: Private generic functions
units-per-char: Private generic functions
units-per-second: Private generic functions
units-per-second: Private generic functions
update: Public ordinary functions
update-display: Private generic functions
update-display: Private generic functions
update-display: Private generic functions
update-interval: Private generic functions
update-interval: Private generic functions
update-progress: Public generic functions
update-progress: Public generic functions
update-progress: Public generic functions

W
with-progress-bar: Public macros


A.3 Variables

Jump to:   *   +  
C   E   L   M   P   S   T   U  
Index Entry  Section

*
*progress-bar*: Public special variables
*progress-bar-enabled*: Public special variables
*uncertain-progress-chars*: Private special variables

+
+seconds-in-one-hour+: Private constants
+seconds-in-one-minute+: Private constants

C
character-count: Public classes
characters-so-far: Public classes
Constant, +seconds-in-one-hour+: Private constants
Constant, +seconds-in-one-minute+: Private constants

E
end-time: Public classes

L
last-update-time: Public classes

M
mutex: Public classes

P
pending: Public classes
progress: Public classes
progress-char-index: Public classes
progress-character: Public classes

S
Slot, character-count: Public classes
Slot, characters-so-far: Public classes
Slot, end-time: Public classes
Slot, last-update-time: Public classes
Slot, mutex: Public classes
Slot, pending: Public classes
Slot, progress: Public classes
Slot, progress-char-index: Public classes
Slot, progress-character: Public classes
Slot, start-time: Public classes
Slot, total: Public classes
Slot, units-per-char: Public classes
Slot, update-interval: Public classes
Special Variable, *progress-bar*: Public special variables
Special Variable, *progress-bar-enabled*: Public special variables
Special Variable, *uncertain-progress-chars*: Private special variables
start-time: Public classes

T
total: Public classes

U
units-per-char: Public classes
update-interval: Public classes