The cl-skip-list Reference Manual

Table of Contents

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

The cl-skip-list Reference Manual

This is the cl-skip-list Reference Manual, version 0.1, generated automatically by Declt version 2.4 "Will Decker" on Wed Jun 20 11:23:20 2018 GMT+0.


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

1 Introduction

Concurrent lockless skip lists for Common Lisp.

Currently, "Common Lisp" means SBCL version 1.0.42 or higher.  If other Lisps 
support compare-and-swap and memory barriers, let me know and I will add macros 
for those Lisps.  There is also a need to sort update locations based on some 
global order, in this case the pointer addresses.  SBCL allows that via 
(logandc2 (sb-kernel:get-lisp-obj-address vector) sb-vm:lowtag-mask))
combined with sb-sys:with-pinned-objects to avoid a GC moving things around.
Do other Lisps have similar facilities?

TODO
1. Improve performance by reusing CCAS descriptors during the first phase of an MCAS
2. Add search fingers
2. Add skip list merges
3. Add splitting

DONE
1. Added a skip-list-based priority queue
2. Added memory barriers where necessary, making the code dependent on sbcl 1.0.42


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

2 Systems

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


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

2.1 cl-skip-list

Maintainer

Kevin Raison

Author

Kevin Raison <last name @ chatsubo dot net>

Description

Concurrent lock-free skip list.

Long Description

Concurrent lock-free skip list.

Version

0.1

Dependency

cffi

Source

cl-skip-list.asd (file)

Components

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

3 Files

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


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

3.1 Lisp


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

3.1.1 cl-skip-list.asd

Location

cl-skip-list.asd

Systems

cl-skip-list (system)

Packages

cl-skip-list-system


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

3.1.2 cl-skip-list/cl-skip-list-package.lisp

Parent

cl-skip-list (system)

Location

cl-skip-list-package.lisp

Packages

cl-skip-list


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

3.1.3 cl-skip-list/random.lisp

Dependency

cl-skip-list-package.lisp (file)

Parent

cl-skip-list (system)

Location

random.lisp

Internal Definitions

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

3.1.4 cl-skip-list/utilities.lisp

Dependency

cl-skip-list-package.lisp (file)

Parent

cl-skip-list (system)

Location

utilities.lisp

Exported Definitions
Internal Definitions

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

3.1.5 cl-skip-list/gettimeofday.lisp

Dependency

cl-skip-list-package.lisp (file)

Parent

cl-skip-list (system)

Location

gettimeofday.lisp

Internal Definitions

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

3.1.6 cl-skip-list/constants.lisp

Dependency

cl-skip-list-package.lisp (file)

Parent

cl-skip-list (system)

Location

constants.lisp

Exported Definitions
Internal Definitions

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

3.1.7 cl-skip-list/mcas.lisp

Dependencies
Parent

cl-skip-list (system)

Location

mcas.lisp

Internal Definitions

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

3.1.8 cl-skip-list/skip-list.lisp

Dependencies
Parent

cl-skip-list (system)

Location

skip-list.lisp

Exported Definitions
Internal Definitions

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

3.1.9 cl-skip-list/skip-pq.lisp

Dependency

skip-list.lisp (file)

Parent

cl-skip-list (system)

Location

skip-pq.lisp

Exported Definitions
Internal Definitions

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

4 Packages

Packages are listed by definition order.


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

4.1 cl-skip-list-system

Source

cl-skip-list.asd

Use List

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

4.2 cl-skip-list

Source

cl-skip-list-package.lisp (file)

Use List
Exported Definitions
Internal Definitions

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

5 Definitions

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


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

5.1 Exported definitions


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.1 Constants

Constant: +mcas-failed+
Package

cl-skip-list

Source

constants.lisp (file)

Constant: +mcas-succeeded+
Package

cl-skip-list

Source

constants.lisp (file)

Constant: +mcas-undecided+
Package

cl-skip-list

Source

constants.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.2 Functions

Function: make-skip-list &key (HEAD HEAD) (KEY-EQUAL KEY-EQUAL) (VALUE-EQUAL VALUE-EQUAL) (COMPARISON COMPARISON) (DUPLICATES-ALLOWED? DUPLICATES-ALLOWED?) (NODE-FN NODE-FN) (LENGTH LENGTH)
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: make-skip-pq &key KEY-EQUAL VALUE-EQUAL COMPARISON HEAD-VALUE
Package

cl-skip-list

Source

skip-pq.lisp (file)

Function: skip-list-length INSTANCE
Function: (setf skip-list-length) VALUE INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: skip-list? OBJECT
Package

cl-skip-list

Source

skip-list.lisp (file)


Next: , Previous: , Up: Exported definitions   [Contents][Index]

5.1.3 Generic functions

Generic Function: delete-min SL
Package

cl-skip-list

Methods
Method: delete-min (SL skip-list)
Source

skip-pq.lisp (file)

Generic Function: less-than X Y

Generic less-than operator. Allows comparison of apples and oranges.

Package

cl-skip-list

Source

utilities.lisp (file)

Methods
Method: less-than (X symbol) (Y symbol)
Method: less-than (X symbol) (Y string)
Method: less-than (X symbol) (Y number)
Method: less-than (X number) (Y number)
Method: less-than (X number) (Y symbol)
Method: less-than (X number) (Y string)
Method: less-than (X string) (Y string)
Method: less-than (X string) (Y symbol)
Method: less-than (X string) (Y number)
Generic Function: map-skip-list FUN SL
Package

cl-skip-list

Methods
Method: map-skip-list FUN (SL skip-list)
Source

skip-list.lisp (file)

Generic Function: map-skip-list-values FUN SL
Package

cl-skip-list

Methods
Method: map-skip-list-values FUN (SL skip-list)
Source

skip-list.lisp (file)

Generic Function: skip-list-add SL KEY VALUE
Package

cl-skip-list

Methods
Method: skip-list-add (SL skip-list) KEY VALUE

Adds a new k/v pair to the skip list. Will not overwrite existing nodes or values. Use skip-list-replace-kv for that. Be prepared to catch a ’skip-list-duplicate-error.

Source

skip-list.lisp (file)

Generic Function: skip-list-delete SL KEY &optional VALUE
Package

cl-skip-list

Methods
Method: skip-list-delete (SL skip-list) KEY &optional VALUE

Delete a key or k/v pair from the skip list. If no value is specified and duplicates are allowed, it will delete the first key it finds.

Source

skip-list.lisp (file)

Generic Function: skip-list-empty? SL
Package

cl-skip-list

Methods
Method: skip-list-empty? (SL skip-list)
Source

skip-list.lisp (file)

Generic Function: skip-list-fetch-all SL KEY
Package

cl-skip-list

Methods
Method: skip-list-fetch-all (SL skip-list) KEY

Return all values for a key in a skip list where duplicates are allowed.

Source

skip-list.lisp (file)

Generic Function: skip-list-keys-cursor SL
Package

cl-skip-list

Methods
Method: skip-list-keys-cursor (SL skip-list)
Source

skip-list.lisp (file)

Generic Function: skip-list-lookup SL KEY &optional VALUE
Package

cl-skip-list

Methods
Method: skip-list-lookup (SL skip-list) KEY &optional VALUE
Source

skip-list.lisp (file)

Generic Function: skip-list-range-cursor SL START END
Package

cl-skip-list

Methods
Method: skip-list-range-cursor (SL skip-list) START END
Source

skip-list.lisp (file)

Generic Function: skip-list-replace-kv SL KEY NEW-VALUE &optional OLD-VALUE
Package

cl-skip-list

Methods
Method: skip-list-replace-kv (SL skip-list) KEY NEW-VALUE &optional OLD-VALUE

Replaces a node’s value with new-value. If old-value is supplied, will only replace the value if it matches old-value, otherwise throws ’skip-list-kv-not-found-error.

Source

skip-list.lisp (file)

Generic Function: skip-list-to-list SL
Package

cl-skip-list

Methods
Method: skip-list-to-list (SL skip-list)
Source

skip-list.lisp (file)

Generic Function: skip-list-values-cursor SL
Package

cl-skip-list

Methods
Method: skip-list-values-cursor (SL skip-list)
Source

skip-list.lisp (file)

Generic Function: sl-cursor-next SLC &optional EOC
Package

cl-skip-list

Methods
Method: sl-cursor-next (SLC skip-list-range-cursor) &optional EOC around
Source

skip-list.lisp (file)

Method: sl-cursor-next (SLC skip-list-key-cursor) &optional EOC around
Source

skip-list.lisp (file)

Method: sl-cursor-next (SLC skip-list-value-cursor) &optional EOC around
Source

skip-list.lisp (file)

Method: sl-cursor-next (SLC skip-list-cursor) &optional EOC
Source

skip-list.lisp (file)


Previous: , Up: Exported definitions   [Contents][Index]

5.1.4 Classes

Class: skip-list-range-cursor ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Direct superclasses

skip-list-cursor (class)

Direct methods
Direct slots
Slot: end
Initargs

:end

Readers

slrc-end (generic function)


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

5.2 Internal definitions


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.1 Constants

Constant: *mt-k-inverse-2^32f*

1/(2^32), as a floating-point number

Package

cl-skip-list

Source

random.lisp (file)

Constant: *mt-k2^32*
Package

cl-skip-list

Source

random.lisp (file)

Constant: *mt-lower-mask*

least significant r bits

Package

cl-skip-list

Source

random.lisp (file)

Constant: *mt-m*
Package

cl-skip-list

Source

random.lisp (file)

Constant: *mt-n*
Package

cl-skip-list

Source

random.lisp (file)

Constant: *mt-upper-mask*

most significant w-r bits

Package

cl-skip-list

Source

random.lisp (file)

Constant: +max-level+

Maximum level of skip-list, should be enough for 2^32 elements.

Package

cl-skip-list

Source

skip-list.lisp (file)

Constant: +mcas-make-durable+
Package

cl-skip-list

Source

constants.lisp (file)

Constant: +skip-node-deleted+
Package

cl-skip-list

Source

skip-pq.lisp (file)

Constant: +skip-node-forward+
Package

cl-skip-list

Source

skip-list.lisp (file)

Constant: +skip-node-key+
Package

cl-skip-list

Source

skip-list.lisp (file)

Constant: +skip-node-level+
Package

cl-skip-list

Source

skip-list.lisp (file)

Constant: +skip-node-timestamp+
Package

cl-skip-list

Source

skip-pq.lisp (file)

Constant: +skip-node-value+
Package

cl-skip-list

Source

skip-list.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.2 Special variables

Special Variable: *mcas*
Package

cl-skip-list

Source

constants.lisp (file)

Special Variable: *mt-random-state*

Unlike the reference implementation, we’ll initialize the random
state to a hopefully somewhat random & unique value., but not until after defining (mt-make-random-state-random)

Package

cl-skip-list

Source

random.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.3 Macros

Macro: cas PLACE OLD NEW
Package

cl-skip-list

Source

mcas.lisp (file)

Macro: skip-node-deleted? NODE
Package

cl-skip-list

Source

skip-pq.lisp (file)

Macro: skip-node-forward NODE
Package

cl-skip-list

Source

skip-list.lisp (file)

Macro: skip-node-key NODE
Package

cl-skip-list

Source

skip-list.lisp (file)

Macro: skip-node-level NODE
Package

cl-skip-list

Source

skip-list.lisp (file)

Macro: skip-node-timestamp NODE
Package

cl-skip-list

Source

skip-pq.lisp (file)

Macro: skip-node-value NODE
Package

cl-skip-list

Source

skip-list.lisp (file)

Macro: while TEST &rest BODY
Package

cl-skip-list

Source

utilities.lisp (file)

Macro: with-mcas LAMBDA-LIST &body BODY
Package

cl-skip-list

Source

mcas.lisp (file)

Macro: with-recursive-mcas LAMBDA-LIST &body BODY
Package

cl-skip-list

Source

mcas.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.4 Functions

Function: %gettimeofday TP TZP
Package

cl-skip-list

Source

gettimeofday.lisp (file)

Function: ccas VECTOR INDEX CONTROL-VECTOR CONTROL-INDEX OLD NEW &optional EQUALITY
Package

cl-skip-list

Source

mcas.lisp (file)

Function: ccas-descriptor? X
Package

cl-skip-list

Source

mcas.lisp (file)

Function: ccas-help CD
Package

cl-skip-list

Source

mcas.lisp (file)

Function: ccas-read VECTOR INDEX
Package

cl-skip-list

Source

mcas.lisp (file)

Function: cd-control-index STRUCTURE
Function: (setf cd-control-index) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: cd-control-vector STRUCTURE
Function: (setf cd-control-vector) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: cd-equality STRUCTURE
Function: (setf cd-equality) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: cd-index STRUCTURE
Function: (setf cd-index) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: cd-new STRUCTURE
Function: (setf cd-new) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: cd-old STRUCTURE
Function: (setf cd-old) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: cd-vector STRUCTURE
Function: (setf cd-vector) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: copy-ccas-descriptor SEQUENCE

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

cl-skip-list

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: copy-mcas-descriptor SEQUENCE

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

cl-skip-list

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: copy-mt-random-state INSTANCE
Package

cl-skip-list

Source

random.lisp (file)

Function: copy-safe-update SEQUENCE

Return a copy of SEQUENCE which is EQUAL to SEQUENCE but not EQ.

Package

cl-skip-list

Source

SYS:SRC;CODE;SEQ.LISP (not found)

Function: copy-skip-list INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: get-prop PLIST PROP
Package

cl-skip-list

Source

utilities.lisp (file)

Function: get-vector-addr VECTOR
Package

cl-skip-list

Source

mcas.lisp (file)

Function: gettimeofday ()
Package

cl-skip-list

Source

gettimeofday.lisp (file)

Function: make-ccas-descriptor &key (VECTOR VECTOR) (CONTROL-VECTOR CONTROL-VECTOR) (CONTROL-INDEX CONTROL-INDEX) (INDEX INDEX) (OLD OLD) (NEW NEW) (EQUALITY EQUALITY)
Package

cl-skip-list

Source

mcas.lisp (file)

Function: make-head &key INITIAL-ELEMENT
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: make-mcas-descriptor &key (STATUS STATUS) (COUNT COUNT) (UPDATES UPDATES) (EQUALITY EQUALITY) (SUCCESS-ACTIONS SUCCESS-ACTIONS) (RETRIES RETRIES) (TIMESTAMP TIMESTAMP)
Package

cl-skip-list

Source

mcas.lisp (file)

Function: make-mt-random-state &optional STATE

Analogous to Common Lisp’s MAKE-RANDOM-STATE except that this function works on random states for JMT’s Mersenne Twister implementation.

Package

cl-skip-list

Source

random.lisp (file)

Function: make-safe-update &key (VECTOR VECTOR) (INDEX INDEX) (OLD OLD) (NEW NEW)
Package

cl-skip-list

Source

mcas.lisp (file)

Function: make-skip-node KEY VALUE SIZE &key INITIAL-ELEMENT
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: make-skip-pq-node KEY VALUE SIZE &key INITIAL-ELEMENT TIMESTAMP
Package

cl-skip-list

Source

skip-pq.lisp (file)

Function: mcas MD
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-count STRUCTURE
Function: (setf mcas-count) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-descriptor? X
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-equality STRUCTURE
Function: (setf mcas-equality) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-help MD

This is the bulk of the transaction logic.

Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-read VECTOR INDEX
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-retries STRUCTURE
Function: (setf mcas-retries) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-set VECTOR INDEX OLD NEW
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-status STRUCTURE
Function: (setf mcas-status) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-success-actions STRUCTURE
Function: (setf mcas-success-actions) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-timestamp STRUCTURE
Function: (setf mcas-timestamp) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mcas-updates STRUCTURE
Function: (setf mcas-updates) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: mt-genrand ()
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-internal-make-random-state &key (MTI MTI) (ARR ARR)
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-make-random-state-integer N

Use the single integer to expand into a bunch of
integers to use as an MT-RANDOM-STATE.
Copied from the ’sgenrand’ function in mt19937int.c.
This is mostly an internal function. I recommend using MAKE-MT-RANDOM-STATE unless specific circumstances dictate otherwise.

Package

cl-skip-list

Source

random.lisp (file)

Function: mt-make-random-state-random ()

Generate a new random state from a new, hopefully somewhat random, value.
This is mostly an internal function. I recommend using MAKE-MT-RANDOM-STATE unless specific circumstances dictate otherwise.

Package

cl-skip-list

Source

random.lisp (file)

Function: mt-random N &optional STATE

Generate a random number. WARNING: setting state here is not thread safe; *mt-random-state* will be set without any regard for what others are doing with it!

Package

cl-skip-list

Source

random.lisp (file)

Function: mt-random-state-arr INSTANCE
Function: (setf mt-random-state-arr) VALUE INSTANCE
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-random-state-mti INSTANCE
Function: (setf mt-random-state-mti) VALUE INSTANCE
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-random-state-p OBJECT
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-refill ()

In the C program mt19937int.c, there is a function called ’genrand’, & in that function there is a block of code to execute when the mt[] array is exhausted. This function is that block of code. I’ve removed it from my MT-GENRAND function for clarity.

Package

cl-skip-list

Source

random.lisp (file)

Function: mt-tempering-shift-l N
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-tempering-shift-s N
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-tempering-shift-t N
Package

cl-skip-list

Source

random.lisp (file)

Function: mt-tempering-shift-u N
Package

cl-skip-list

Source

random.lisp (file)

Function: node-forward NODE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: print-skip-list SL STREAM DEPTH
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: random-level ()

Returns a random level for a new skip-list node, following Pugh’s pattern of L1: 50%, L2: 25%, L3: 12.5%, ...

Package

cl-skip-list

Source

skip-list.lisp (file)

Function: reset-mcas MCAS
Package

cl-skip-list

Source

mcas.lisp (file)

Function: safe-update? X
Package

cl-skip-list

Source

mcas.lisp (file)

Function: skip-list-comparison INSTANCE
Function: (setf skip-list-comparison) VALUE INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: skip-list-duplicates-allowed? INSTANCE
Function: (setf skip-list-duplicates-allowed?) VALUE INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: skip-list-head INSTANCE
Function: (setf skip-list-head) VALUE INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: skip-list-key-equal INSTANCE
Function: (setf skip-list-key-equal) VALUE INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: skip-list-node-fn INSTANCE
Function: (setf skip-list-node-fn) VALUE INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: skip-list-value-equal INSTANCE
Function: (setf skip-list-value-equal) VALUE INSTANCE
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: sl-test ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Function: update-index STRUCTURE
Function: (setf update-index) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: update-new STRUCTURE
Function: (setf update-new) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: update-old STRUCTURE
Function: (setf update-old) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)

Function: update-vector STRUCTURE
Function: (setf update-vector) VALUE STRUCTURE
Package

cl-skip-list

Source

mcas.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.5 Generic functions

Generic Function: mcas-successful? THING
Package

cl-skip-list

Source

mcas.lisp (file)

Methods
Method: mcas-successful? (S symbol)
Method: mcas-successful? (MD array)
Generic Function: skip-list OBJECT
Generic Function: (setf skip-list) NEW-VALUE OBJECT
Package

cl-skip-list

Methods
Method: skip-list (SKIP-LIST-CURSOR skip-list-cursor)

automatically generated reader method

Source

skip-list.lisp (file)

Method: (setf skip-list) NEW-VALUE (SKIP-LIST-CURSOR skip-list-cursor)

automatically generated writer method

Source

skip-list.lisp (file)

Generic Function: skip-list-cursor SL &key CURSOR CURSOR-CLASS
Package

cl-skip-list

Methods
Method: skip-list-cursor (SL skip-list) &key CURSOR CURSOR-CLASS
Source

skip-list.lisp (file)

Generic Function: skip-list-cursor-node OBJECT
Generic Function: (setf skip-list-cursor-node) NEW-VALUE OBJECT
Package

cl-skip-list

Methods
Method: skip-list-cursor-node (SKIP-LIST-CURSOR skip-list-cursor)

automatically generated reader method

Source

skip-list.lisp (file)

Method: (setf skip-list-cursor-node) NEW-VALUE (SKIP-LIST-CURSOR skip-list-cursor)

automatically generated writer method

Source

skip-list.lisp (file)

Generic Function: skip-list-search SL KEY &optional VALUE
Package

cl-skip-list

Methods
Method: skip-list-search (SL skip-list) KEY &optional VALUE
Source

skip-list.lisp (file)

Generic Function: skip-pq-add SL KEY VALUE
Package

cl-skip-list

Methods
Method: skip-pq-add (SL skip-list) KEY VALUE
Source

skip-pq.lisp (file)

Generic Function: skip-pq-delete SL NODE
Package

cl-skip-list

Methods
Method: skip-pq-delete (SL skip-list) NODE

Delete a key or k/v pair from the skip pq. If no value is specified and duplicates are allowed, it will delete the first key it finds.

Source

skip-pq.lisp (file)

Generic Function: skip-pq-search SL KEY ID
Package

cl-skip-list

Methods
Method: skip-pq-search (SL skip-list) KEY ID
Source

skip-pq.lisp (file)

Generic Function: slrc-end OBJECT
Package

cl-skip-list

Methods
Method: slrc-end (SKIP-LIST-RANGE-CURSOR skip-list-range-cursor)

automatically generated reader method

Source

skip-list.lisp (file)


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.6 Conditions

Condition: mcas-error ()
Package

cl-skip-list

Source

mcas.lisp (file)

Direct superclasses

error (condition)

Direct slots
Slot: instance
Initargs

:instance

Slot: reason
Initargs

:reason

Condition: skip-list-duplicate-error ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Direct superclasses

error (condition)

Direct slots
Slot: key
Initargs

:key

Slot: value
Initargs

:value

Condition: skip-list-kv-not-found-error ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Direct superclasses

error (condition)

Direct slots
Slot: key
Initargs

:key

Slot: value
Initargs

:value

Condition: transaction-error ()
Package

cl-skip-list

Source

mcas.lisp (file)

Direct superclasses

error (condition)

Direct slots
Slot: instance
Initargs

:instance

Slot: reason
Initargs

:reason


Next: , Previous: , Up: Internal definitions   [Contents][Index]

5.2.7 Structures

Structure: mt-random-state ()
Package

cl-skip-list

Source

random.lisp (file)

Direct superclasses

structure-object (structure)

Direct slots
Slot: mti
Readers

mt-random-state-mti (function)

Writers

(setf mt-random-state-mti) (function)

Slot: arr
Readers

mt-random-state-arr (function)

Writers

(setf mt-random-state-arr) (function)

Structure: skip-list ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Direct superclasses

structure-object (structure)

Direct methods
Direct slots
Slot: head
Initform

(cl-skip-list::make-head)

Readers

skip-list-head (function)

Writers

(setf skip-list-head) (function)

Slot: key-equal
Initform

(function equal)

Readers

skip-list-key-equal (function)

Writers

(setf skip-list-key-equal) (function)

Slot: value-equal
Initform

(function equal)

Readers

skip-list-value-equal (function)

Writers

(setf skip-list-value-equal) (function)

Slot: comparison
Initform

(function cl-skip-list:less-than)

Readers

skip-list-comparison (function)

Writers

(setf skip-list-comparison) (function)

Slot: duplicates-allowed?
Readers

skip-list-duplicates-allowed? (function)

Writers

(setf skip-list-duplicates-allowed?) (function)

Slot: node-fn
Initform

(function cl-skip-list::make-skip-node)

Readers

skip-list-node-fn (function)

Writers

(setf skip-list-node-fn) (function)

Slot: length
Type

(unsigned-byte 64)

Initform

0

Readers

skip-list-length (function)

Writers

(setf skip-list-length) (function)


Previous: , Up: Internal definitions   [Contents][Index]

5.2.8 Classes

Class: null-pointer-type ()
Package

cl-skip-list

Source

gettimeofday.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct methods

translate-to-foreign (method)

Direct Default Initargs
InitargValue
:actual-type(quote (:pointer))
Class: skip-list-cursor ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Direct superclasses

standard-object (class)

Direct subclasses
Direct methods
Direct slots
Slot: node
Initargs

:node

Readers

skip-list-cursor-node (generic function)

Writers

(setf skip-list-cursor-node) (generic function)

Slot: skip-list
Initargs

:skip-list

Readers

skip-list (generic function)

Writers

(setf skip-list) (generic function)

Class: skip-list-key-cursor ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Direct superclasses

skip-list-cursor (class)

Direct methods

sl-cursor-next (method)

Class: skip-list-value-cursor ()
Package

cl-skip-list

Source

skip-list.lisp (file)

Direct superclasses

skip-list-cursor (class)

Direct methods

sl-cursor-next (method)

Class: syscall-result-type ()
Package

cl-skip-list

Source

gettimeofday.lisp (file)

Direct superclasses

enhanced-foreign-type (class)

Direct methods

translate-from-foreign (method)

Direct Default Initargs
InitargValue
:actual-type(quote (:int))
Class: timeval-tclass ()
Package

cl-skip-list

Source

gettimeofday.lisp (file)

Direct superclasses
  • translatable-foreign-type (class)
  • foreign-struct-type (class)

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

Appendix A Indexes


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

A.1 Concepts

Jump to:   C   F   L  
Index Entry  Section

C
cl-skip-list.asd: The cl-skip-list<dot>asd file
cl-skip-list/cl-skip-list-package.lisp: The cl-skip-list/cl-skip-list-package<dot>lisp file
cl-skip-list/constants.lisp: The cl-skip-list/constants<dot>lisp file
cl-skip-list/gettimeofday.lisp: The cl-skip-list/gettimeofday<dot>lisp file
cl-skip-list/mcas.lisp: The cl-skip-list/mcas<dot>lisp file
cl-skip-list/random.lisp: The cl-skip-list/random<dot>lisp file
cl-skip-list/skip-list.lisp: The cl-skip-list/skip-list<dot>lisp file
cl-skip-list/skip-pq.lisp: The cl-skip-list/skip-pq<dot>lisp file
cl-skip-list/utilities.lisp: The cl-skip-list/utilities<dot>lisp file

F
File, Lisp, cl-skip-list.asd: The cl-skip-list<dot>asd file
File, Lisp, cl-skip-list/cl-skip-list-package.lisp: The cl-skip-list/cl-skip-list-package<dot>lisp file
File, Lisp, cl-skip-list/constants.lisp: The cl-skip-list/constants<dot>lisp file
File, Lisp, cl-skip-list/gettimeofday.lisp: The cl-skip-list/gettimeofday<dot>lisp file
File, Lisp, cl-skip-list/mcas.lisp: The cl-skip-list/mcas<dot>lisp file
File, Lisp, cl-skip-list/random.lisp: The cl-skip-list/random<dot>lisp file
File, Lisp, cl-skip-list/skip-list.lisp: The cl-skip-list/skip-list<dot>lisp file
File, Lisp, cl-skip-list/skip-pq.lisp: The cl-skip-list/skip-pq<dot>lisp file
File, Lisp, cl-skip-list/utilities.lisp: The cl-skip-list/utilities<dot>lisp file

L
Lisp File, cl-skip-list.asd: The cl-skip-list<dot>asd file
Lisp File, cl-skip-list/cl-skip-list-package.lisp: The cl-skip-list/cl-skip-list-package<dot>lisp file
Lisp File, cl-skip-list/constants.lisp: The cl-skip-list/constants<dot>lisp file
Lisp File, cl-skip-list/gettimeofday.lisp: The cl-skip-list/gettimeofday<dot>lisp file
Lisp File, cl-skip-list/mcas.lisp: The cl-skip-list/mcas<dot>lisp file
Lisp File, cl-skip-list/random.lisp: The cl-skip-list/random<dot>lisp file
Lisp File, cl-skip-list/skip-list.lisp: The cl-skip-list/skip-list<dot>lisp file
Lisp File, cl-skip-list/skip-pq.lisp: The cl-skip-list/skip-pq<dot>lisp file
Lisp File, cl-skip-list/utilities.lisp: The cl-skip-list/utilities<dot>lisp file

Jump to:   C   F   L  

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

A.2 Functions

Jump to:   %   (  
C   D   F   G   L   M   N   P   R   S   U   W  
Index Entry  Section

%
%gettimeofday: Internal functions

(
(setf cd-control-index): Internal functions
(setf cd-control-vector): Internal functions
(setf cd-equality): Internal functions
(setf cd-index): Internal functions
(setf cd-new): Internal functions
(setf cd-old): Internal functions
(setf cd-vector): Internal functions
(setf mcas-count): Internal functions
(setf mcas-equality): Internal functions
(setf mcas-retries): Internal functions
(setf mcas-status): Internal functions
(setf mcas-success-actions): Internal functions
(setf mcas-timestamp): Internal functions
(setf mcas-updates): Internal functions
(setf mt-random-state-arr): Internal functions
(setf mt-random-state-mti): Internal functions
(setf skip-list): Internal generic functions
(setf skip-list): Internal generic functions
(setf skip-list-comparison): Internal functions
(setf skip-list-cursor-node): Internal generic functions
(setf skip-list-cursor-node): Internal generic functions
(setf skip-list-duplicates-allowed?): Internal functions
(setf skip-list-head): Internal functions
(setf skip-list-key-equal): Internal functions
(setf skip-list-length): Exported functions
(setf skip-list-node-fn): Internal functions
(setf skip-list-value-equal): Internal functions
(setf update-index): Internal functions
(setf update-new): Internal functions
(setf update-old): Internal functions
(setf update-vector): Internal functions

C
cas: Internal macros
ccas: Internal functions
ccas-descriptor?: Internal functions
ccas-help: Internal functions
ccas-read: Internal functions
cd-control-index: Internal functions
cd-control-vector: Internal functions
cd-equality: Internal functions
cd-index: Internal functions
cd-new: Internal functions
cd-old: Internal functions
cd-vector: Internal functions
copy-ccas-descriptor: Internal functions
copy-mcas-descriptor: Internal functions
copy-mt-random-state: Internal functions
copy-safe-update: Internal functions
copy-skip-list: Internal functions

D
delete-min: Exported generic functions
delete-min: Exported generic functions

F
Function, %gettimeofday: Internal functions
Function, (setf cd-control-index): Internal functions
Function, (setf cd-control-vector): Internal functions
Function, (setf cd-equality): Internal functions
Function, (setf cd-index): Internal functions
Function, (setf cd-new): Internal functions
Function, (setf cd-old): Internal functions
Function, (setf cd-vector): Internal functions
Function, (setf mcas-count): Internal functions
Function, (setf mcas-equality): Internal functions
Function, (setf mcas-retries): Internal functions
Function, (setf mcas-status): Internal functions
Function, (setf mcas-success-actions): Internal functions
Function, (setf mcas-timestamp): Internal functions
Function, (setf mcas-updates): Internal functions
Function, (setf mt-random-state-arr): Internal functions
Function, (setf mt-random-state-mti): Internal functions
Function, (setf skip-list-comparison): Internal functions
Function, (setf skip-list-duplicates-allowed?): Internal functions
Function, (setf skip-list-head): Internal functions
Function, (setf skip-list-key-equal): Internal functions
Function, (setf skip-list-length): Exported functions
Function, (setf skip-list-node-fn): Internal functions
Function, (setf skip-list-value-equal): Internal functions
Function, (setf update-index): Internal functions
Function, (setf update-new): Internal functions
Function, (setf update-old): Internal functions
Function, (setf update-vector): Internal functions
Function, ccas: Internal functions
Function, ccas-descriptor?: Internal functions
Function, ccas-help: Internal functions
Function, ccas-read: Internal functions
Function, cd-control-index: Internal functions
Function, cd-control-vector: Internal functions
Function, cd-equality: Internal functions
Function, cd-index: Internal functions
Function, cd-new: Internal functions
Function, cd-old: Internal functions
Function, cd-vector: Internal functions
Function, copy-ccas-descriptor: Internal functions
Function, copy-mcas-descriptor: Internal functions
Function, copy-mt-random-state: Internal functions
Function, copy-safe-update: Internal functions
Function, copy-skip-list: Internal functions
Function, get-prop: Internal functions
Function, get-vector-addr: Internal functions
Function, gettimeofday: Internal functions
Function, make-ccas-descriptor: Internal functions
Function, make-head: Internal functions
Function, make-mcas-descriptor: Internal functions
Function, make-mt-random-state: Internal functions
Function, make-safe-update: Internal functions
Function, make-skip-list: Exported functions
Function, make-skip-node: Internal functions
Function, make-skip-pq: Exported functions
Function, make-skip-pq-node: Internal functions
Function, mcas: Internal functions
Function, mcas-count: Internal functions
Function, mcas-descriptor?: Internal functions
Function, mcas-equality: Internal functions
Function, mcas-help: Internal functions
Function, mcas-read: Internal functions
Function, mcas-retries: Internal functions
Function, mcas-set: Internal functions
Function, mcas-status: Internal functions
Function, mcas-success-actions: Internal functions
Function, mcas-timestamp: Internal functions
Function, mcas-updates: Internal functions
Function, mt-genrand: Internal functions
Function, mt-internal-make-random-state: Internal functions
Function, mt-make-random-state-integer: Internal functions
Function, mt-make-random-state-random: Internal functions
Function, mt-random: Internal functions
Function, mt-random-state-arr: Internal functions
Function, mt-random-state-mti: Internal functions
Function, mt-random-state-p: Internal functions
Function, mt-refill: Internal functions
Function, mt-tempering-shift-l: Internal functions
Function, mt-tempering-shift-s: Internal functions
Function, mt-tempering-shift-t: Internal functions
Function, mt-tempering-shift-u: Internal functions
Function, node-forward: Internal functions
Function, print-skip-list: Internal functions
Function, random-level: Internal functions
Function, reset-mcas: Internal functions
Function, safe-update?: Internal functions
Function, skip-list-comparison: Internal functions
Function, skip-list-duplicates-allowed?: Internal functions
Function, skip-list-head: Internal functions
Function, skip-list-key-equal: Internal functions
Function, skip-list-length: Exported functions
Function, skip-list-node-fn: Internal functions
Function, skip-list-value-equal: Internal functions
Function, skip-list?: Exported functions
Function, sl-test: Internal functions
Function, update-index: Internal functions
Function, update-new: Internal functions
Function, update-old: Internal functions
Function, update-vector: Internal functions

G
Generic Function, (setf skip-list): Internal generic functions
Generic Function, (setf skip-list-cursor-node): Internal generic functions
Generic Function, delete-min: Exported generic functions
Generic Function, less-than: Exported generic functions
Generic Function, map-skip-list: Exported generic functions
Generic Function, map-skip-list-values: Exported generic functions
Generic Function, mcas-successful?: Internal generic functions
Generic Function, skip-list: Internal generic functions
Generic Function, skip-list-add: Exported generic functions
Generic Function, skip-list-cursor: Internal generic functions
Generic Function, skip-list-cursor-node: Internal generic functions
Generic Function, skip-list-delete: Exported generic functions
Generic Function, skip-list-empty?: Exported generic functions
Generic Function, skip-list-fetch-all: Exported generic functions
Generic Function, skip-list-keys-cursor: Exported generic functions
Generic Function, skip-list-lookup: Exported generic functions
Generic Function, skip-list-range-cursor: Exported generic functions
Generic Function, skip-list-replace-kv: Exported generic functions
Generic Function, skip-list-search: Internal generic functions
Generic Function, skip-list-to-list: Exported generic functions
Generic Function, skip-list-values-cursor: Exported generic functions
Generic Function, skip-pq-add: Internal generic functions
Generic Function, skip-pq-delete: Internal generic functions
Generic Function, skip-pq-search: Internal generic functions
Generic Function, sl-cursor-next: Exported generic functions
Generic Function, slrc-end: Internal generic functions
get-prop: Internal functions
get-vector-addr: Internal functions
gettimeofday: Internal functions

L
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions
less-than: Exported generic functions

M
Macro, cas: Internal macros
Macro, skip-node-deleted?: Internal macros
Macro, skip-node-forward: Internal macros
Macro, skip-node-key: Internal macros
Macro, skip-node-level: Internal macros
Macro, skip-node-timestamp: Internal macros
Macro, skip-node-value: Internal macros
Macro, while: Internal macros
Macro, with-mcas: Internal macros
Macro, with-recursive-mcas: Internal macros
make-ccas-descriptor: Internal functions
make-head: Internal functions
make-mcas-descriptor: Internal functions
make-mt-random-state: Internal functions
make-safe-update: Internal functions
make-skip-list: Exported functions
make-skip-node: Internal functions
make-skip-pq: Exported functions
make-skip-pq-node: Internal functions
map-skip-list: Exported generic functions
map-skip-list: Exported generic functions
map-skip-list-values: Exported generic functions
map-skip-list-values: Exported generic functions
mcas: Internal functions
mcas-count: Internal functions
mcas-descriptor?: Internal functions
mcas-equality: Internal functions
mcas-help: Internal functions
mcas-read: Internal functions
mcas-retries: Internal functions
mcas-set: Internal functions
mcas-status: Internal functions
mcas-success-actions: Internal functions
mcas-successful?: Internal generic functions
mcas-successful?: Internal generic functions
mcas-successful?: Internal generic functions
mcas-timestamp: Internal functions
mcas-updates: Internal functions
Method, (setf skip-list): Internal generic functions
Method, (setf skip-list-cursor-node): Internal generic functions
Method, delete-min: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, less-than: Exported generic functions
Method, map-skip-list: Exported generic functions
Method, map-skip-list-values: Exported generic functions
Method, mcas-successful?: Internal generic functions
Method, mcas-successful?: Internal generic functions
Method, skip-list: Internal generic functions
Method, skip-list-add: Exported generic functions
Method, skip-list-cursor: Internal generic functions
Method, skip-list-cursor-node: Internal generic functions
Method, skip-list-delete: Exported generic functions
Method, skip-list-empty?: Exported generic functions
Method, skip-list-fetch-all: Exported generic functions
Method, skip-list-keys-cursor: Exported generic functions
Method, skip-list-lookup: Exported generic functions
Method, skip-list-range-cursor: Exported generic functions
Method, skip-list-replace-kv: Exported generic functions
Method, skip-list-search: Internal generic functions
Method, skip-list-to-list: Exported generic functions
Method, skip-list-values-cursor: Exported generic functions
Method, skip-pq-add: Internal generic functions
Method, skip-pq-delete: Internal generic functions
Method, skip-pq-search: Internal generic functions
Method, sl-cursor-next: Exported generic functions
Method, sl-cursor-next: Exported generic functions
Method, sl-cursor-next: Exported generic functions
Method, sl-cursor-next: Exported generic functions
Method, slrc-end: Internal generic functions
mt-genrand: Internal functions
mt-internal-make-random-state: Internal functions
mt-make-random-state-integer: Internal functions
mt-make-random-state-random: Internal functions
mt-random: Internal functions
mt-random-state-arr: Internal functions
mt-random-state-mti: Internal functions
mt-random-state-p: Internal functions
mt-refill: Internal functions
mt-tempering-shift-l: Internal functions
mt-tempering-shift-s: Internal functions
mt-tempering-shift-t: Internal functions
mt-tempering-shift-u: Internal functions

N
node-forward: Internal functions

P
print-skip-list: Internal functions

R
random-level: Internal functions
reset-mcas: Internal functions

S
safe-update?: Internal functions
skip-list: Internal generic functions
skip-list: Internal generic functions
skip-list-add: Exported generic functions
skip-list-add: Exported generic functions
skip-list-comparison: Internal functions
skip-list-cursor: Internal generic functions
skip-list-cursor: Internal generic functions
skip-list-cursor-node: Internal generic functions
skip-list-cursor-node: Internal generic functions
skip-list-delete: Exported generic functions
skip-list-delete: Exported generic functions
skip-list-duplicates-allowed?: Internal functions
skip-list-empty?: Exported generic functions
skip-list-empty?: Exported generic functions
skip-list-fetch-all: Exported generic functions
skip-list-fetch-all: Exported generic functions
skip-list-head: Internal functions
skip-list-key-equal: Internal functions
skip-list-keys-cursor: Exported generic functions
skip-list-keys-cursor: Exported generic functions
skip-list-length: Exported functions
skip-list-lookup: Exported generic functions
skip-list-lookup: Exported generic functions
skip-list-node-fn: Internal functions
skip-list-range-cursor: Exported generic functions
skip-list-range-cursor: Exported generic functions
skip-list-replace-kv: Exported generic functions
skip-list-replace-kv: Exported generic functions
skip-list-search: Internal generic functions
skip-list-search: Internal generic functions
skip-list-to-list: Exported generic functions
skip-list-to-list: Exported generic functions
skip-list-value-equal: Internal functions
skip-list-values-cursor: Exported generic functions
skip-list-values-cursor: Exported generic functions
skip-list?: Exported functions
skip-node-deleted?: Internal macros
skip-node-forward: Internal macros
skip-node-key: Internal macros
skip-node-level: Internal macros
skip-node-timestamp: Internal macros
skip-node-value: Internal macros
skip-pq-add: Internal generic functions
skip-pq-add: Internal generic functions
skip-pq-delete: Internal generic functions
skip-pq-delete: Internal generic functions
skip-pq-search: Internal generic functions
skip-pq-search: Internal generic functions
sl-cursor-next: Exported generic functions
sl-cursor-next: Exported generic functions
sl-cursor-next: Exported generic functions
sl-cursor-next: Exported generic functions
sl-cursor-next: Exported generic functions
sl-test: Internal functions
slrc-end: Internal generic functions
slrc-end: Internal generic functions

U
update-index: Internal functions
update-new: Internal functions
update-old: Internal functions
update-vector: Internal functions

W
while: Internal macros
with-mcas: Internal macros
with-recursive-mcas: Internal macros

Jump to:   %   (  
C   D   F   G   L   M   N   P   R   S   U   W  

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

A.3 Variables

Jump to:   *   +  
A   C   D   E   H   I   K   L   M   N   R   S   V  
Index Entry  Section

*
*mcas*: Internal special variables
*mt-k-inverse-2^32f*: Internal constants
*mt-k2^32*: Internal constants
*mt-lower-mask*: Internal constants
*mt-m*: Internal constants
*mt-n*: Internal constants
*mt-random-state*: Internal special variables
*mt-upper-mask*: Internal constants

+
+max-level+: Internal constants
+mcas-failed+: Exported constants
+mcas-make-durable+: Internal constants
+mcas-succeeded+: Exported constants
+mcas-undecided+: Exported constants
+skip-node-deleted+: Internal constants
+skip-node-forward+: Internal constants
+skip-node-key+: Internal constants
+skip-node-level+: Internal constants
+skip-node-timestamp+: Internal constants
+skip-node-value+: Internal constants

A
arr: Internal structures

C
comparison: Internal structures
Constant, *mt-k-inverse-2^32f*: Internal constants
Constant, *mt-k2^32*: Internal constants
Constant, *mt-lower-mask*: Internal constants
Constant, *mt-m*: Internal constants
Constant, *mt-n*: Internal constants
Constant, *mt-upper-mask*: Internal constants
Constant, +max-level+: Internal constants
Constant, +mcas-failed+: Exported constants
Constant, +mcas-make-durable+: Internal constants
Constant, +mcas-succeeded+: Exported constants
Constant, +mcas-undecided+: Exported constants
Constant, +skip-node-deleted+: Internal constants
Constant, +skip-node-forward+: Internal constants
Constant, +skip-node-key+: Internal constants
Constant, +skip-node-level+: Internal constants
Constant, +skip-node-timestamp+: Internal constants
Constant, +skip-node-value+: Internal constants

D
duplicates-allowed?: Internal structures

E
end: Exported classes

H
head: Internal structures

I
instance: Internal conditions
instance: Internal conditions

K
key: Internal conditions
key: Internal conditions
key-equal: Internal structures

L
length: Internal structures

M
mti: Internal structures

N
node: Internal classes
node-fn: Internal structures

R
reason: Internal conditions
reason: Internal conditions

S
skip-list: Internal classes
Slot, arr: Internal structures
Slot, comparison: Internal structures
Slot, duplicates-allowed?: Internal structures
Slot, end: Exported classes
Slot, head: Internal structures
Slot, instance: Internal conditions
Slot, instance: Internal conditions
Slot, key: Internal conditions
Slot, key: Internal conditions
Slot, key-equal: Internal structures
Slot, length: Internal structures
Slot, mti: Internal structures
Slot, node: Internal classes
Slot, node-fn: Internal structures
Slot, reason: Internal conditions
Slot, reason: Internal conditions
Slot, skip-list: Internal classes
Slot, value: Internal conditions
Slot, value: Internal conditions
Slot, value-equal: Internal structures
Special Variable, *mcas*: Internal special variables
Special Variable, *mt-random-state*: Internal special variables

V
value: Internal conditions
value: Internal conditions
value-equal: Internal structures

Jump to:   *   +  
A   C   D   E   H   I   K   L   M   N   R   S   V  

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

A.4 Data types

Jump to:   C   M   N   P   S   T  
Index Entry  Section

C
cl-skip-list: The cl-skip-list system
cl-skip-list: The cl-skip-list package
cl-skip-list-system: The cl-skip-list-system package
Class, null-pointer-type: Internal classes
Class, skip-list-cursor: Internal classes
Class, skip-list-key-cursor: Internal classes
Class, skip-list-range-cursor: Exported classes
Class, skip-list-value-cursor: Internal classes
Class, syscall-result-type: Internal classes
Class, timeval-tclass: Internal classes
Condition, mcas-error: Internal conditions
Condition, skip-list-duplicate-error: Internal conditions
Condition, skip-list-kv-not-found-error: Internal conditions
Condition, transaction-error: Internal conditions

M
mcas-error: Internal conditions
mt-random-state: Internal structures

N
null-pointer-type: Internal classes

P
Package, cl-skip-list: The cl-skip-list package
Package, cl-skip-list-system: The cl-skip-list-system package

S
skip-list: Internal structures
skip-list-cursor: Internal classes
skip-list-duplicate-error: Internal conditions
skip-list-key-cursor: Internal classes
skip-list-kv-not-found-error: Internal conditions
skip-list-range-cursor: Exported classes
skip-list-value-cursor: Internal classes
Structure, mt-random-state: Internal structures
Structure, skip-list: Internal structures
syscall-result-type: Internal classes
System, cl-skip-list: The cl-skip-list system

T
timeval-tclass: Internal classes
transaction-error: Internal conditions

Jump to:   C   M   N   P   S   T