This is the piping Reference Manual, version 2.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Dec 08 19:11:29 2024 GMT+0.
The main system appears first, followed by any subsystem dependency.
piping
A library to enable simple message pipelines.
Yukari Hafner <shinmera@tymoon.eu>
(GIT https://github.com/Shinmera/piping.git)
zlib
2.0.0
package.lisp
(file).
array.lisp
(file).
pipe.lisp
(file).
pipeline.lisp
(file).
extra.lisp
(file).
Files are sorted by type and then listed depth-first from the systems components trees.
piping/piping.asd
piping/package.lisp
piping/array.lisp
piping/pipe.lisp
piping/pipeline.lisp
piping/extra.lisp
piping/array.lisp
package.lisp
(file).
piping
(system).
array-shift
(function).
vector-pop-position
(function).
vector-push-extend-position
(function).
piping/pipe.lisp
array.lisp
(file).
piping
(system).
faucet
(class).
filter
(class).
print-object
(method).
print-object
(method).
print-object
(method).
segment
(class).
piping/pipeline.lisp
pipe.lisp
(file).
piping
(system).
add-segment
(generic function).
find-parent
(generic function).
find-place
(generic function).
insert
(generic function).
insert-segment
(generic function).
make-pipe
(function).
move-segment
(generic function).
names
(reader method).
(setf names)
(writer method).
pass
(generic function).
pipeline
(reader method).
pipeline
(reader method).
(setf pipeline)
(writer method).
pipeline
(class).
remove-segment
(generic function).
replace-segment
(generic function).
resolve-place
(generic function).
set-name
(generic function).
unknown-name-error
(condition).
withdraw
(generic function).
name
(reader method).
piping/extra.lisp
pipeline.lisp
(file).
piping
(system).
find-parent
(method).
find-place
(method).
insert
(method).
pass
(method).
pass
(method).
pass
(method).
pipe
(reader method).
(setf pipe)
(writer method).
predicate
(reader method).
(setf predicate)
(writer method).
predicate-filter
(class).
print-stream
(reader method).
(setf print-stream)
(writer method).
printer
(class).
switch
(class).
value
(reader method).
(setf value)
(writer method).
withdraw
(method).
Packages are listed by definition order.
piping
org.tymoonnext.radiance.lib.piping
org.tymoonnext.piping
common-lisp
.
add-segment
(generic function).
faucet
(class).
filter
(class).
find-parent
(generic function).
find-place
(generic function).
insert
(generic function).
insert-segment
(generic function).
make-pipe
(function).
move-segment
(generic function).
names
(generic reader).
(setf names)
(generic writer).
pass
(generic function).
pipe
(generic reader).
(setf pipe)
(generic writer).
pipeline
(generic reader).
(setf pipeline)
(generic writer).
pipeline
(class).
predicate
(generic reader).
(setf predicate)
(generic writer).
predicate-filter
(class).
print-stream
(generic reader).
(setf print-stream)
(generic writer).
printer
(class).
remove-segment
(generic function).
replace-segment
(generic function).
resolve-place
(generic function).
segment
(class).
set-name
(generic function).
switch
(class).
unknown-name-error
(condition).
value
(generic reader).
(setf value)
(generic writer).
withdraw
(generic function).
array-shift
(function).
name
(generic reader).
vector-pop-position
(function).
vector-push-extend-position
(function).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Add a new segment to the pipeline.
If place is set, the pipe is added to the specified place as per INSERT.
The place specified is expected to be a splitter or similar to append
the pipe to. Returns the segment. PLACE can be a name, as in FIND-PLACE.
Same as FIND-PLACE, except it returns the parent of the matched item.
As secondary value it returns the position of the matched item within the parent.
Searches and returns the segment as designated by PLACE.
A place can be a path (a list of signed integers), each denoting the position of the item
within the current splitter or segment. Subsequent numbers descend into the item matched
by the previous number.
As such, (1 4) matches the following:
([] () [] [])
- ([] [] [] [] [] [])
^^
A place can also be a name denoting a path within a pipeline, set by SET-NAME. In this case, the name is looked up first, and resolved to a path by RESOLVE-PLACE. If the name given was not previously set in PIPELINE, UNKNOWN-NAME-ERROR is signalled.
Appends the item to the given place unless a specific position is given.
If position is set, the item is expected to be inserted at the specified position, without
replacing or disturbing any other items.
Returns the segment.
Do note that using insert directly can affect names and make them invalid or point to unexpected segments. You should always use add-segment or insert-segment instead if possible.
Insert the segment at the given place.
Note that the segment is always inserted into the parent as specified by the place
and found by FIND-PARENT and inserted into the position as per INSERT. PLACE can be a
name, as in FIND-PLACE.
Returns the segment.
Moves a segment to another while preserving names.
This attempts to fix names associated with the place or deeper places
by changing their place as well. Either place can be a name, as in FIND-PLACE.
Returns the segment.
Pass a message through a segment.
Note for implementors of this method for custom segments:
You are expected to return a message object, which will be
used for subsequent passing down the current segment. If you
return NIL, passing stops. This does not affect passing in
segments on other splitters. Do note that changing the object
itself directly will of course als be reflected at any other
point in the pipeline passing, so muting the passed object
should be avoided wherever possible.
Returns the message.
unknown-name-error
)) ¶predicate-filter
)) ¶automatically generated reader method
predicate-filter
)) ¶automatically generated writer method
Removes the given segment (as well as its children, if any).
This also removes any names that either match or go through the specified place
and adapts names that would be affected by a place shift. PLACE can be a name, as in
FIND-PLACE.
Returns the segment.
Replace a place with a pipe.
This happens simply through REMOVE-PLACE and INSERT-PIPE. PLACE can be a name, as in
FIND-PLACE.
Note that this will destroy names due to REMOVE-PLACE.
Returns the segment.
Resolve PLACE to a path (ie. list of integers).
If PLACE is already a path, return it unchanged. If it’s a name (as set by SET-NAME),
return its corresponding path. IF-DOES-NOT-EXIST determines handling of unknown names:
if it’s :ERROR, signal UNKNOWN-NAME-ERROR; if it’s NIL, NIL is silently returned.
Returns a secondary value which is T if the place was successfully resolved, and NIL if it was an unknown name and IF-DOES-NOT-EXIST is NIL.
Associates a place with a name so it can be accessed more easily.
Returns the name.
Removes an item from the place, by default from the end unless position is set.
If position is given, it is expected that the specified item is removed without disturbing any
other items and without leaving any empty spaces within the parent.
Returns the segment.
Do note that using withdraw directly can affect names and make them invalid or point to unexpected segments. You should always use remove-segment instead if possible.
Signalled if a name which was not previously set in the pipeline is looked up
Base faucet class.
Base filter class.
Base pipeline object that is necessary to orchestrate piping systems.
add-segment
.
add-segment
.
add-segment
.
add-segment
.
find-parent
.
find-parent
.
find-place
.
find-place
.
insert-segment
.
insert-segment
.
insert-segment
.
insert-segment
.
move-segment
.
move-segment
.
move-segment
.
(setf names)
.
names
.
pass
.
(setf pipeline)
.
pipeline
.
remove-segment
.
remove-segment
.
replace-segment
.
replace-segment
.
replace-segment
.
replace-segment
.
resolve-place
.
resolve-place
.
resolve-place
.
set-name
.
(piping:make-pipe)
:pipeline
(make-hash-table :test (quote equal))
:names
Segment that predicate-filters messages according to a predicate function.
(error "predicate function required.")
:predicate
Segment that prints each message it receives.
*standard-output*
:stream
Base segment class.
A switch that only passes to the pipe as set by its current value.
Helper function that shifts a subset of array elements in either direction for a specified amount.
Optionally also extends the array and fills empty space with a given element.
N — The amount to be moved. Can either be positive or negative.
FROM — Move region start point.
TO — Move region end point.
ADJUST — Whether to adjust the fill pointer and the array bounds.
FILL — If provided, empty spaces created by the move will be filled with this element.
Pops the element at the given position off the vector and returns it. This is potentially very costly as all elements after the given position need to be shifted back as per ARRAY-SHIFT.
Pushes the element into the specified position and shifts everything to the right to make space. This is potentially very costly as all elements after the given position need to be shifted as per ARRAY-SHIFT.
unknown-name-error
)) ¶Jump to: | (
A F G I M N P R S V W |
---|
Jump to: | (
A F G I M N P R S V W |
---|
Jump to: | %
S |
---|
Jump to: | %
S |
---|
Jump to: | A C E F P S U |
---|
Jump to: | A C E F P S U |
---|