The flexichain Reference Manual

This is the flexichain Reference Manual, version 1.5.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 16:25:54 2024 GMT+0.

Table of Contents


1 Systems

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


1.1 flexichain

Version

1.5.1

Dependency

trivial-garbage (system).

Source

flexichain.asd.

Child Components

2 Files

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


2.1 Lisp


2.1.1 flexichain/flexichain.asd

Source

flexichain.asd.

Parent Component

flexichain (system).

ASDF Systems

flexichain.


2.1.2 flexichain/flexichain-package.lisp

Source

flexichain.asd.

Parent Component

flexichain (system).

Packages

flexichain.


2.1.3 flexichain/utilities.lisp

Dependency

flexichain-package.lisp (file).

Source

flexichain.asd.

Parent Component

flexichain (system).

Internals

2.1.4 flexichain/flexichain.lisp

Dependencies
Source

flexichain.asd.

Parent Component

flexichain (system).

Public Interface
Internals

2.1.5 flexichain/flexicursor.lisp

Dependency

flexichain.lisp (file).

Source

flexichain.asd.

Parent Component

flexichain (system).

Public Interface
Internals

2.1.6 flexichain/flexirank.lisp

Dependency

flexichain.lisp (file).

Source

flexichain.asd.

Parent Component

flexichain (system).

Public Interface
Internals

2.2 Static


2.2.1 flexichain/version

Source

flexichain.asd.

Parent Component

flexichain (system).


3 Packages

Packages are listed by definition order.


3.1 flexichain

Source

flexichain-package.lisp.

Use List

common-lisp.

Public Interface
Internals

4 Definitions

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


4.1 Public Interface


4.1.1 Generic functions

Generic Function: at-beginning-p (cursor)

Returns true if the cursor is at the beginning of the chain.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: at-beginning-p ((cursor standard-flexicursor))
Generic Function: at-end-p (cursor)

Returns true if the cursor is at the beginning of the chain.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: at-end-p ((cursor standard-flexicursor))
Generic Reader: chain (object)
Package

flexichain.

Methods
Reader Method: chain ((element-rank-mixin element-rank-mixin))

automatically generated reader method

Source

flexirank.lisp.

Target Slot

chain.

Reader Method: chain ((standard-flexicursor standard-flexicursor))

automatically generated reader method

Source

flexicursor.lisp.

Target Slot

chain.

Generic Writer: (setf chain) (object)
Package

flexichain.

Methods
Writer Method: (setf chain) ((element-rank-mixin element-rank-mixin))

automatically generated writer method

Source

flexirank.lisp.

Target Slot

chain.

Generic Function: clone-cursor (cursor)

Creates a cursor that is initially at the same location as the one given as argument.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: clone-cursor ((cursor standard-flexicursor))
Generic Function: cursor-pos (cursor)

Returns the position of the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: cursor-pos ((cursor right-sticky-flexicursor))
Method: cursor-pos ((cursor left-sticky-flexicursor))
Generic Function: (setf cursor-pos) (cursor)

Set the position of the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: (setf cursor-pos) ((cursor right-sticky-flexicursor))
Method: (setf cursor-pos) ((cursor left-sticky-flexicursor))
Generic Function: delete* (chain position)

Deletes an element at POSITION of the chain.
If POSITION is out of range (less than 0 or greater than or equal to the length of CHAIN, the FLEXI-POSITION-ERROR condition will be signaled.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: delete* :before ((chain standard-cursorchain) position)
Source

flexicursor.lisp.

Method: delete* ((chain standard-flexichain) position)
Generic Function: delete-elements* (chain position n)

Delete N elements at POSITION of the chain. If
POSITION+N is out of range (less than 0 or greater than or equal to the length of CHAIN, the FLEXI-POSITION-ERROR condition will be signaled. N can be negative, in which case elements will be deleted before POSITION.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: delete-elements* :before ((chain standard-cursorchain) position n)
Source

flexicursor.lisp.

Method: delete-elements* ((chain standard-flexichain) position n)
Generic Function: delete< (cursor &optional n)

Deletes N objects before the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: delete< ((cursor standard-flexicursor) &optional n)
Generic Function: delete> (cursor &optional n)

Deletes N objects after the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: delete> ((cursor standard-flexicursor) &optional n)
Generic Function: element* (chain position)

Returns the element at POSITION of the chain.
If POSITION is out of range (less than 0 or greater than or equal to the length of CHAIN, the FLEXI-POSITION-ERROR condition will be signaled.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: element* ((chain standard-flexichain) position)
Generic Function: (setf element*) (chain position)

Replaces the element at POSITION of CHAIN by OBJECT.
If POSITION if out of range (less than 0 or greater than or equal to the length of CHAIN, the FLEXI-POSITION-ERROR condition will be signaled.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: (setf element*) :after ((chain flexirank-mixin) position)
Source

flexirank.lisp.

Method: (setf element*) ((chain standard-flexichain) position)
Generic Function: element< (cursor)

Returns the element immediately before the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: element< ((cursor standard-flexicursor))
Generic Function: (setf element<) (cursor)

Replaces the element immediately before the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: (setf element<) ((cursor standard-flexicursor))
Generic Function: element> (cursor)

Returns the element immediately after the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: element> ((cursor standard-flexicursor))
Generic Function: (setf element>) (cursor)

Replaces the element immediately after the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: (setf element>) ((cursor standard-flexicursor))
Generic Function: flexi-empty-p (chain)

Checks whether CHAIN is empty or not.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: flexi-empty-p ((chain standard-flexichain))
Generic Function: flexi-first-p (element)
Package

flexichain.

Source

flexirank.lisp.

Methods
Method: flexi-first-p ((element element-rank-mixin))
Generic Function: flexi-last-p (element)
Package

flexichain.

Source

flexirank.lisp.

Methods
Method: flexi-last-p ((element element-rank-mixin))
Generic Function: flexi-next (element)
Package

flexichain.

Source

flexirank.lisp.

Methods
Method: flexi-next ((element element-rank-mixin))
Generic Function: flexi-prev (element)
Package

flexichain.

Source

flexirank.lisp.

Methods
Method: flexi-prev ((element element-rank-mixin))
Generic Function: insert (cursor object)

Inserts an object at the cursor.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: insert ((cursor standard-flexicursor) object)
Generic Function: insert* (chain position object)

Inserts an object before the element at POSITION
in the chain. If POSITION is out of range (less than 0 or greater than the length of CHAIN, the FLEXI-POSITION-ERROR condition will be signaled.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: insert* :after ((chain flexirank-mixin) position (object element-rank-mixin))
Source

flexirank.lisp.

Method: insert* ((chain standard-flexichain) position object)
Generic Function: insert-sequence (cursor sequence)

The effect is the same as if each element of the sequence was inserted using INSERT.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: insert-sequence ((cursor standard-flexicursor) sequence)
Generic Function: insert-vector* (chain position vector)

Inserts the elements of VECTOR before the
element at POSITION in the chain. If POSITION is out of range (less than 0 or greater than the length of CHAIN, the FLEXI-POSITION-ERROR condition will be signaled.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: insert-vector* :after ((chain flexirank-mixin) position vector)
Source

flexirank.lisp.

Method: insert-vector* ((chain standard-flexichain) position vector)
Generic Function: move< (cursor &optional n)

Moves the cursor backward N positions.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: move< ((cursor standard-flexicursor) &optional n)
Generic Function: move> (cursor &optional n)

Moves the cursor forward N positions.

Package

flexichain.

Source

flexicursor.lisp.

Methods
Method: move> ((cursor standard-flexicursor) &optional n)
Generic Function: nb-elements (chain)

Returns the number of elements in the flexichain.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: nb-elements ((chain standard-flexichain))
Generic Function: pop-end (chain)

Pops and returns the element at the end of CHAIN.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: pop-end ((chain standard-flexichain))
Generic Function: pop-start (chain)

Pops and returns the element at the beginning of CHAIN.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: pop-start ((chain standard-flexichain))
Generic Function: push-end (chain object)

Inserts an object at the end of CHAIN.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: push-end ((chain standard-flexichain) object)
Generic Function: push-start (chain object)

Inserts an object at the beginning of CHAIN.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: push-start ((chain standard-flexichain) object)
Generic Function: rank (element)
Package

flexichain.

Source

flexirank.lisp.

Methods
Method: rank ((element element-rank-mixin))
Generic Function: rotate (chain &optional n)

Rotates the elements of CHAIN so that the element
that used to be at position N is now at position 0. With a negative value of N, rotates the elements so that the element that used to be at position 0 is now at position N.

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: rotate ((chain standard-flexichain) &optional n)

4.1.2 Standalone methods

Method: initialize-instance :after ((chain flexichain) &rest initargs &key initial-contents)
Source

flexichain.lisp.

Method: initialize-instance :after ((chain standard-flexichain) &rest initargs &key initial-contents initial-nb-elements initial-element)
Source

flexichain.lisp.

Method: initialize-instance :after ((cursor right-sticky-flexicursor) &rest initargs &key position)
Source

flexicursor.lisp.

Method: initialize-instance :after ((cursor left-sticky-flexicursor) &rest initargs &key position)
Source

flexicursor.lisp.


4.1.3 Conditions

Condition: at-beginning-error
Package

flexichain.

Source

flexicursor.lisp.

Direct superclasses

flexi-error.

Direct methods

at-beginning-error-cursor.

Direct slots
Slot: cursor
Initform

(quote nil)

Initargs

:cursor

Readers

at-beginning-error-cursor.

Writers

This slot is read-only.

Condition: at-end-error
Package

flexichain.

Source

flexicursor.lisp.

Direct superclasses

flexi-error.

Direct methods

at-end-error-cursor.

Direct slots
Slot: cursor
Initform

(quote nil)

Initargs

:cursor

Readers

at-end-error-cursor.

Writers

This slot is read-only.

Condition: flexi-error
Package

flexichain.

Source

flexichain.lisp.

Direct superclasses

simple-error.

Direct subclasses
Condition: flexi-incompatible-type-error
Package

flexichain.

Source

flexichain.lisp.

Direct superclasses

flexi-error.

Direct methods
Direct slots
Slot: chain
Initform

(quote nil)

Initargs

:chain

Readers

flexi-incompatible-type-error-chain.

Writers

This slot is read-only.

Slot: element
Initform

(quote nil)

Initargs

:element

Readers

flexi-incompatible-type-error-element.

Writers

This slot is read-only.

Condition: flexi-initialization-error
Package

flexichain.

Source

flexichain.lisp.

Direct superclasses

flexi-error.

Direct methods

flexi-initialization-error-cause.

Direct slots
Slot: cause
Initform

(quote "")

Initargs

:cause

Readers

flexi-initialization-error-cause.

Writers

This slot is read-only.

Condition: flexi-position-error
Package

flexichain.

Source

flexichain.lisp.

Direct superclasses

flexi-error.

Direct methods
Direct slots
Slot: chain
Initform

(quote nil)

Initargs

:chain

Readers

flexi-position-error-chain.

Writers

This slot is read-only.

Slot: position
Package

common-lisp.

Initform

(quote nil)

Initargs

:position

Readers

flexi-position-error-position.

Writers

This slot is read-only.


4.1.4 Classes

Class: cursorchain

The protocol class for cursor chains.

Package

flexichain.

Source

flexicursor.lisp.

Direct superclasses

flexichain.

Direct subclasses

standard-cursorchain.

Class: element-rank-mixin
Package

flexichain.

Source

flexirank.lisp.

Direct methods
Direct slots
Slot: index
Readers

index.

Writers

(setf index).

Slot: chain
Readers

chain.

Writers

(setf chain).

Class: flexichain

The protocol class for flexichains.

Package

flexichain.

Source

flexichain.lisp.

Direct subclasses
Direct methods

initialize-instance.

Direct slots
Slot: element-type
Initform

t

Initargs

:element-type

Slot: fill-element
Initargs

:fill-element

Slot: expand-factor
Initform

1.5

Initargs

:expand-factor

Slot: min-size
Initform

5

Initargs

:min-size

Class: flexicursor

The protocol class for flexicursors.

Package

flexichain.

Source

flexicursor.lisp.

Direct subclasses

standard-flexicursor.

Class: flexirank-mixin
Package

flexichain.

Source

flexirank.lisp.

Direct methods
Class: left-sticky-flexicursor
Package

flexichain.

Source

flexicursor.lisp.

Direct superclasses

standard-flexicursor.

Direct methods
Class: right-sticky-flexicursor
Package

flexichain.

Source

flexicursor.lisp.

Direct superclasses

standard-flexicursor.

Direct methods
Class: standard-cursorchain

The standard instantiable subclass of CURSORCHAIN

Package

flexichain.

Source

flexicursor.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: cursors
Initform

(quote nil)

Class: standard-flexichain

The standard instantiable subclass of FLEXICHAIN.

Package

flexichain.

Source

flexichain.lisp.

Direct superclasses

flexichain.

Direct subclasses

standard-cursorchain.

Direct methods
Direct slots
Slot: buffer
Slot: gap-start
Slot: gap-end
Slot: data-start
Class: standard-flexicursor

The standard instantiable subclass of FLEXICURSOR

Package

flexichain.

Source

flexicursor.lisp.

Direct superclasses

flexicursor.

Direct subclasses
Direct methods
Direct slots
Slot: chain
Initargs

:chain

Readers

chain.

Writers

This slot is read-only.

Slot: index
Readers

flexicursor-index.

Writers

(setf flexicursor-index).


4.2 Internals


4.2.1 Constants

Constant: +can-make-weak-pointer+
Package

flexichain.

Source

utilities.lisp.


4.2.2 Macros

Macro: with-virtual-gap ((bl ds gs ge) chain &body body)
Package

flexichain.

Source

flexichain.lisp.


4.2.3 Ordinary functions

Function: adjust-cursors (cursors start end increment)
Package

flexichain.

Source

flexicursor.lisp.

Function: decrease-buffer-size (chain)
Package

flexichain.

Source

flexichain.lisp.

Function: ensure-gap-position (chain position)
Package

flexichain.

Source

flexichain.lisp.

Function: ensure-room (chain nb-elements)
Package

flexichain.

Source

flexichain.lisp.

Function: find-if-2 (predicate sequence)

Searches the sequence for an element that satisfies PREDICATE. Returns the element found or NIL of none was found, and a boolean indicating whether an element was found or not.

Package

flexichain.

Source

utilities.lisp.

Function: gap-location (chain)

Returns a keyword indicating the general location of the gap.

Package

flexichain.

Source

flexichain.lisp.

Function: hop-elements-left (chain count)

Moves the COUNT rightmost elements to the end of the gap,
on the left of the data. Example:
HOP-ELEMENTS-LEFT —abcdefghijklm— 2 => -lmabcdefghijk—–

Package

flexichain.

Source

flexichain.lisp.

Function: hop-elements-right (chain count)

Moves the COUNT leftmost elements to the beginning of the gap, on the right of the data. Example:
HOP-ELEMENTS-RIGHT —abcdefghijklm— 2 => —–cdefghijklmab-

Package

flexichain.

Source

flexichain.lisp.

Function: increase-buffer-size (chain nb-elements)
Package

flexichain.

Source

flexichain.lisp.

Function: index-position (chain index)

Returns the position corresponding to the INDEX in the CHAIN. Note: the result is undefined if INDEX is not the index of a valid element of the CHAIN.

Package

flexichain.

Source

flexichain.lisp.

Function: make-weak-pointer (object)

Creates a new weak pointer which points to OBJECT. For portability reasons, OBJECT most not be NIL.

Package

flexichain.

Source

utilities.lisp.

Function: move-empty-gap (chain hot-spot)

Moves the gap. Handles the case where the gap is empty.

Package

flexichain.

Source

flexichain.lisp.

Function: move-gap (chain hot-spot)

Moves the elements and gap inside the buffer so that
the element currently at HOT-SPOT becomes the first element following the gap, or does nothing if there are no elements.

Package

flexichain.

Source

flexichain.lisp.

Function: move-left-gap (chain hot-spot)

Moves the gap. Handles the case where the gap is on the left of the buffer.

Package

flexichain.

Source

flexichain.lisp.

Function: move-middle-gap (chain hot-spot)

Moves the gap. Handles the case where the gap is in the middle of the buffer.

Package

flexichain.

Source

flexichain.lisp.

Function: move-non-contiguous-gap (chain hot-spot)

Moves the gap. Handles the case where the gap is in 2 parts, on both ends of the buffer.

Package

flexichain.

Source

flexichain.lisp.

Function: move-right-gap (chain hot-spot)

Moves the gap. Handles the case where the gap is on the right of the buffer.

Package

flexichain.

Source

flexichain.lisp.

Function: normalize-indices (chain)

Sets gap limits to 0 if they are at the end of the buffer.

Package

flexichain.

Source

flexichain.lisp.

Function: position-index (chain position)

Returns the (0 indexed) index of the POSITION-th element of the CHAIN in the buffer.

Package

flexichain.

Source

flexichain.lisp.

Function: push-elements-left (chain count)

Pushes the COUNT elements of CHAIN at the right of the gap, to the beginning of the gap. The gap must be continuous. Example: PUSH-ELEMENTS-LEFT abcd—–efghijklm 2 => abcdef—–ghijklm

Package

flexichain.

Source

flexichain.lisp.

Function: push-elements-right (chain count)

Pushes the COUNT elements of CHAIN at the left of the gap, to the end of the gap. The gap must be continuous. Example: PUSH-ELEMENTS-RIGHT abcd—–efghijklm 2 => ab—–cdefghijklm

Package

flexichain.

Source

flexichain.lisp.

Function: required-space (chain nb-elements)
Package

flexichain.

Source

flexichain.lisp.

Function: square (x)

Returns the square of the number X.

Package

flexichain.

Source

utilities.lisp.

Function: weak-pointer-value (object)
Package

flexichain.

Source

utilities.lisp.


4.2.4 Generic functions

Generic Reader: at-beginning-error-cursor (condition)
Package

flexichain.

Methods
Reader Method: at-beginning-error-cursor ((condition at-beginning-error))
Source

flexicursor.lisp.

Target Slot

cursor.

Generic Reader: at-end-error-cursor (condition)
Package

flexichain.

Methods
Reader Method: at-end-error-cursor ((condition at-end-error))
Source

flexicursor.lisp.

Target Slot

cursor.

Generic Function: fill-gap (standard-flexichain start end)

fill part of gap with the fill element

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: fill-gap ((fc standard-flexichain) start end)
Generic Reader: flexi-incompatible-type-error-chain (condition)
Package

flexichain.

Methods
Reader Method: flexi-incompatible-type-error-chain ((condition flexi-incompatible-type-error))
Source

flexichain.lisp.

Target Slot

chain.

Generic Reader: flexi-incompatible-type-error-element (condition)
Package

flexichain.

Methods
Reader Method: flexi-incompatible-type-error-element ((condition flexi-incompatible-type-error))
Source

flexichain.lisp.

Target Slot

element.

Generic Reader: flexi-initialization-error-cause (condition)
Package

flexichain.

Methods
Reader Method: flexi-initialization-error-cause ((condition flexi-initialization-error))
Source

flexichain.lisp.

Target Slot

cause.

Generic Reader: flexi-position-error-chain (condition)
Package

flexichain.

Methods
Reader Method: flexi-position-error-chain ((condition flexi-position-error))
Source

flexichain.lisp.

Target Slot

chain.

Generic Reader: flexi-position-error-position (condition)
Package

flexichain.

Methods
Reader Method: flexi-position-error-position ((condition flexi-position-error))
Source

flexichain.lisp.

Target Slot

position.

Generic Reader: flexicursor-index (object)
Package

flexichain.

Methods
Reader Method: flexicursor-index ((standard-flexicursor standard-flexicursor))

automatically generated reader method

Source

flexicursor.lisp.

Target Slot

index.

Generic Writer: (setf flexicursor-index) (object)
Package

flexichain.

Methods
Writer Method: (setf flexicursor-index) ((standard-flexicursor standard-flexicursor))

automatically generated writer method

Source

flexicursor.lisp.

Target Slot

index.

Generic Reader: index (object)
Package

flexichain.

Methods
Reader Method: index ((element-rank-mixin element-rank-mixin))

automatically generated reader method

Source

flexirank.lisp.

Target Slot

index.

Generic Writer: (setf index) (object)
Package

flexichain.

Methods
Writer Method: (setf index) ((element-rank-mixin element-rank-mixin))

automatically generated writer method

Source

flexirank.lisp.

Target Slot

index.

Generic Function: move-elements (standard-flexichain to from start1 start2 end2)

move elements of a flexichain and adjust data-start

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: move-elements :before ((chain flexirank-mixin) to from start1 start2 end2)
Source

flexirank.lisp.

Method: move-elements :after ((cc standard-cursorchain) to from start1 start2 end2)
Source

flexicursor.lisp.

Method: move-elements ((fc standard-flexichain) to from start1 start2 end2)
Generic Function: resize-buffer (standard-flexichain new-buffer-size)

allocate a new buffer with the size indicated

Package

flexichain.

Source

flexichain.lisp.

Methods
Method: resize-buffer ((fc standard-flexichain) new-buffer-size)

Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   C   D   E   F   G   H   I   M   N   P   R   S   W  
Index Entry  Section

(
(setf chain): Public generic functions
(setf chain): Public generic functions
(setf cursor-pos): Public generic functions
(setf cursor-pos): Public generic functions
(setf cursor-pos): Public generic functions
(setf element*): Public generic functions
(setf element*): Public generic functions
(setf element*): Public generic functions
(setf element<): Public generic functions
(setf element<): Public generic functions
(setf element>): Public generic functions
(setf element>): Public generic functions
(setf flexicursor-index): Private generic functions
(setf flexicursor-index): Private generic functions
(setf index): Private generic functions
(setf index): Private generic functions

A
adjust-cursors: Private ordinary functions
at-beginning-error-cursor: Private generic functions
at-beginning-error-cursor: Private generic functions
at-beginning-p: Public generic functions
at-beginning-p: Public generic functions
at-end-error-cursor: Private generic functions
at-end-error-cursor: Private generic functions
at-end-p: Public generic functions
at-end-p: Public generic functions

C
chain: Public generic functions
chain: Public generic functions
chain: Public generic functions
clone-cursor: Public generic functions
clone-cursor: Public generic functions
cursor-pos: Public generic functions
cursor-pos: Public generic functions
cursor-pos: Public generic functions

D
decrease-buffer-size: Private ordinary functions
delete*: Public generic functions
delete*: Public generic functions
delete*: Public generic functions
delete-elements*: Public generic functions
delete-elements*: Public generic functions
delete-elements*: Public generic functions
delete<: Public generic functions
delete<: Public generic functions
delete>: Public generic functions
delete>: Public generic functions

E
element*: Public generic functions
element*: Public generic functions
element<: Public generic functions
element<: Public generic functions
element>: Public generic functions
element>: Public generic functions
ensure-gap-position: Private ordinary functions
ensure-room: Private ordinary functions

F
fill-gap: Private generic functions
fill-gap: Private generic functions
find-if-2: Private ordinary functions
flexi-empty-p: Public generic functions
flexi-empty-p: Public generic functions
flexi-first-p: Public generic functions
flexi-first-p: Public generic functions
flexi-incompatible-type-error-chain: Private generic functions
flexi-incompatible-type-error-chain: Private generic functions
flexi-incompatible-type-error-element: Private generic functions
flexi-incompatible-type-error-element: Private generic functions
flexi-initialization-error-cause: Private generic functions
flexi-initialization-error-cause: Private generic functions
flexi-last-p: Public generic functions
flexi-last-p: Public generic functions
flexi-next: Public generic functions
flexi-next: Public generic functions
flexi-position-error-chain: Private generic functions
flexi-position-error-chain: Private generic functions
flexi-position-error-position: Private generic functions
flexi-position-error-position: Private generic functions
flexi-prev: Public generic functions
flexi-prev: Public generic functions
flexicursor-index: Private generic functions
flexicursor-index: Private generic functions
Function, adjust-cursors: Private ordinary functions
Function, decrease-buffer-size: Private ordinary functions
Function, ensure-gap-position: Private ordinary functions
Function, ensure-room: Private ordinary functions
Function, find-if-2: Private ordinary functions
Function, gap-location: Private ordinary functions
Function, hop-elements-left: Private ordinary functions
Function, hop-elements-right: Private ordinary functions
Function, increase-buffer-size: Private ordinary functions
Function, index-position: Private ordinary functions
Function, make-weak-pointer: Private ordinary functions
Function, move-empty-gap: Private ordinary functions
Function, move-gap: Private ordinary functions
Function, move-left-gap: Private ordinary functions
Function, move-middle-gap: Private ordinary functions
Function, move-non-contiguous-gap: Private ordinary functions
Function, move-right-gap: Private ordinary functions
Function, normalize-indices: Private ordinary functions
Function, position-index: Private ordinary functions
Function, push-elements-left: Private ordinary functions
Function, push-elements-right: Private ordinary functions
Function, required-space: Private ordinary functions
Function, square: Private ordinary functions
Function, weak-pointer-value: Private ordinary functions

G
gap-location: Private ordinary functions
Generic Function, (setf chain): Public generic functions
Generic Function, (setf cursor-pos): Public generic functions
Generic Function, (setf element*): Public generic functions
Generic Function, (setf element<): Public generic functions
Generic Function, (setf element>): Public generic functions
Generic Function, (setf flexicursor-index): Private generic functions
Generic Function, (setf index): Private generic functions
Generic Function, at-beginning-error-cursor: Private generic functions
Generic Function, at-beginning-p: Public generic functions
Generic Function, at-end-error-cursor: Private generic functions
Generic Function, at-end-p: Public generic functions
Generic Function, chain: Public generic functions
Generic Function, clone-cursor: Public generic functions
Generic Function, cursor-pos: Public generic functions
Generic Function, delete*: Public generic functions
Generic Function, delete-elements*: Public generic functions
Generic Function, delete<: Public generic functions
Generic Function, delete>: Public generic functions
Generic Function, element*: Public generic functions
Generic Function, element<: Public generic functions
Generic Function, element>: Public generic functions
Generic Function, fill-gap: Private generic functions
Generic Function, flexi-empty-p: Public generic functions
Generic Function, flexi-first-p: Public generic functions
Generic Function, flexi-incompatible-type-error-chain: Private generic functions
Generic Function, flexi-incompatible-type-error-element: Private generic functions
Generic Function, flexi-initialization-error-cause: Private generic functions
Generic Function, flexi-last-p: Public generic functions
Generic Function, flexi-next: Public generic functions
Generic Function, flexi-position-error-chain: Private generic functions
Generic Function, flexi-position-error-position: Private generic functions
Generic Function, flexi-prev: Public generic functions
Generic Function, flexicursor-index: Private generic functions
Generic Function, index: Private generic functions
Generic Function, insert: Public generic functions
Generic Function, insert*: Public generic functions
Generic Function, insert-sequence: Public generic functions
Generic Function, insert-vector*: Public generic functions
Generic Function, move-elements: Private generic functions
Generic Function, move<: Public generic functions
Generic Function, move>: Public generic functions
Generic Function, nb-elements: Public generic functions
Generic Function, pop-end: Public generic functions
Generic Function, pop-start: Public generic functions
Generic Function, push-end: Public generic functions
Generic Function, push-start: Public generic functions
Generic Function, rank: Public generic functions
Generic Function, resize-buffer: Private generic functions
Generic Function, rotate: Public generic functions

H
hop-elements-left: Private ordinary functions
hop-elements-right: Private ordinary functions

I
increase-buffer-size: Private ordinary functions
index: Private generic functions
index: Private generic functions
index-position: Private ordinary functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
insert: Public generic functions
insert: Public generic functions
insert*: Public generic functions
insert*: Public generic functions
insert*: Public generic functions
insert-sequence: Public generic functions
insert-sequence: Public generic functions
insert-vector*: Public generic functions
insert-vector*: Public generic functions
insert-vector*: Public generic functions

M
Macro, with-virtual-gap: Private macros
make-weak-pointer: Private ordinary functions
Method, (setf chain): Public generic functions
Method, (setf cursor-pos): Public generic functions
Method, (setf cursor-pos): Public generic functions
Method, (setf element*): Public generic functions
Method, (setf element*): Public generic functions
Method, (setf element<): Public generic functions
Method, (setf element>): Public generic functions
Method, (setf flexicursor-index): Private generic functions
Method, (setf index): Private generic functions
Method, at-beginning-error-cursor: Private generic functions
Method, at-beginning-p: Public generic functions
Method, at-end-error-cursor: Private generic functions
Method, at-end-p: Public generic functions
Method, chain: Public generic functions
Method, chain: Public generic functions
Method, clone-cursor: Public generic functions
Method, cursor-pos: Public generic functions
Method, cursor-pos: Public generic functions
Method, delete*: Public generic functions
Method, delete*: Public generic functions
Method, delete-elements*: Public generic functions
Method, delete-elements*: Public generic functions
Method, delete<: Public generic functions
Method, delete>: Public generic functions
Method, element*: Public generic functions
Method, element<: Public generic functions
Method, element>: Public generic functions
Method, fill-gap: Private generic functions
Method, flexi-empty-p: Public generic functions
Method, flexi-first-p: Public generic functions
Method, flexi-incompatible-type-error-chain: Private generic functions
Method, flexi-incompatible-type-error-element: Private generic functions
Method, flexi-initialization-error-cause: Private generic functions
Method, flexi-last-p: Public generic functions
Method, flexi-next: Public generic functions
Method, flexi-position-error-chain: Private generic functions
Method, flexi-position-error-position: Private generic functions
Method, flexi-prev: Public generic functions
Method, flexicursor-index: Private generic functions
Method, index: Private generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, insert: Public generic functions
Method, insert*: Public generic functions
Method, insert*: Public generic functions
Method, insert-sequence: Public generic functions
Method, insert-vector*: Public generic functions
Method, insert-vector*: Public generic functions
Method, move-elements: Private generic functions
Method, move-elements: Private generic functions
Method, move-elements: Private generic functions
Method, move<: Public generic functions
Method, move>: Public generic functions
Method, nb-elements: Public generic functions
Method, pop-end: Public generic functions
Method, pop-start: Public generic functions
Method, push-end: Public generic functions
Method, push-start: Public generic functions
Method, rank: Public generic functions
Method, resize-buffer: Private generic functions
Method, rotate: Public generic functions
move-elements: Private generic functions
move-elements: Private generic functions
move-elements: Private generic functions
move-elements: Private generic functions
move-empty-gap: Private ordinary functions
move-gap: Private ordinary functions
move-left-gap: Private ordinary functions
move-middle-gap: Private ordinary functions
move-non-contiguous-gap: Private ordinary functions
move-right-gap: Private ordinary functions
move<: Public generic functions
move<: Public generic functions
move>: Public generic functions
move>: Public generic functions

N
nb-elements: Public generic functions
nb-elements: Public generic functions
normalize-indices: Private ordinary functions

P
pop-end: Public generic functions
pop-end: Public generic functions
pop-start: Public generic functions
pop-start: Public generic functions
position-index: Private ordinary functions
push-elements-left: Private ordinary functions
push-elements-right: Private ordinary functions
push-end: Public generic functions
push-end: Public generic functions
push-start: Public generic functions
push-start: Public generic functions

R
rank: Public generic functions
rank: Public generic functions
required-space: Private ordinary functions
resize-buffer: Private generic functions
resize-buffer: Private generic functions
rotate: Public generic functions
rotate: Public generic functions

S
square: Private ordinary functions

W
weak-pointer-value: Private ordinary functions
with-virtual-gap: Private macros


A.3 Variables


A.4 Data types

Jump to:   A   C   E   F   L   P   R   S   U   V  
Index Entry  Section

A
at-beginning-error: Public conditions
at-end-error: Public conditions

C
Class, cursorchain: Public classes
Class, element-rank-mixin: Public classes
Class, flexichain: Public classes
Class, flexicursor: Public classes
Class, flexirank-mixin: Public classes
Class, left-sticky-flexicursor: Public classes
Class, right-sticky-flexicursor: Public classes
Class, standard-cursorchain: Public classes
Class, standard-flexichain: Public classes
Class, standard-flexicursor: Public classes
Condition, at-beginning-error: Public conditions
Condition, at-end-error: Public conditions
Condition, flexi-error: Public conditions
Condition, flexi-incompatible-type-error: Public conditions
Condition, flexi-initialization-error: Public conditions
Condition, flexi-position-error: Public conditions
cursorchain: Public classes

E
element-rank-mixin: Public classes

F
File, flexichain-package.lisp: The flexichain/flexichain-package․lisp file
File, flexichain.asd: The flexichain/flexichain․asd file
File, flexichain.lisp: The flexichain/flexichain․lisp file
File, flexicursor.lisp: The flexichain/flexicursor․lisp file
File, flexirank.lisp: The flexichain/flexirank․lisp file
File, utilities.lisp: The flexichain/utilities․lisp file
File, version: The flexichain/version file
flexi-error: Public conditions
flexi-incompatible-type-error: Public conditions
flexi-initialization-error: Public conditions
flexi-position-error: Public conditions
flexichain: The flexichain system
flexichain: The flexichain package
flexichain: Public classes
flexichain-package.lisp: The flexichain/flexichain-package․lisp file
flexichain.asd: The flexichain/flexichain․asd file
flexichain.lisp: The flexichain/flexichain․lisp file
flexicursor: Public classes
flexicursor.lisp: The flexichain/flexicursor․lisp file
flexirank-mixin: Public classes
flexirank.lisp: The flexichain/flexirank․lisp file

L
left-sticky-flexicursor: Public classes

P
Package, flexichain: The flexichain package

R
right-sticky-flexicursor: Public classes

S
standard-cursorchain: Public classes
standard-flexichain: Public classes
standard-flexicursor: Public classes
System, flexichain: The flexichain system

U
utilities.lisp: The flexichain/utilities․lisp file

V
version: The flexichain/version file