Implements a DICTIONARY API over HASH-TABLE, P-LIST, A-LIST and an ADAPTATIVE-DICTIONARY class that automatically switch between HASH-TABLE and A-LIST depending on the number of entries. License: AGPL3 Copyright Pascal J. Bourguignon 2010 - 2015 This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see <http://www.gnu.org/licenses/>
a-list |
class |
A dictionary implemented as an A-list.
Class precedence list: A-LIST DICTIONARY-CLASS STANDARD-OBJECT T
Class init args: TEST DATA
adaptating-dictionary |
class |
A dictionary that changes between an A-list implementation and a hash-table implementation depending on the number of entries.
Class precedence list: ADAPTATING-DICTIONARY DICTIONARY-CLASS STANDARD-OBJECT T
Class init args: TEST DICTIONARY LIMIT
(adaptating-dictionary-limit dictionary) |
generic-function |
The number of elements over which the adaptating DICTIONARY switches to hash-tables, and below which it switches to A-lists.
dictionary-class |
class |
An abstract Dictionary clas.
Class precedence list: DICTIONARY-CLASS STANDARD-OBJECT T
Class init args: TEST
(dictionary-count dictionary) |
generic-function |
RETURN: the number of associations in the DICTIONARY.
(dictionary-data dictionary) |
generic-function |
The data in the dictionary.
(dictionary-delete dictionary key) |
generic-function |
Remove the KEY from the DICTIONARY.
(dictionary-get dictionary key &optional default) |
generic-function |
RETURN: The value associated with the KEY in the DICTIONARY.
(dictionary-map fun dictionary) |
generic-function |
Call the function FUN on each KEY VALUE association in the DICTIONARY.
(dictionary-set dictionary key value) |
generic-function |
Enter or update the VALUE associated with the KEY into the DICTIONARY.
(dictionary-test dictionary) |
generic-function |
RETURN: The test function of the dictionary.
(make-dictionary type &key test size contents) |
generic-function |
TYPE: Name of a class implementing the dictionary protocol. TEST: Restricted to EQL, EQUAL or EQUALP when type is HASH-TABLE. CONTENTS: A p-list containing the initial key value pairs.
p-list |
class |
A dictionary implemented as a P-list.
Class precedence list: P-LIST DICTIONARY-CLASS STANDARD-OBJECT T
Class init args: TEST DATA