cl-skip-list

API Reference

cl-skip-list

Concurrent lock-free skip list.

CL-SKIP-LIST

  • Generic-Function LESS-THAN (x y)
    Generic less-than operator. Allows comparison of apples and oranges.
  • Method LESS-THAN ((x string) (y number))
  • Method LESS-THAN ((x string) (y number))
  • Method LESS-THAN ((x string) (y number))
  • Method LESS-THAN ((x string) (y symbol))
  • Method LESS-THAN ((x string) (y symbol))
  • Method LESS-THAN ((x string) (y symbol))
  • Method LESS-THAN ((x string) (y string))
  • Method LESS-THAN ((x string) (y string))
  • Method LESS-THAN ((x string) (y string))
  • Method LESS-THAN ((x number) (y string))
  • Method LESS-THAN ((x number) (y string))
  • Method LESS-THAN ((x number) (y string))
  • Method LESS-THAN ((x number) (y symbol))
  • Method LESS-THAN ((x number) (y symbol))
  • Method LESS-THAN ((x number) (y symbol))
  • Method LESS-THAN ((x number) (y number))
  • Method LESS-THAN ((x number) (y number))
  • Method LESS-THAN ((x number) (y number))
  • Method LESS-THAN ((x symbol) (y number))
  • Method LESS-THAN ((x symbol) (y number))
  • Method LESS-THAN ((x symbol) (y number))
  • Method LESS-THAN ((x symbol) (y string))
  • Method LESS-THAN ((x symbol) (y string))
  • Method LESS-THAN ((x symbol) (y string))
  • Method LESS-THAN ((x symbol) (y symbol))
  • Method LESS-THAN ((x symbol) (y symbol))
  • Method LESS-THAN ((x symbol) (y symbol))
  • Variable +MCAS-UNDECIDED+
    :undecided
  • Variable +MCAS-FAILED+
    :failed
  • Variable +MCAS-SUCCEEDED+
    :succeeded
  • Function SKIP-LIST? (object)
  • Function SKIP-LIST-LENGTH (instance)
  • Function (setf SKIP-LIST-LENGTH) (value instance)
  • Function MAKE-SKIP-LIST (&key ((head head) (make-head)) ((key-equal key-equal) #'equal) ((value-equal value-equal) #'equal) ((comparison comparison) #'less-than) ((duplicates-allowed? duplicates-allowed?) nil) ((node-fn node-fn) #'make-skip-node) ((length length) 0))
  • Method SKIP-LIST-EMPTY? ((sl skip-list))
  • Method SKIP-LIST-TO-LIST ((sl skip-list))
  • Method SKIP-LIST-LOOKUP ((sl skip-list) key &optional value)
  • 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.
  • 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.
  • 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.
  • Method SL-CURSOR-NEXT ((slc skip-list-cursor) &optional eoc)
  • Method SL-CURSOR-NEXT ((slc skip-list-value-cursor) &optional eoc)
  • Method SL-CURSOR-NEXT ((slc skip-list-key-cursor) &optional eoc)
  • Method SKIP-LIST-VALUES-CURSOR ((sl skip-list))
  • Method SKIP-LIST-KEYS-CURSOR ((sl skip-list))
  • Class SKIP-LIST-RANGE-CURSOR  (SKIP-LIST-CURSOR)
    END   Reader: SLRC-END
  • Method SL-CURSOR-NEXT ((slc skip-list-range-cursor) &optional eoc)
  • Method SKIP-LIST-RANGE-CURSOR ((sl skip-list) start end)
  • Method MAP-SKIP-LIST (fun (sl skip-list))
  • Method MAP-SKIP-LIST-VALUES (fun (sl skip-list))
  • Method SKIP-LIST-FETCH-ALL ((sl skip-list) key)
    Return all values for a key in a skip list where duplicates are allowed.
  • Function MAKE-SKIP-PQ (&key (key-equal #'=) (value-equal #'equal) (comparison #'<) (head-value most-negative-fixnum))
  • Method DELETE-MIN ((sl skip-list))