The deoxybyte-io Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The deoxybyte-io Reference Manual

This is the deoxybyte-io Reference Manual, version 0.15.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Thu Sep 15 04:37:03 2022 GMT+0.

Table of Contents


1 Introduction

Introduction

The deoxybyte-io system is a selection of utility code focused on
transfer of data between Lisp and its environment. It includes:

- IO and parser conditions
- File and directory utilities
- Command line interface definition utilities
- Stream classes and methods
- Tabular text parsing
- Binary encoding and decoding *

* Nathan Froyd has released nibbles
(https://github.com/froydnj/nibbles) which implements octet-vector
operations similar to those in this system, only optimized for
efficiency. I'll consider replacing my implementations with a shim to
nibbles, or calling nibbles directly.


Installation

deoxybyte-io uses ASDF for system definition. Install as described in
the ASDF documentation and then load:

 (asdf:load-system :deoxybyte-io)

Alternatively, use the equivalent deoxybyte-systems:load-system function:

 (dxs:load-system :deoxybyte-io)


Tests

To run the unit and regression tests you need to have LIFT
installed. Run the tests:

 (asdf:test-system :deoxybyte-io)

Alternatively, use the equivalent deoxybyte-systems:test-system function:

 (dxs:test-system :deoxybyte-io)


Documentation

See the Lisp docstrings, particularly the package docstrings for an
overview. HTML documentation may be generated with the command:

 (dxs:document-system :deoxybyte-io)

at the REPL, provided that CLDOC is installed.


Dependencies

deoxybyte-systems       git://github.com/keithj/deoxybyte-systems.git
deoxybyte-utilities     git://github.com/keithj/deoxybyte-utilities.git

cl-fad                  http://www.weitz.de/cl-fad/
getopt                  git://git.b9.com/getopt.git

Optional dependencies

LIFT                    http://common-lisp.net/project/lift/
CLDOC                   http://common-lisp.net/project/cldoc/


2 Systems

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


Previous: , Up: Systems   [Contents][Index]

2.1 deoxybyte-io

Author

Keith James

License

GPL v3

Version

0.15.0

Dependencies
  • deoxybyte-systems (system)., at least version "1.0.0"
  • cl-fad (system)., at least version "0.6.2"
  • deoxybyte-utilities (system)., at least version "0.11.0"
  • getopt (system)., at least version "1.0"
Source

deoxybyte-io.asd.

Child Component

core (module).


3 Modules

Modules are listed depth-first from the system components tree.


Previous: , Up: Modules   [Contents][Index]

3.1 deoxybyte-io/core

Source

deoxybyte-io.asd.

Parent Component

deoxybyte-io (system).

Child Components

4 Files

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


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

4.1.1 deoxybyte-io/deoxybyte-io.asd

Source

deoxybyte-io.asd.

Parent Component

deoxybyte-io (system).

ASDF Systems

deoxybyte-io.


4.1.2 deoxybyte-io/core/package.lisp

Source

deoxybyte-io.asd.

Parent Component

core (module).

Packages

uk.co.deoxybyte-io.


4.1.3 deoxybyte-io/core/conditions.lisp

Dependency

package.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.4 deoxybyte-io/core/deoxybyte-io.lisp

Dependency

conditions.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface

4.1.5 deoxybyte-io/core/environment.lisp

Dependency

deoxybyte-io.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).


4.1.6 deoxybyte-io/core/parse-float.lisp

Dependency

environment.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface

parse-float (function).

Internals

4.1.7 deoxybyte-io/core/ieee-float.lisp

Dependency

parse-float.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.8 deoxybyte-io/core/binary-operations.lisp

Dependency

ieee-float.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.9 deoxybyte-io/core/streams.lisp

Dependency

binary-operations.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

stream-delete-file (generic function).


4.1.10 deoxybyte-io/core/line-stream.lisp

Dependency

streams.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.11 deoxybyte-io/core/command-line-interface.lisp

Dependency

line-stream.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.12 deoxybyte-io/core/files-and-directories.lisp

Dependency

command-line-interface.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

merge-pathstrings (function).


4.1.13 deoxybyte-io/core/simple-table-parser.lisp

Dependency

files-and-directories.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.14 deoxybyte-io/core/external-merge-sort.lisp

Dependency

simple-table-parser.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

4.1.15 deoxybyte-io/core/external-line-sort.lisp

Dependency

external-merge-sort.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface

4.1.16 deoxybyte-io/core/sbcl.lisp

Dependency

external-line-sort.lisp (file).

Source

deoxybyte-io.asd.

Parent Component

core (module).

Public Interface
Internals

get-system-argv (function).


5 Packages

Packages are listed by definition order.


Previous: , Up: Packages   [Contents][Index]

5.1 uk.co.deoxybyte-io

The deoxybyte-io system is a selection of utility
code focused on transfer of data between Lisp and its environment. It includes:

- IO and parser conditions
- File and directory utilities
- Command line interface definition utilities
- Stream classes and methods
- Tabular text parsing
- Binary encoding and decoding

Source

package.lisp.

Nicknames
  • dxi
  • deoxybyte-io
Use List
  • common-lisp.
  • uk.co.deoxybyte-utilities.
Public Interface
Internals

6 Definitions

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


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Public Interface


Next: , Previous: , Up: Public Interface   [Contents][Index]

6.1.1 Special variables

Special Variable: *default-tmpdir*

The default temporary file directory pathname.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Special Variable: *default-tmpfile-defaults*

The defaults used to fill in temporary file pathnames.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Special Variable: *empty-field*

The default empty field string.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.


6.1.2 Macros

Macro: check-field (test-form record field &optional error-message &rest message-arguments)

Checks FIELD of RECORD. If TEST-FORM returns false a {define-condition malformed-field-error} is raised. The default error message may be refined with an additional ERROR-MESSAGE.

Arguments:

- test-form (form): A form to be evaluated. If the form returns NIL, an error is raised.
- record (form): A form that evaluates to a record.
- field (form): A form that evaluates to a field in RECORD.

Optional:

- error-message (string): An error message string.

Rest:

- message-arguments (forms): Forms that evaluate to arguments for the error message.

Package

uk.co.deoxybyte-io.

Source

deoxybyte-io.lisp.

Macro: check-record (test-form record &optional error-message &rest message-arguments)

Checks RECORD. If TEST-FORM returns false a
{define-condition malformed-record-error} is raised. The default error message may be refined with an additional ERROR-MESSAGE.

Arguments:

- test-form (form): A form to be evaluated. If the form returns NIL, an error is raised.
- record (form): A form that evaluates to a record.

Optional:

- error-message (string): An error message string.

Rest:

- message-arguments (forms): Forms that evaluate to arguments for the error message.

Package

uk.co.deoxybyte-io.

Source

deoxybyte-io.lisp.

Macro: define-cli (name direct-superclasses option-specs &rest options)

Defines a new CLI class NAME.

Arguments:

- name (symbol): The class name.
- direct-superclasses (list symbols): The direct superclasses.
- option-specs (list option-specs): The CLI option specifiers.

Each option-spec specifies a slot and its corresponding CLI option instance.

Arguments:

- slot-name (symbol)
- option-name (string)

Rest:

- cl-option instance initargs

Key:

- documentation (string): Slot (and hence cli-option) documentation.

e.g.

;;; (a "a" :required-option t :value-type ’string
;;; :documentation "Required option A.")

Rest:

- class-options as in defclass.

e.g.

;;; (define-cli example-cli (cli)
;;; ((a "a" :required-option t :value-type ’string
;;; :documentation "Required option A.")
;;; (b "b" :required-option nil :value-type ’integer :value-default 99 ;;; :documentation "Required option D."))
;;; (:documentation "An example CLI class definition."))

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Macro: define-integer-decoder (name &key bytes order signed)

Defines a function NAME with one mandatory argument, a simple-array of unsigned-byte 8, and one optional argument, a fixnum index in that array that defaults to 0. The function returns the Lisp integer whose value is given by the bytes at that index in the byte array.

Key:

- bytes (fixnum): the number of bytes that comprise the number.
- order (sumbol): the byte order of the array, may be one
of :little-endian or :big-endian ( :network-byte-order may be used as a synonym for :big-endian ).
- signed (boolean): T if the bytes are a two’s complement representation of a signed integer.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Macro: define-integer-encoder (name &key bytes order signed)

Defines a function NAME with two mandatory arguments, an integer and a simple-array of unsigned-byte 8, and one optional argument, a fixnum index in that array that defaults to 0. The function returns the buffer containing the encoded integer.

Key:

- bytes (fixnum): the number of bytes that comprise the number. - order (sumbol): the byte order of the array, may be one
of :little-endian or :big-endian ( :network-byte-order may be used as a synonym for :big-endian ).

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Macro: define-line-parser (parser-name delimiter fields &optional constraints)

Defines a line parser function that splits lines and then parses and validates fields according to the FIELDS contraints and validates combinations of fields according to CONSTRAINTS.

Arguments:

- parser-name (symbol): a symbol naming the new function.
- delimiter (character): a character used to split the lines being parsed.
- fields (list list): a list of field definition lists. The form of a definition list is

;;; (symbolic-field-name &keys type ignore parser validator null-str)

which indicates the symbol to which the parsed field value will be stored in the alist returned by the function

- parser-name (symbol): the expected type of the field value ( :string, :integer or :float, defaulting to :string), an optional boolean flag indicating that the field should be ignored, an optional parser function (defaults to a pass-through string parser), an optional validator function that returns T when the parsed field is valid and an optional string to indicate an null field (defaults to {defparameter *empty-field*} ).

Optional:

- constraints (list list): a list of field constraint definition lists. The form of a constraint definition list is

;;; (symbolic-constraint-name (symbolic-field-name list) validator)

The symbolic-field-name list should contain names of one or more fields and the validator must then be a function which accepts the parsed values of those fields in the same order and returns T when those fields have acceptable values.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Macro: with-argv ((argv) &body body)

Executes BODY with ARGV bound to system argv list.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Macro: with-tmp-directory ((directory &rest rest) &body body)

Executes BODY with DIRECTORY bound to a temporary directory that has been created with the MAKE-TMP-DIRECTORY function. If BODY executes without error, the temporary directory is deleted. If an error occurs, restarts DELETE-TMP-DIRECTORY and LEAVE-TMP-DIRECTORY are provided to control what happens.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Macro: with-tmp-pathname ((pathname &rest rest) &body body)

Executes BODY with DIRECTORY bound to a pathname of a temporary file that has been created with the MAKE-TMP-PATHNAME function. If BODY executes without error, any file denoted by the temporary pathname is deleted. If an error occurs, restarts DELETE-TMP-PATHNAME and LEAVE-TMP-PATHNAME are provided to control what happens.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.


6.1.3 Ordinary functions

Function: absolute-pathname-p (pathname)

Returns T if PATHSPEC is a pathname designator for an absolute file or directory, or NIL otherwise.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: decode-float32be (buffer &optional index)

Decodes 4 byte float stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-float32le (buffer &optional index)

Decodes 4 byte float stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-float64be (buffer &optional index)

Decodes 8 byte float stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-float64le (buffer &optional index)

Decodes 8 byte float stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-ieee-float32 (n)

Decodes an IEEE 754 encoded single-float from 32-bit integer
N. NaN, +Inf and -Inf are represented by the keywords :not-a-number :positive-infinity or :negative-infinity respectively.

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Function: decode-ieee-float64 (n)

Decodes an IEEE 754 encoded double-float from 64-bit integer
N. NaN, +Inf and -Inf are represented by the keywords :not-a-number :positive-infinity or :negative-infinity respectively.

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Function: decode-int16be (buffer &optional index)

Decodes a signed 2 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-int16le (buffer &optional index)

Decodes a signed 2 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-int32be (buffer &optional index)

Decodes a signed 4 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-int32le (buffer &optional index)

Decodes a signed 4 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-int64be (buffer &optional index)

Decodes a signed 8 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-int64le (buffer &optional index)

Decodes a signed 8 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-int8be (buffer &optional index)

Decodes a signed 1 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-int8le (buffer &optional index)

Decodes a signed 1 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint16be (buffer &optional index)

Decodes an unsigned 2 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint16le (buffer &optional index)

Decodes an unsigned 2 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint32be (buffer &optional index)

Decodes an unsigned 4 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint32le (buffer &optional index)

Decodes an unsigned 4 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint64be (buffer &optional index)

Decodes an unsigned 8 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint64le (buffer &optional index)

Decodes an unsigned 8 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint8be (buffer &optional index)

Decodes an unsigned 1 byte integer stored as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: decode-uint8le (buffer &optional index)

Decodes an unsigned 1 byte integer stored as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: default-float-parser (field-name str &key start end null-str)

Returns a float parsed from simple-base-string record STR between START and END, or NIL if STR is STRING= to NULL-STR between START and END.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: default-integer-parser (field-name str &key start end null-str)

Returns an integer parsed from simple-base-string record STR between START and END, or NIL if STR is STRING= to NULL-STR between START and END.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: delete-tmp-directory (condition)

Invokes the DELETE-TMP-DIRECTORY restart, if established.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: delete-tmp-pathname (condition)

Invokes the DELETE-TMP-PATHNAME restart, if established.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: directory-pathname (pathname)

Returns a new pathname that represents the directory component of PATHSPEC.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: encode-float32be (value buffer &optional index)

Encodes 4 byte float as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-float32le (value buffer &optional index)

Encodes 4 byte float as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-float64be (value buffer &optional index)

Encodes 8 byte float as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-float64le (value buffer &optional index)

Encodes 8 byte float as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-ieee-float32 (f)

Encodes single-float F as a 32-bit integer using IEEE 754 encoding. NaN, +Inf and -Inf may be represented by using the keywords :not-a-number :positive-infinity or :negative-infinity respectively, as an argument.

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Function: encode-ieee-float64 (f)

Encodes double-float F as a 64-bit integer using IEEE 754 encoding. NaN, +Inf and -Inf may be represented by using the keywords :not-a-number :positive-infinity or :negative-infinity respectively, as an argument.

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Function: encode-int16be (value buffer &optional index)

Encodes a 2 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-int16le (value buffer &optional index)

Encodes a 2 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-int32be (value buffer &optional index)

Encodes a 4 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-int32le (value buffer &optional index)

Encodes a 4 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-int64be (value buffer &optional index)

Encodes a 8 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-int64le (value buffer &optional index)

Encodes a 8 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-int8be (value buffer &optional index)

Encodes a 1 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-int8le (value buffer &optional index)

Encodes a 1 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint16be (value buffer &optional index)

Encodes a 2 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint16le (value buffer &optional index)

Encodes a 2 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint32be (value buffer &optional index)

Encodes a 4 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint32le (value buffer &optional index)

Encodes a 4 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint64be (value buffer &optional index)

Encodes a 8 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint64le (value buffer &optional index)

Encodes a 8 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint8be (value buffer &optional index)

Encodes a 1 byte integer as consecutive bytes in BUFFER, in big-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: encode-uint8le (value buffer &optional index)

Encodes a 1 byte integer as consecutive bytes in BUFFER, in little-endian byte order, starting at INDEX.

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Function: ensure-file-exists (filespec)

Creates the file designated by FILESPEC, if it does not exist. Returns the pathname of FILESPEC.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: environment-variable (variable-name)

Returns the string value of VARIABLE-NAME, or NIL.

Package

uk.co.deoxybyte-io.

Source

sbcl.lisp.

Function: (setf environment-variable) (variable-name)

Sets the value of VARIABLE-NAME to VALUE, which maye be a string or a symbol.

Package

uk.co.deoxybyte-io.

Source

sbcl.lisp.

Function: file-pathname (pathname)

Returns a new pathname that represents the file component of PATHSPEC.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: leaf-directory-pathname (pathname)

Returns a new relative pathname that represents the leaf directory component of PATHSPEC.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: leave-tmp-directory (condition)

Invokes the LEAVE-TMP-DIRECTORY restart, if established.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: leave-tmp-pathname (condition)

Invokes the LEAVE-TMP-PATHNAME restart, if established.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: make-tmp-directory (&key tmpdir basename if-exists mode)

Creates a new temporary directory and returns its pathname. The new directory’s pathname is created using {defun tmp-pathname} . The IF-EXISTS keyword argument determines what happens if a directory by that name already exists; options are :error which causes a FILE-ERROR to be raised, :supersede which causes the existing directory to be deleted and a new, empty one created and NIL where no directory is created an NIL is returned to indicate failure.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: option-value (key parsed-args &optional default)

Returns the value from alist PARSED-ARGS for the option named by the symbol KEY.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: parse-float (string &key start end radix junk-allowed)

Converts a substring of STRING, as delimited by START and END, to a floating point number, if possible. START and END default to the beginning and end of the string. RADIX must be between 2 and 36.
A floating point number will be returned if the string consists of an optional string of spaces and an optional sign, followed by a string of digits optionally containing a decimal point, and an optional e or E followed by an optionally signed integer. The use of e/E to indicate an exponent only works for RADIX = 10. Returns the floating point number, if any, and the index for the first character after the number.

Package

uk.co.deoxybyte-io.

Source

parse-float.lisp.

Function: pathname-extender (pathname &key type separator generator)

Returns a function of zero arity that returns modified copies of a pathname argument. The pathname is modified by extending its namestring. The new namestring is composed of the original namestring SEPARATOR (defaults to NIL) and a value taken from calling the function GENERATOR (defaults to a numeric generator starting from 0, incrementing by 1). TYPE may be used to specify the type of the new pathname, otherwise the original type will be used.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: pathname-generator (directory name &key type separator generator)

Returns a function of zero arity that generates pathnames when called. The generated pathnames are relative to DIRECTORY and have a namestring composed of NAME, SEPARATOR (defaults to NIL) and a value taken from calling the function GENERATOR (defaults to a numeric generator starting from 0, incrementing by 1). TYPE may be used to specify the type of the new pathnames.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: pathstring (pathname)

Returns a string representing PATHNAME. This function is similar to CL:NAMESTRING, but is designed to be portable whereas the return value of CL:NAMESTRING is implementation-dependent.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: print-backtrace (stream &optional depth)
Package

uk.co.deoxybyte-io.

Source

sbcl.lisp.

Function: quit-lisp (&key status)
Package

uk.co.deoxybyte-io.

Source

sbcl.lisp.

Function: relative-pathname-p (pathname)

Returns T if PATHSPEC is a pathname designator for a relative file or directory, or NIL otherwise.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: tmp-pathname (&key tmpdir basename type)

Returns a pathname suitable for use as a temporary file or directory. The directory component of the new pathname is TMPDIR, defaulting to *DEFAULT-TMPDIR*. The NAME component of the new pathname is a concatenation of BASENAME, defaulting to an empty string, and a pseudo-random number. The type component of the new pathname is TYPE, defaulting to NIL.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.


6.1.4 Generic functions

Generic Function: boolean-option-p (option)

Returns T if OPTION does not require a value, or NIL otherwise.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: boolean-option-p ((option cli-option))
Generic Function: cli-help (cli &optional stream)

Prints the help string for CLI to STREAM (which
defaults to *ERROR-OUTPUT*). This is usually the class documentation string of CLI, plus all of the option help.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: cli-help ((cli cli) &optional stream)
Generic Function: documentation-of (cli &optional name)

Returns documentation of CLI or a CLI option identified by NAME.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: documentation-of ((cli cli) &optional name)
Generic Function: external-merge-sort (sort-input-stream sort-output-stream predicate &key key buffer-size)

Performs an external merge sort on the elements
read from SORT-INPUT-STREAM and writes the sorted elements to SORT-OUTPUT-STREAM.

Arguments:

- sort-input-stream (sort-input-stream): The stream whose elements are to be sorted.
- sort-output-stream (sort-output-stream): A stream whose elements are sorted.

- predicate (function designator): The sorting predicate, as in CL:SORT, a function of two arguments that returns a generalized boolean.

Key:

- key (function designator): A function of one argument, or nil.

- buffer-size (fixnum): The size of the in-memory sort buffer and hence the number of elements written to disk in the external merge file.

Returns:

- The total number of elements sorted (fixnum).
- The number of {defclass merge-stream} s used in sorting (fixnum).

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Methods
Method: external-merge-sort ((in sort-input-stream) (out sort-output-stream) predicate &key key buffer-size)
Generic Reader: field-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: field-of ((condition malformed-field-error))
Source

conditions.lisp.

Target Slot

field.

Generic Function: find-line (line-input-stream test &optional max-lines)

Iterates through lines read from LINE-INPUT-STREAM
until a line matching predicate TEST is found or until a number of lines equal to MAX-LINES have been examined.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Methods
Method: find-line ((stream line-input-stream) test &optional max-lines)
Generic Function: help-message (cli message &optional stream)

Prints a help MESSAGE and help for each avaliable option in CLI to STREAM.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: help-message ((cli cli) (message string) &optional stream)
Generic Reader: line-stack-of (object)
Generic Writer: (setf line-stack-of) (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: line-stack-of ((line-input-stream line-input-stream))
Writer Method: (setf line-stack-of) ((line-input-stream line-input-stream))

A list of lines that have been pushed back into the stream to be read again.

Source

line-stream.lisp.

Target Slot

line-stack.

Generic Function: make-line-stream (stream)

Returns a new {defclass line-stream} created from STREAM.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Methods
Method: make-line-stream ((stream stream))
Generic Function: make-merge-stream (sort-input-stream predicate &key key buffer-size)

Returns a new {defclass merge-stream} appropriate
to SORT-INPUT-STREAM. The new stream must return sorted elements read from SORT-INPUT-STREAM.

Arguments:

- sort-input-stream (sort-input-stream): The stream whose elements are to be sorted.

- predicate (function designator): The sorting predicate, as in CL:SORT, a function of two arguments that returns a generalized boolean.

Key:

- key (function designator): A function of one argument, or nil.

- buffer-size (fixnum): The size of the in-memory sort buffer and hence the number of elements written to disk in the external merge file.

Returns:

- a {defclass merge-stream} from which sorted elements may be read.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Methods
Method: make-merge-stream ((stream line-sort-input-stream) predicate &key key buffer-size)
Source

external-line-sort.lisp.

Generic Function: more-lines-p (line-input-stream)

Returns T if {defclass line-input-stream} contains unread data.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Methods
Method: more-lines-p ((stream character-line-input-stream))
Method: more-lines-p ((stream octet-line-input-stream))
Generic Reader: name-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: name-of ((cli-option cli-option))

The name string of the option.

Source

command-line-interface.lisp.

Target Slot

name.

Reader Method: name-of ((condition cli-option-warning))
Source

conditions.lisp.

Target Slot

name.

Reader Method: name-of ((condition cli-option-error))
Source

conditions.lisp.

Target Slot

name.

Generic Function: option-help (cli name &optional stream)

Prints the help string for option NAME to STREAM (which defaults to *ERROR-OUTPUT*).

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: option-help ((cli cli) (name string) &optional stream)
Method: option-help ((cli cli) (slot symbol) &optional stream)
Generic Function: option-of (cli name)

Returns the CLI option identified by NAME.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: option-of ((cli cli) (name string))
Method: option-of ((cli cli) (name symbol))
Generic Function: option-slot-p (cli slot)

Returns T if SLOT is an option slot in CLI, or NIL
otherwise. The default implementation returns T, meaning that all slots are expected to contain option objects. Overriding this method means that slots may be added for other purposes.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: option-slot-p ((cli cli) (slot symbol))
Generic Function: option-slots-of (cli)

Returns a new, sorted list of CLI option slots.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: option-slots-of ((cli cli))
Generic Function: options-of (cli)

Returns a new, sorted list of CLI options.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: options-of ((cli cli))
Generic Function: parse-command-line (cli arglist)

Parses a system command line to create a mapping of
option keywords to Lisp objects. Where multiple values are to be accepted for an argument e.g. ’integer-list , they must be comma-separated on the command line e.g. 1,2,3,4.

Arguments:

- cli (object): A CLI instance.
- arglist (list string): A list of CLI string arguments.

Returns:

- alist mapping slots to parsed values
- list of unmatched argument strings
- list of unknown argument strings

e.g

;;; (define-cli example-cli (cli)
;;; ((a "a" :required-option t :value-type ’string
;;; :documentation "Required option A.")
;;; (b "b" :required-option t :value-type ’integer
;;; :documentation "Required option D.")
;;; (c "c" :required-option nil :value-type ’string :default "foo" ;;; :documentation "Option C."))
;;; (:documentation "An example CLI class definition."))

;;; (parse-command-line (make-instance ’example-cli)
;;; (list "–a" "aaa" "–b" "1")))

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: parse-command-line ((cli cli) arglist)
Generic Function: pop-line (line-input-stream line)

Pops one line from {defclass line-input-stream} .

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Methods
Method: pop-line ((stream line-input-stream) (line string))
Generic Function: push-line (line-input-stream line)

Pushes LINE back onto {defclass line-input-stream} .

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Methods
Method: push-line ((stream line-input-stream) (line string))
Generic Reader: record-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: record-of ((condition malformed-record-error))
Source

conditions.lisp.

Target Slot

record.

Generic Reader: required-option-p (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: required-option-p ((cli-option cli-option))

T if option is required on the command line, or NIL otherwise.

Source

command-line-interface.lisp.

Target Slot

required-option.

Generic Function: required-value-p (option)

Returns T if OPTION requires a value, or NIL otherwise.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: required-value-p ((option cli-option))
Generic Function: stream-close (stream &key abort)

Closes STREAM, returning T if STREAM was open. If
ABORT is T, attempts to clean up any side effects of having created stream.

Package

uk.co.deoxybyte-io.

Source

streams.lisp.

Methods
Method: stream-close ((stream wrapped-stream-mixin) &key abort)
Generic Reader: stream-head-of (object)
Generic Writer: (setf stream-head-of) (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: stream-head-of ((merge-stream merge-stream))
Writer Method: (setf stream-head-of) ((merge-stream merge-stream))

Returns the next element from
MERGE-STREAM without removing it. Part of the external merge sort protocol.

Source

external-merge-sort.lisp.

Target Slot

stream-head.

Generic Function: stream-merge (merge-stream)

Returns the next element from MERGE-STREAM as part
of the a merging operation between several {defclass merge-stream } s.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Methods
Method: stream-merge ((stream line-merge-stream))
Source

external-line-sort.lisp.

Generic Reader: stream-of (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: stream-of ((wrapped-stream-mixin wrapped-stream-mixin))

The underlying stream from which data are read.

Source

streams.lisp.

Target Slot

stream.

Generic Function: stream-open (filespec class &rest initargs)

Returns a Gray stream of CLASS

Package

uk.co.deoxybyte-io.

Source

streams.lisp.

Methods
Method: stream-open (filespec class &rest initargs)
Generic Function: stream-read-element (sort-input-stream)

Returns the next element from SORT-INPUT-STREAM.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Methods
Method: stream-read-element ((stream line-sort-input-stream))
Source

external-line-sort.lisp.

Generic Function: stream-write-element (element sort-output-stream)

Writes ELEMENT to SORT-OUTPUT-STREAM.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Methods
Method: stream-write-element ((line string) (stream line-sort-output-stream))
Source

external-line-sort.lisp.

Generic Reader: test-of (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: test-of ((stream-filter-mixin stream-filter-mixin))

A function designator for a test that returns
T when the next datum read from the stream is to be ignored.

Source

streams.lisp.

Target Slot

test.

Generic Reader: value-default-of (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: value-default-of ((cli-option cli-option))

A default value of the required value-type.

Source

command-line-interface.lisp.

Target Slot

value-default.

Generic Reader: value-parser-of (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: value-parser-of ((cli-option cli-option))

A value parser function for option
that is capable of parsing a string to the correct type.

Source

command-line-interface.lisp.

Target Slot

value-parser.

Generic Reader: value-type-of (object)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: value-type-of ((cli-option cli-option))

The type of the value of the option. A
type of T indicates a boolean option. Valid types are the symbols string, integer, character, float, string-list, integer-list, character-list, float-list and T (indicating boolean, i.e. no value).

Source

command-line-interface.lisp.

Target Slot

value-type.


6.1.5 Standalone methods

Method: initialize-instance :after ((stream line-merge-stream) &key)
Source

external-line-sort.lisp.

Method: initialize-instance :after ((option cli-option) &key)
Source

command-line-interface.lisp.

Method: initialize-instance :after ((stream wrapped-stream-mixin) &key)
Source

streams.lisp.

Method: open-stream-p ((stream wrapped-stream-mixin))
Source

streams.lisp.

Method: print-object ((cli cli) stream)
Source

command-line-interface.lisp.

Method: print-object ((option cli-option) stream)
Source

command-line-interface.lisp.

Method: stream-clear-input ((stream character-line-input-stream))
Package

sb-gray.

Source

line-stream.lisp.

Method: stream-clear-input ((stream io-stream-mixin))
Package

sb-gray.

Source

streams.lisp.

Method: stream-clear-input ((stream octet-line-input-stream))
Package

sb-gray.

Source

line-stream.lisp.

Method: stream-clear-output ((stream io-stream-mixin))
Package

sb-gray.

Source

streams.lisp.

Method: stream-element-type ((stream character-line-input-stream))
Source

line-stream.lisp.

Method: stream-element-type ((stream line-stream))
Source

line-stream.lisp.

Method: stream-element-type ((stream octet-line-input-stream))
Source

line-stream.lisp.

Method: stream-element-type ((stream wrapped-stream-mixin))
Source

streams.lisp.

Method: stream-file-position ((stream character-line-input-stream) &optional position)
Package

sb-gray.

Source

line-stream.lisp.

Method: stream-file-position ((stream octet-line-input-stream) &optional position)
Package

sb-gray.

Source

line-stream.lisp.

Method: stream-file-position ((stream wrapped-stream-mixin) &optional position)
Package

sb-gray.

Source

streams.lisp.

Method: stream-finish-output ((stream io-stream-mixin))
Package

sb-gray.

Source

streams.lisp.

Method: stream-force-output ((stream io-stream-mixin))
Package

sb-gray.

Source

streams.lisp.

Method: stream-read-line ((stream character-line-input-stream))
Package

sb-gray.

Source

line-stream.lisp.

Method: stream-read-line ((stream octet-line-input-stream))
Package

sb-gray.

Source

line-stream.lisp.

Method: stream-read-sequence ((stream character-line-input-stream) sequence &optional start end)
Package

sb-gray.

Source

sbcl.lisp.

Method: stream-read-sequence ((stream octet-line-input-stream) sequence &optional start end)
Package

sb-gray.

Source

sbcl.lisp.

Method: stream-write-sequence ((stream line-output-stream) sequence &optional start end)
Package

sb-gray.

Source

sbcl.lisp.


6.1.6 Conditions

Condition: cli-error

The parent type of all CLI error conditions.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

error.

Direct subclasses
Direct methods

cli-of.

Direct slots
Slot: cli

The CLI object relevant to the error.

Initform

(quote nil)

Initargs

:cli

Readers

cli-of.

Writers

This slot is read-only.

Condition: cli-option-error

The parent type of all CLI option error conditions.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-error.

Direct subclasses
Direct methods

name-of.

Direct slots
Slot: name

The option name.

Initargs

:name

Readers

name-of.

Writers

This slot is read-only.

Condition: cli-option-warning

The parent type of all CLI option warning conditions.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-warning.

Direct subclasses
Direct methods

name-of.

Direct slots
Slot: name

The option name.

Initargs

:name

Readers

name-of.

Writers

This slot is read-only.

Condition: cli-warning

The parent type of all CLI warning conditions.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

warning.

Direct subclasses

cli-option-warning.

Direct methods

cli-of.

Direct slots
Slot: cli

The CLI object relevant to the warning.

Initform

(quote nil)

Initargs

:cli

Readers

cli-of.

Writers

This slot is read-only.

Condition: field-validation-error

An error that is raised when a record field fails validation.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

malformed-field-error.

Condition: general-parse-error

The parent type of all parse error conditions.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses
Direct subclasses
Condition: incompatible-value

An error that is raised when an option is supplied with an invalid value.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-option-error.

Direct methods
Direct slots
Slot: type

The expected type of option value.

Package

common-lisp.

Initargs

:type

Readers

type-of.

Writers

This slot is read-only.

Slot: value

The invalid value.

Initargs

:value

Readers

value-of.

Writers

This slot is read-only.

Condition: io-error

The parent type of all IO error conditions.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

error.

Direct subclasses

general-parse-error.

Condition: io-warning

The parent type of all IO warning conditions.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

warning.

Condition: malformed-field-error

An error that is raised when a field-based record contains a malformed field within it.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

malformed-record-error.

Direct subclasses

field-validation-error.

Direct methods

field-of.

Direct slots
Slot: field

The malformed field.

Initform

(quote nil)

Initargs

:field

Readers

field-of.

Writers

This slot is read-only.

Condition: malformed-file-error

An error that is raised when a file is malformed for any reason.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

general-parse-error.

Direct methods

file-of.

Direct slots
Slot: file

The malformed file.

Initform

(quote nil)

Initargs

:file

Readers

file-of.

Writers

This slot is read-only.

Condition: malformed-record-error

An error that is raised when a record is malformed for any reason.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

general-parse-error.

Direct subclasses
Direct methods

record-of.

Direct slots
Slot: record

The malformed record.

Initform

(quote nil)

Initargs

:record

Readers

record-of.

Writers

This slot is read-only.

Condition: missing-required-option

An error that is raised when a required option is missing.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-option-error.

Condition: missing-required-value

An error that is raised when a required value for an option is missing.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-option-error.

Condition: record-validation-error

An error that is raised when a record fails validation of one or more of its parts.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

malformed-record-error.

Condition: unknown-command

An error that is raised when the main command is not recognised.

Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-error.

Direct methods

command-of.

Direct slots
Slot: command

The unknown command.

Initargs

:command

Readers

command-of.

Writers

This slot is read-only.

Condition: unknown-option
Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-option-warning.

Condition: unmatched-option
Package

uk.co.deoxybyte-io.

Source

conditions.lisp.

Direct superclasses

cli-option-warning.


Previous: , Up: Public Interface   [Contents][Index]

6.1.7 Classes

Class: character-line-input-stream
Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Direct superclasses
Direct methods
Class: cli

The base class of all command line
interfaces. Command line options are added as slots, the slot documentation acting as the coomand line option documentation.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Direct methods
Class: cli-option

The base class of all command line options.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Direct methods
Direct slots
Slot: name

The name string of the option.

Initform

(error "an option name is required")

Initargs

:name

Readers

name-of.

Writers

This slot is read-only.

Slot: required-option

T if option is required on the command line, or NIL otherwise.

Initargs

:required-option

Readers

required-option-p.

Writers

This slot is read-only.

Slot: value-type

The type of the value of the option. A
type of T indicates a boolean option. Valid types are the symbols string, integer, character, float, string-list, integer-list, character-list, float-list and T (indicating boolean, i.e. no value).

Initform

(quote string)

Initargs

:value-type

Readers

value-type-of.

Writers

This slot is read-only.

Slot: value-parser

A value parser function for option
that is capable of parsing a string to the correct type.

Readers

value-parser-of.

Writers

This slot is read-only.

Slot: value-default

A default value of the required value-type.

Initargs

:value-default

Readers

value-default-of.

Writers

This slot is read-only.

Class: io-stream-mixin
Package

uk.co.deoxybyte-io.

Source

streams.lisp.

Direct superclasses
  • fundamental-input-stream.
  • fundamental-output-stream.
Direct subclasses

merge-stream.

Direct methods
Class: line-input-stream

A line-based stream that allows lines to be pushed back into a stack to be re-read.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: line-stack

A list of lines that have been pushed back into the stream to be read again.

Readers

line-stack-of.

Writers

(setf line-stack-of).

Class: line-merge-stream
Package

uk.co.deoxybyte-io.

Source

external-line-sort.lisp.

Direct superclasses
Direct methods
Class: line-output-stream
Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Direct superclasses
Direct subclasses
Direct methods

stream-write-sequence.

Class: line-sort-input-stream
Package

uk.co.deoxybyte-io.

Source

external-line-sort.lisp.

Direct superclasses
Direct methods
Class: line-sort-output-stream
Package

uk.co.deoxybyte-io.

Source

external-line-sort.lisp.

Direct superclasses
Direct methods

stream-write-element.

Class: line-stream

A line-based stream. Useful for building readers and writers for ad-hoc text data sources.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Direct subclasses
Direct methods

stream-element-type.

Class: merge-stream

An IO stream for merging sorted data.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Direct superclasses

io-stream-mixin.

Direct subclasses

line-merge-stream.

Direct methods
Direct slots
Slot: stream-head

Returns the next element from
MERGE-STREAM without removing it. Part of the external merge sort protocol.

Initargs

:stream-head

Readers

stream-head-of.

Writers

(setf stream-head-of).

Class: octet-line-input-stream

A {defclass line-input-stream} whose lines are
arrays of bytes. Allows buffered reading of lines of (unsigned-byte 8) from a stream.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Direct superclasses
Direct methods
Direct slots
Slot: buffer

The buffer from which lines are read.

Initform

(make-array uk.co.deoxybyte-io::+octet-buffer-size+ :element-type (quote uk.co.deoxybyte-utilities:octet) :initial-element 0)

Initargs

:buffer

Slot: eol-code

The end of line character code. If two characters are used, this is the first of the pair.

Initform

(char-code #\newline)

Initargs

:eol-code

Slot: num-bytes

The number of bytes that were read into the buffer from the stream.

Initform

0

Slot: offset

The offset in the byte buffer from which the next byte is to be read.

Initform

0

Class: sort-input-stream

An input stream for reading and sorting the stream contents.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Direct superclasses

fundamental-input-stream.

Direct subclasses

line-sort-input-stream.

Direct methods

external-merge-sort.

Class: sort-output-stream

An output stream for sorting and writing the stream contents.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Direct superclasses

fundamental-output-stream.

Direct subclasses

line-sort-output-stream.

Direct methods

external-merge-sort.

Class: stream-filter-mixin

A mixin that provides a filtering function for
streams. Any data encountered while reading or writing for which the test returns T are ignored and skipped.

Package

uk.co.deoxybyte-io.

Source

streams.lisp.

Direct methods

test-of.

Direct slots
Slot: test

A function designator for a test that returns
T when the next datum read from the stream is to be ignored.

Initargs

:test

Readers

test-of.

Writers

This slot is read-only.

Class: wrapped-stream-mixin

A Gray-stream wrapping a standard Lisp stream.

Package

uk.co.deoxybyte-io.

Source

streams.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: stream

The underlying stream from which data are read.

Package

common-lisp.

Initargs

:stream

Readers

stream-of.

Writers

This slot is read-only.


6.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.1 Constants

Constant: +exponent-bias-32+

Exponent bias for float32

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +exponent-bias-64+

Exponent bias for float64

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +frac-factor-32+

Mantissa fraction float32 multiplication factor

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +frac-factor-64+

Mantissa fraction float64 multiplication factor

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +min-norm-exponent-32+

Smallest normalized float32 exponent

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +min-norm-exponent-64+

Smallest normalized float64 exponent

Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +negative-infinity-32+
Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +negative-infinity-64+
Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +not-a-number-32+
Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +not-a-number-64+
Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +octet-buffer-size+

Buffer size for {defclass octet-line-input-stream} internal buffer.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Constant: +positive-infinity-32+
Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.

Constant: +positive-infinity-64+
Package

uk.co.deoxybyte-io.

Source

ieee-float.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.2 Special variables

Special Variable: *list-separator-char*

The separator character used in multi-value arguments.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Special Variable: *whitespace-chars*
Package

uk.co.deoxybyte-io.

Source

parse-float.lisp.


6.2.3 Macros

Macro: define-float-decoder (name &key bytes order)

Defines a function NAME with one mandatory argument, a simple-array of unsigned-byte 8, and one optional argument, a fixnum index in that array that defaults to 0. The function returns the Lisp float whose value is given by the bytes at that index in the byte array.

Key:

- bytes (fixnum): the number of bytes that comprise the number.
- order (sumbol): the byte order of the array, may be one
of :little-endian or :big-endian ( :network-byte-order may be used as a synonym for :big-endian ).

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.

Macro: define-float-encoder (name &key bytes order)

Defines a function NAME with two mandatory arguments, a float and a simple-array of unsigned-byte 8, and one optional argument, a fixnum index in that array that defaults to 0. The function returns the buffer containing the encoded float.

Key:

- bytes (fixnum): the number of bytes that comprise the number. - order (sumbol): the byte order of the array, may be one
of :little-endian or :big-endian ( :network-byte-order may be used as a synonym for :big-endian ).

Package

uk.co.deoxybyte-io.

Source

binary-operations.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.4 Ordinary functions

Function: %stream-read-sequence (stream sequence start end)
Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Function: %stream-write-sequence (stream sequence start end)
Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Function: collect-constraint-args (form)

Returns an argument list form to be used by CROSS-VALIDATE by quoting the field-names in FORM and re-ordering the elements.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: collect-parser-args (field)

Returns an argument list form for FIELD to be used by PARSE-FIELD which has suitable parsers and validators set up for the standard field types: :string , :integer and :float .

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: default-string-parser (field-name str &key start end null-str)

Returns a string subsequence from simple-string record STR between START and END, or NIL if STR is STRING= to NULL-STR between START and END.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: default-validator (value)

The default validator always returns T.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: get-system-argv ()
Package

uk.co.deoxybyte-io.

Source

sbcl.lisp.

Function: key-string (option)
Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: merge-element (merge-streams predicate key)

Returns the next element from one of MERGE-STREAMS. The returned element is the on that sorts first according to PREDICATE and KEY, as required by the merge-sort algorithm.

Package

uk.co.deoxybyte-io.

Source

external-merge-sort.lisp.

Function: merge-pathstrings (pathname &optional default-pathname default-version)

Merges PATHNAME with defaults, using CL:MERGE-PATHNAMES, and calls {defun pathstring} on the result.

Package

uk.co.deoxybyte-io.

Source

files-and-directories.lisp.

Function: normalise-whitespace (str)
Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: parse-character (string)

Returns a character parsed from STRING of length 1 character.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: parse-character-list (string)

Returns a list of integers parsed from STRING after splitting on the *list-separator-char* character.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: parse-field (field-name line start end null-str parser &optional validator)

Returns a value parsed from LINE between START and END using PARSER and VALIDATOR.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: parse-float-list (string)

Returns a list of floats parsed from STRING after splitting on the *list-separator-char* character.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: parse-integer-list (string)

Returns a list of integers parsed from STRING after splitting on the *list-separator-char* character.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: parse-string-list (string)

Returns a list of strings parsed from STRING by splitting on the *list-separator-char* character.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: print-error-message (condition &optional stream)
Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: read-octet-line (stream)

Reads chunks of bytes up to the next newline or end of stream, returning them in a list. The newline is not included. Returns two values - a list of chunks and either NIL or T to indicate whether a terminating newline was missing. When the stream underlying the buffer is exhausted the list of chunks will be empty.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Function: signal-malformed-field (field str start end reason)

Signals a MALFORMED-FIELD-ERROR for FIELD in STR between START and END for REASON.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: subst-chars (str char &rest chars)

Returns a copy of STR where any occurrence of CHARS are substituted by CHAR.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: validate-record (name fields validator &rest field-names)

Returns a pair of constraint NAME and either T or NIL, indicating the result of applying VALIDATOR to values from the alist of parsed FIELDS named by FIELD-NAMES.

Package

uk.co.deoxybyte-io.

Source

simple-table-parser.lisp.

Function: value-type-string (option)
Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Function: whitespacep (char)
Package

uk.co.deoxybyte-io.

Source

parse-float.lisp.

Function: wrap-string (str &optional stream)

Format STR, wrapped at 70 characters, to STREAM.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.5 Generic functions

Generic Reader: cli-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: cli-of ((condition cli-warning))
Source

conditions.lisp.

Target Slot

cli.

Reader Method: cli-of ((condition cli-error))
Source

conditions.lisp.

Target Slot

cli.

Generic Reader: command-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: command-of ((condition unknown-command))
Source

conditions.lisp.

Target Slot

command.

Generic Reader: file-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: file-of ((condition malformed-file-error))
Source

conditions.lisp.

Target Slot

file.

Generic Function: find-option-slot (cli name)

Returns the slot named NAME from CLI.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: find-option-slot ((cli cli) (name string))
Generic Function: parse-safely (cli option value)

Returns a parsed VALUE of the correct Lisp type for
OPTION or raises an {define-condition incompatible-argument} error.

Package

uk.co.deoxybyte-io.

Source

command-line-interface.lisp.

Methods
Method: parse-safely ((cli cli) (option cli-option) value)
Generic Function: stream-delete-file (stream)

Equivalent to CL:DELETE-FILE.

Package

uk.co.deoxybyte-io.

Source

streams.lisp.

Methods
Method: stream-delete-file ((stream merge-stream))
Source

external-merge-sort.lisp.

Method: stream-delete-file ((stream wrapped-stream-mixin))
Generic Function: stream-write-line (string stream &optional start end)
Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Methods
Method: stream-write-line ((str string) (stream character-line-output-stream) &optional start end)
Method: stream-write-line ((str string) (stream octet-line-output-stream) &optional start end)
Generic Reader: type-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: type-of ((condition incompatible-value))
Source

conditions.lisp.

Target Slot

type.

Generic Reader: value-of (condition)
Package

uk.co.deoxybyte-io.

Methods
Reader Method: value-of ((condition incompatible-value))
Source

conditions.lisp.

Target Slot

value.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.6 Classes

Class: character-line-output-stream
Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Direct superclasses

line-output-stream.

Direct methods

stream-write-line.

Class: octet-line-output-stream
Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Direct superclasses

line-output-stream.

Direct methods

stream-write-line.


Previous: , Up: Internals   [Contents][Index]

6.2.7 Types

Type: octet-buffer ()

Buffer type for {defclass octet-line-input-stream} internal buffer.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.

Type: octet-buffer-index ()

Index type for {defclass octet-line-input-stream} internal buffer.

Package

uk.co.deoxybyte-io.

Source

line-stream.lisp.


Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   V   W  
Index Entry  Section

%
%stream-read-sequence: Private ordinary functions
%stream-write-sequence: Private ordinary functions

(
(setf environment-variable): Public ordinary functions
(setf line-stack-of): Public generic functions
(setf line-stack-of): Public generic functions
(setf stream-head-of): Public generic functions
(setf stream-head-of): Public generic functions

A
absolute-pathname-p: Public ordinary functions

B
boolean-option-p: Public generic functions
boolean-option-p: Public generic functions

C
check-field: Public macros
check-record: Public macros
cli-help: Public generic functions
cli-help: Public generic functions
cli-of: Private generic functions
cli-of: Private generic functions
cli-of: Private generic functions
collect-constraint-args: Private ordinary functions
collect-parser-args: Private ordinary functions
command-of: Private generic functions
command-of: Private generic functions

D
decode-float32be: Public ordinary functions
decode-float32le: Public ordinary functions
decode-float64be: Public ordinary functions
decode-float64le: Public ordinary functions
decode-ieee-float32: Public ordinary functions
decode-ieee-float64: Public ordinary functions
decode-int16be: Public ordinary functions
decode-int16le: Public ordinary functions
decode-int32be: Public ordinary functions
decode-int32le: Public ordinary functions
decode-int64be: Public ordinary functions
decode-int64le: Public ordinary functions
decode-int8be: Public ordinary functions
decode-int8le: Public ordinary functions
decode-uint16be: Public ordinary functions
decode-uint16le: Public ordinary functions
decode-uint32be: Public ordinary functions
decode-uint32le: Public ordinary functions
decode-uint64be: Public ordinary functions
decode-uint64le: Public ordinary functions
decode-uint8be: Public ordinary functions
decode-uint8le: Public ordinary functions
default-float-parser: Public ordinary functions
default-integer-parser: Public ordinary functions
default-string-parser: Private ordinary functions
default-validator: Private ordinary functions
define-cli: Public macros
define-float-decoder: Private macros
define-float-encoder: Private macros
define-integer-decoder: Public macros
define-integer-encoder: Public macros
define-line-parser: Public macros
delete-tmp-directory: Public ordinary functions
delete-tmp-pathname: Public ordinary functions
directory-pathname: Public ordinary functions
documentation-of: Public generic functions
documentation-of: Public generic functions

E
encode-float32be: Public ordinary functions
encode-float32le: Public ordinary functions
encode-float64be: Public ordinary functions
encode-float64le: Public ordinary functions
encode-ieee-float32: Public ordinary functions
encode-ieee-float64: Public ordinary functions
encode-int16be: Public ordinary functions
encode-int16le: Public ordinary functions
encode-int32be: Public ordinary functions
encode-int32le: Public ordinary functions
encode-int64be: Public ordinary functions
encode-int64le: Public ordinary functions
encode-int8be: Public ordinary functions
encode-int8le: Public ordinary functions
encode-uint16be: Public ordinary functions
encode-uint16le: Public ordinary functions
encode-uint32be: Public ordinary functions
encode-uint32le: Public ordinary functions
encode-uint64be: Public ordinary functions
encode-uint64le: Public ordinary functions
encode-uint8be: Public ordinary functions
encode-uint8le: Public ordinary functions
ensure-file-exists: Public ordinary functions
environment-variable: Public ordinary functions
external-merge-sort: Public generic functions
external-merge-sort: Public generic functions

F
field-of: Public generic functions
field-of: Public generic functions
file-of: Private generic functions
file-of: Private generic functions
file-pathname: Public ordinary functions
find-line: Public generic functions
find-line: Public generic functions
find-option-slot: Private generic functions
find-option-slot: Private generic functions
Function, %stream-read-sequence: Private ordinary functions
Function, %stream-write-sequence: Private ordinary functions
Function, (setf environment-variable): Public ordinary functions
Function, absolute-pathname-p: Public ordinary functions
Function, collect-constraint-args: Private ordinary functions
Function, collect-parser-args: Private ordinary functions
Function, decode-float32be: Public ordinary functions
Function, decode-float32le: Public ordinary functions
Function, decode-float64be: Public ordinary functions
Function, decode-float64le: Public ordinary functions
Function, decode-ieee-float32: Public ordinary functions
Function, decode-ieee-float64: Public ordinary functions
Function, decode-int16be: Public ordinary functions
Function, decode-int16le: Public ordinary functions
Function, decode-int32be: Public ordinary functions
Function, decode-int32le: Public ordinary functions
Function, decode-int64be: Public ordinary functions
Function, decode-int64le: Public ordinary functions
Function, decode-int8be: Public ordinary functions
Function, decode-int8le: Public ordinary functions
Function, decode-uint16be: Public ordinary functions
Function, decode-uint16le: Public ordinary functions
Function, decode-uint32be: Public ordinary functions
Function, decode-uint32le: Public ordinary functions
Function, decode-uint64be: Public ordinary functions
Function, decode-uint64le: Public ordinary functions
Function, decode-uint8be: Public ordinary functions
Function, decode-uint8le: Public ordinary functions
Function, default-float-parser: Public ordinary functions
Function, default-integer-parser: Public ordinary functions
Function, default-string-parser: Private ordinary functions
Function, default-validator: Private ordinary functions
Function, delete-tmp-directory: Public ordinary functions
Function, delete-tmp-pathname: Public ordinary functions
Function, directory-pathname: Public ordinary functions
Function, encode-float32be: Public ordinary functions
Function, encode-float32le: Public ordinary functions
Function, encode-float64be: Public ordinary functions
Function, encode-float64le: Public ordinary functions
Function, encode-ieee-float32: Public ordinary functions
Function, encode-ieee-float64: Public ordinary functions
Function, encode-int16be: Public ordinary functions
Function, encode-int16le: Public ordinary functions
Function, encode-int32be: Public ordinary functions
Function, encode-int32le: Public ordinary functions
Function, encode-int64be: Public ordinary functions
Function, encode-int64le: Public ordinary functions
Function, encode-int8be: Public ordinary functions
Function, encode-int8le: Public ordinary functions
Function, encode-uint16be: Public ordinary functions
Function, encode-uint16le: Public ordinary functions
Function, encode-uint32be: Public ordinary functions
Function, encode-uint32le: Public ordinary functions
Function, encode-uint64be: Public ordinary functions
Function, encode-uint64le: Public ordinary functions
Function, encode-uint8be: Public ordinary functions
Function, encode-uint8le: Public ordinary functions
Function, ensure-file-exists: Public ordinary functions
Function, environment-variable: Public ordinary functions
Function, file-pathname: Public ordinary functions
Function, get-system-argv: Private ordinary functions
Function, key-string: Private ordinary functions
Function, leaf-directory-pathname: Public ordinary functions
Function, leave-tmp-directory: Public ordinary functions
Function, leave-tmp-pathname: Public ordinary functions
Function, make-tmp-directory: Public ordinary functions
Function, merge-element: Private ordinary functions
Function, merge-pathstrings: Private ordinary functions
Function, normalise-whitespace: Private ordinary functions
Function, option-value: Public ordinary functions
Function, parse-character: Private ordinary functions
Function, parse-character-list: Private ordinary functions
Function, parse-field: Private ordinary functions
Function, parse-float: Public ordinary functions
Function, parse-float-list: Private ordinary functions
Function, parse-integer-list: Private ordinary functions
Function, parse-string-list: Private ordinary functions
Function, pathname-extender: Public ordinary functions
Function, pathname-generator: Public ordinary functions
Function, pathstring: Public ordinary functions
Function, print-backtrace: Public ordinary functions
Function, print-error-message: Private ordinary functions
Function, quit-lisp: Public ordinary functions
Function, read-octet-line: Private ordinary functions
Function, relative-pathname-p: Public ordinary functions
Function, signal-malformed-field: Private ordinary functions
Function, subst-chars: Private ordinary functions
Function, tmp-pathname: Public ordinary functions
Function, validate-record: Private ordinary functions
Function, value-type-string: Private ordinary functions
Function, whitespacep: Private ordinary functions
Function, wrap-string: Private ordinary functions

G
Generic Function, (setf line-stack-of): Public generic functions
Generic Function, (setf stream-head-of): Public generic functions
Generic Function, boolean-option-p: Public generic functions
Generic Function, cli-help: Public generic functions
Generic Function, cli-of: Private generic functions
Generic Function, command-of: Private generic functions
Generic Function, documentation-of: Public generic functions
Generic Function, external-merge-sort: Public generic functions
Generic Function, field-of: Public generic functions
Generic Function, file-of: Private generic functions
Generic Function, find-line: Public generic functions
Generic Function, find-option-slot: Private generic functions
Generic Function, help-message: Public generic functions
Generic Function, line-stack-of: Public generic functions
Generic Function, make-line-stream: Public generic functions
Generic Function, make-merge-stream: Public generic functions
Generic Function, more-lines-p: Public generic functions
Generic Function, name-of: Public generic functions
Generic Function, option-help: Public generic functions
Generic Function, option-of: Public generic functions
Generic Function, option-slot-p: Public generic functions
Generic Function, option-slots-of: Public generic functions
Generic Function, options-of: Public generic functions
Generic Function, parse-command-line: Public generic functions
Generic Function, parse-safely: Private generic functions
Generic Function, pop-line: Public generic functions
Generic Function, push-line: Public generic functions
Generic Function, record-of: Public generic functions
Generic Function, required-option-p: Public generic functions
Generic Function, required-value-p: Public generic functions
Generic Function, stream-close: Public generic functions
Generic Function, stream-delete-file: Private generic functions
Generic Function, stream-head-of: Public generic functions
Generic Function, stream-merge: Public generic functions
Generic Function, stream-of: Public generic functions
Generic Function, stream-open: Public generic functions
Generic Function, stream-read-element: Public generic functions
Generic Function, stream-write-element: Public generic functions
Generic Function, stream-write-line: Private generic functions
Generic Function, test-of: Public generic functions
Generic Function, type-of: Private generic functions
Generic Function, value-default-of: Public generic functions
Generic Function, value-of: Private generic functions
Generic Function, value-parser-of: Public generic functions
Generic Function, value-type-of: Public generic functions
get-system-argv: Private ordinary functions

H
help-message: Public generic functions
help-message: Public generic functions

I
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods

K
key-string: Private ordinary functions

L
leaf-directory-pathname: Public ordinary functions
leave-tmp-directory: Public ordinary functions
leave-tmp-pathname: Public ordinary functions
line-stack-of: Public generic functions
line-stack-of: Public generic functions

M
Macro, check-field: Public macros
Macro, check-record: Public macros
Macro, define-cli: Public macros
Macro, define-float-decoder: Private macros
Macro, define-float-encoder: Private macros
Macro, define-integer-decoder: Public macros
Macro, define-integer-encoder: Public macros
Macro, define-line-parser: Public macros
Macro, with-argv: Public macros
Macro, with-tmp-directory: Public macros
Macro, with-tmp-pathname: Public macros
make-line-stream: Public generic functions
make-line-stream: Public generic functions
make-merge-stream: Public generic functions
make-merge-stream: Public generic functions
make-tmp-directory: Public ordinary functions
merge-element: Private ordinary functions
merge-pathstrings: Private ordinary functions
Method, (setf line-stack-of): Public generic functions
Method, (setf stream-head-of): Public generic functions
Method, boolean-option-p: Public generic functions
Method, cli-help: Public generic functions
Method, cli-of: Private generic functions
Method, cli-of: Private generic functions
Method, command-of: Private generic functions
Method, documentation-of: Public generic functions
Method, external-merge-sort: Public generic functions
Method, field-of: Public generic functions
Method, file-of: Private generic functions
Method, find-line: Public generic functions
Method, find-option-slot: Private generic functions
Method, help-message: Public generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, line-stack-of: Public generic functions
Method, make-line-stream: Public generic functions
Method, make-merge-stream: Public generic functions
Method, more-lines-p: Public generic functions
Method, more-lines-p: Public generic functions
Method, name-of: Public generic functions
Method, name-of: Public generic functions
Method, name-of: Public generic functions
Method, open-stream-p: Public standalone methods
Method, option-help: Public generic functions
Method, option-help: Public generic functions
Method, option-of: Public generic functions
Method, option-of: Public generic functions
Method, option-slot-p: Public generic functions
Method, option-slots-of: Public generic functions
Method, options-of: Public generic functions
Method, parse-command-line: Public generic functions
Method, parse-safely: Private generic functions
Method, pop-line: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, push-line: Public generic functions
Method, record-of: Public generic functions
Method, required-option-p: Public generic functions
Method, required-value-p: Public generic functions
Method, stream-clear-input: Public standalone methods
Method, stream-clear-input: Public standalone methods
Method, stream-clear-input: Public standalone methods
Method, stream-clear-output: Public standalone methods
Method, stream-close: Public generic functions
Method, stream-delete-file: Private generic functions
Method, stream-delete-file: Private generic functions
Method, stream-element-type: Public standalone methods
Method, stream-element-type: Public standalone methods
Method, stream-element-type: Public standalone methods
Method, stream-element-type: Public standalone methods
Method, stream-file-position: Public standalone methods
Method, stream-file-position: Public standalone methods
Method, stream-file-position: Public standalone methods
Method, stream-finish-output: Public standalone methods
Method, stream-force-output: Public standalone methods
Method, stream-head-of: Public generic functions
Method, stream-merge: Public generic functions
Method, stream-of: Public generic functions
Method, stream-open: Public generic functions
Method, stream-read-element: Public generic functions
Method, stream-read-line: Public standalone methods
Method, stream-read-line: Public standalone methods
Method, stream-read-sequence: Public standalone methods
Method, stream-read-sequence: Public standalone methods
Method, stream-write-element: Public generic functions
Method, stream-write-line: Private generic functions
Method, stream-write-line: Private generic functions
Method, stream-write-sequence: Public standalone methods
Method, test-of: Public generic functions
Method, type-of: Private generic functions
Method, value-default-of: Public generic functions
Method, value-of: Private generic functions
Method, value-parser-of: Public generic functions
Method, value-type-of: Public generic functions
more-lines-p: Public generic functions
more-lines-p: Public generic functions
more-lines-p: Public generic functions

N
name-of: Public generic functions
name-of: Public generic functions
name-of: Public generic functions
name-of: Public generic functions
normalise-whitespace: Private ordinary functions

O
open-stream-p: Public standalone methods
option-help: Public generic functions
option-help: Public generic functions
option-help: Public generic functions
option-of: Public generic functions
option-of: Public generic functions
option-of: Public generic functions
option-slot-p: Public generic functions
option-slot-p: Public generic functions
option-slots-of: Public generic functions
option-slots-of: Public generic functions
option-value: Public ordinary functions
options-of: Public generic functions
options-of: Public generic functions

P
parse-character: Private ordinary functions
parse-character-list: Private ordinary functions
parse-command-line: Public generic functions
parse-command-line: Public generic functions
parse-field: Private ordinary functions
parse-float: Public ordinary functions
parse-float-list: Private ordinary functions
parse-integer-list: Private ordinary functions
parse-safely: Private generic functions
parse-safely: Private generic functions
parse-string-list: Private ordinary functions
pathname-extender: Public ordinary functions
pathname-generator: Public ordinary functions
pathstring: Public ordinary functions
pop-line: Public generic functions
pop-line: Public generic functions
print-backtrace: Public ordinary functions
print-error-message: Private ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
push-line: Public generic functions
push-line: Public generic functions

Q
quit-lisp: Public ordinary functions

R
read-octet-line: Private ordinary functions
record-of: Public generic functions
record-of: Public generic functions
relative-pathname-p: Public ordinary functions
required-option-p: Public generic functions
required-option-p: Public generic functions
required-value-p: Public generic functions
required-value-p: Public generic functions

S
signal-malformed-field: Private ordinary functions
stream-clear-input: Public standalone methods
stream-clear-input: Public standalone methods
stream-clear-input: Public standalone methods
stream-clear-output: Public standalone methods
stream-close: Public generic functions
stream-close: Public generic functions
stream-delete-file: Private generic functions
stream-delete-file: Private generic functions
stream-delete-file: Private generic functions
stream-element-type: Public standalone methods
stream-element-type: Public standalone methods
stream-element-type: Public standalone methods
stream-element-type: Public standalone methods
stream-file-position: Public standalone methods
stream-file-position: Public standalone methods
stream-file-position: Public standalone methods
stream-finish-output: Public standalone methods
stream-force-output: Public standalone methods
stream-head-of: Public generic functions
stream-head-of: Public generic functions
stream-merge: Public generic functions
stream-merge: Public generic functions
stream-of: Public generic functions
stream-of: Public generic functions
stream-open: Public generic functions
stream-open: Public generic functions
stream-read-element: Public generic functions
stream-read-element: Public generic functions
stream-read-line: Public standalone methods
stream-read-line: Public standalone methods
stream-read-sequence: Public standalone methods
stream-read-sequence: Public standalone methods
stream-write-element: Public generic functions
stream-write-element: Public generic functions
stream-write-line: Private generic functions
stream-write-line: Private generic functions
stream-write-line: Private generic functions
stream-write-sequence: Public standalone methods
subst-chars: Private ordinary functions

T
test-of: Public generic functions
test-of: Public generic functions
tmp-pathname: Public ordinary functions
type-of: Private generic functions
type-of: Private generic functions

V
validate-record: Private ordinary functions
value-default-of: Public generic functions
value-default-of: Public generic functions
value-of: Private generic functions
value-of: Private generic functions
value-parser-of: Public generic functions
value-parser-of: Public generic functions
value-type-of: Public generic functions
value-type-of: Public generic functions
value-type-string: Private ordinary functions

W
whitespacep: Private ordinary functions
with-argv: Public macros
with-tmp-directory: Public macros
with-tmp-pathname: Public macros
wrap-string: Private ordinary functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   V   W  

Next: , Previous: , Up: Indexes   [Contents][Index]

A.3 Variables

Jump to:   *   +  
B   C   E   F   L   N   O   R   S   T   V  
Index Entry  Section

*
*default-tmpdir*: Public special variables
*default-tmpfile-defaults*: Public special variables
*empty-field*: Public special variables
*list-separator-char*: Private special variables
*whitespace-chars*: Private special variables

+
+exponent-bias-32+: Private constants
+exponent-bias-64+: Private constants
+frac-factor-32+: Private constants
+frac-factor-64+: Private constants
+min-norm-exponent-32+: Private constants
+min-norm-exponent-64+: Private constants
+negative-infinity-32+: Private constants
+negative-infinity-64+: Private constants
+not-a-number-32+: Private constants
+not-a-number-64+: Private constants
+octet-buffer-size+: Private constants
+positive-infinity-32+: Private constants
+positive-infinity-64+: Private constants

B
buffer: Public classes

C
cli: Public conditions
cli: Public conditions
command: Public conditions
Constant, +exponent-bias-32+: Private constants
Constant, +exponent-bias-64+: Private constants
Constant, +frac-factor-32+: Private constants
Constant, +frac-factor-64+: Private constants
Constant, +min-norm-exponent-32+: Private constants
Constant, +min-norm-exponent-64+: Private constants
Constant, +negative-infinity-32+: Private constants
Constant, +negative-infinity-64+: Private constants
Constant, +not-a-number-32+: Private constants
Constant, +not-a-number-64+: Private constants
Constant, +octet-buffer-size+: Private constants
Constant, +positive-infinity-32+: Private constants
Constant, +positive-infinity-64+: Private constants

E
eol-code: Public classes

F
field: Public conditions
file: Public conditions

L
line-stack: Public classes

N
name: Public conditions
name: Public conditions
name: Public classes
num-bytes: Public classes

O
offset: Public classes

R
record: Public conditions
required-option: Public classes

S
Slot, buffer: Public classes
Slot, cli: Public conditions
Slot, cli: Public conditions
Slot, command: Public conditions
Slot, eol-code: Public classes
Slot, field: Public conditions
Slot, file: Public conditions
Slot, line-stack: Public classes
Slot, name: Public conditions
Slot, name: Public conditions
Slot, name: Public classes
Slot, num-bytes: Public classes
Slot, offset: Public classes
Slot, record: Public conditions
Slot, required-option: Public classes
Slot, stream: Public classes
Slot, stream-head: Public classes
Slot, test: Public classes
Slot, type: Public conditions
Slot, value: Public conditions
Slot, value-default: Public classes
Slot, value-parser: Public classes
Slot, value-type: Public classes
Special Variable, *default-tmpdir*: Public special variables
Special Variable, *default-tmpfile-defaults*: Public special variables
Special Variable, *empty-field*: Public special variables
Special Variable, *list-separator-char*: Private special variables
Special Variable, *whitespace-chars*: Private special variables
stream: Public classes
stream-head: Public classes

T
test: Public classes
type: Public conditions

V
value: Public conditions
value-default: Public classes
value-parser: Public classes
value-type: Public classes

Jump to:   *   +  
B   C   E   F   L   N   O   R   S   T   V  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   B   C   D   E   F   G   I   L   M   O   P   R   S   T   U   W  
Index Entry  Section

B
binary-operations.lisp: The deoxybyte-io/core/binary-operations․lisp file

C
character-line-input-stream: Public classes
character-line-output-stream: Private classes
Class, character-line-input-stream: Public classes
Class, character-line-output-stream: Private classes
Class, cli: Public classes
Class, cli-option: Public classes
Class, io-stream-mixin: Public classes
Class, line-input-stream: Public classes
Class, line-merge-stream: Public classes
Class, line-output-stream: Public classes
Class, line-sort-input-stream: Public classes
Class, line-sort-output-stream: Public classes
Class, line-stream: Public classes
Class, merge-stream: Public classes
Class, octet-line-input-stream: Public classes
Class, octet-line-output-stream: Private classes
Class, sort-input-stream: Public classes
Class, sort-output-stream: Public classes
Class, stream-filter-mixin: Public classes
Class, wrapped-stream-mixin: Public classes
cli: Public classes
cli-error: Public conditions
cli-option: Public classes
cli-option-error: Public conditions
cli-option-warning: Public conditions
cli-warning: Public conditions
command-line-interface.lisp: The deoxybyte-io/core/command-line-interface․lisp file
Condition, cli-error: Public conditions
Condition, cli-option-error: Public conditions
Condition, cli-option-warning: Public conditions
Condition, cli-warning: Public conditions
Condition, field-validation-error: Public conditions
Condition, general-parse-error: Public conditions
Condition, incompatible-value: Public conditions
Condition, io-error: Public conditions
Condition, io-warning: Public conditions
Condition, malformed-field-error: Public conditions
Condition, malformed-file-error: Public conditions
Condition, malformed-record-error: Public conditions
Condition, missing-required-option: Public conditions
Condition, missing-required-value: Public conditions
Condition, record-validation-error: Public conditions
Condition, unknown-command: Public conditions
Condition, unknown-option: Public conditions
Condition, unmatched-option: Public conditions
conditions.lisp: The deoxybyte-io/core/conditions․lisp file
core: The deoxybyte-io/core module

D
deoxybyte-io: The deoxybyte-io system
deoxybyte-io.asd: The deoxybyte-io/deoxybyte-io․asd file
deoxybyte-io.lisp: The deoxybyte-io/core/deoxybyte-io․lisp file

E
environment.lisp: The deoxybyte-io/core/environment․lisp file
external-line-sort.lisp: The deoxybyte-io/core/external-line-sort․lisp file
external-merge-sort.lisp: The deoxybyte-io/core/external-merge-sort․lisp file

F
field-validation-error: Public conditions
File, binary-operations.lisp: The deoxybyte-io/core/binary-operations․lisp file
File, command-line-interface.lisp: The deoxybyte-io/core/command-line-interface․lisp file
File, conditions.lisp: The deoxybyte-io/core/conditions․lisp file
File, deoxybyte-io.asd: The deoxybyte-io/deoxybyte-io․asd file
File, deoxybyte-io.lisp: The deoxybyte-io/core/deoxybyte-io․lisp file
File, environment.lisp: The deoxybyte-io/core/environment․lisp file
File, external-line-sort.lisp: The deoxybyte-io/core/external-line-sort․lisp file
File, external-merge-sort.lisp: The deoxybyte-io/core/external-merge-sort․lisp file
File, files-and-directories.lisp: The deoxybyte-io/core/files-and-directories․lisp file
File, ieee-float.lisp: The deoxybyte-io/core/ieee-float․lisp file
File, line-stream.lisp: The deoxybyte-io/core/line-stream․lisp file
File, package.lisp: The deoxybyte-io/core/package․lisp file
File, parse-float.lisp: The deoxybyte-io/core/parse-float․lisp file
File, sbcl.lisp: The deoxybyte-io/core/sbcl․lisp file
File, simple-table-parser.lisp: The deoxybyte-io/core/simple-table-parser․lisp file
File, streams.lisp: The deoxybyte-io/core/streams․lisp file
files-and-directories.lisp: The deoxybyte-io/core/files-and-directories․lisp file

G
general-parse-error: Public conditions

I
ieee-float.lisp: The deoxybyte-io/core/ieee-float․lisp file
incompatible-value: Public conditions
io-error: Public conditions
io-stream-mixin: Public classes
io-warning: Public conditions

L
line-input-stream: Public classes
line-merge-stream: Public classes
line-output-stream: Public classes
line-sort-input-stream: Public classes
line-sort-output-stream: Public classes
line-stream: Public classes
line-stream.lisp: The deoxybyte-io/core/line-stream․lisp file

M
malformed-field-error: Public conditions
malformed-file-error: Public conditions
malformed-record-error: Public conditions
merge-stream: Public classes
missing-required-option: Public conditions
missing-required-value: Public conditions
Module, core: The deoxybyte-io/core module

O
octet-buffer: Private types
octet-buffer-index: Private types
octet-line-input-stream: Public classes
octet-line-output-stream: Private classes

P
Package, uk.co.deoxybyte-io: The uk․co․deoxybyte-io package
package.lisp: The deoxybyte-io/core/package․lisp file
parse-float.lisp: The deoxybyte-io/core/parse-float․lisp file

R
record-validation-error: Public conditions

S
sbcl.lisp: The deoxybyte-io/core/sbcl․lisp file
simple-table-parser.lisp: The deoxybyte-io/core/simple-table-parser․lisp file
sort-input-stream: Public classes
sort-output-stream: Public classes
stream-filter-mixin: Public classes
streams.lisp: The deoxybyte-io/core/streams․lisp file
System, deoxybyte-io: The deoxybyte-io system

T
Type, octet-buffer: Private types
Type, octet-buffer-index: Private types

U
uk.co.deoxybyte-io: The uk․co․deoxybyte-io package
unknown-command: Public conditions
unknown-option: Public conditions
unmatched-option: Public conditions

W
wrapped-stream-mixin: Public classes

Jump to:   B   C   D   E   F   G   I   L   M   O   P   R   S   T   U   W