[ Non-logical Variables, Arrays, Bags, Shelves and Stores | Reference Manual | Alphabetic Index ]
stored_keys_and_values(+StoreHandle, -KeysValues)
Retrieve all data stored in a store object
- StoreHandle
- A store handle or store name
- KeysValues
- A variable or list
Description
This retrieves a list of all key/value pairs which are stored
in the given store object. If the store is empty, the empty list
is returned. Otherwise, a list of Key - Value terms is returned.
The order of the returned list is undefined.
The complexity of this operation is linear in the size of all keys
and values, since they need to be copied.
Note: If StoreHandle is not a handle, then it must be an atom or a
compound term, and the store is identified by this term's toplevel
functor together with the context module.
Modes and Determinism
- stored_keys_and_values(+, -) is det
Modules
This predicate is sensitive to its module context (tool predicate, see @/2).
Exceptions
- (4) instantiation fault
- StoreHandle is uninstantiated
- (5) type error
- StoreHandle is neither atom nor compound term nor store handle
- (45) named object does not exist
- StoreHandle is not the name of a store
Examples
?- store_create(Handle),
store_set(Handle, tom, 12345),
store_set(Handle, name(dick,tracy), phone(42376,home)),
store_set(Handle, numbers:prime, [2,3,5,7|_More]),
stored_keys_and_values(Handle, Data).
Handle = $&(store,"17h3")
Data = [(numbers : prime) - [2, 3, 5, 7|_More],
tom - 12345,
name(dick, tracy) - phone(42376, home)]
Yes (0.00s cpu)
?- store_create(Handle),
stored_keys_and_values(Handle, Data).
Handle = $&(store,"17h3")
Data = []
Yes (0.00s cpu)
See Also
store / 1, store_create / 1, store_contains / 2, store_count / 2, store_delete / 2, store_erase / 1, store_get / 3, store_inc / 2, store_insert / 3, store_remove / 3, store_set / 3, store_test_and_set / 4, store_update / 4, stored_keys / 2