
store_delete(+StoreHandle, ++Key)

   Delete an entry in a store object

Arguments
   StoreHandle         A store handle or store name
   Key                 A ground term

Type
   Non-logical Variables, Arrays, Bags, Shelves and Stores

Description
	This deletes any entry for a given key in a given store object.
	If the store does not contain such an entry, the predicate
	silently succeeds anyway.

	The key can be arbitrarily complex, but must be a ground term.

	The complexity of this operation is linear in the size
	of the key, since the key needs to be compared. For indexing purposes,
	a hash value is computed from the key, and the full depth of the key
	is taken into account.

	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
   store_delete(+, ++) is det

Modules
   This predicate is sensitive to its module context (tool predicate, see @/2).

Exceptions
     4 --- StoreHandle is uninstantiated
     4 --- Key is not ground
     5 --- StoreHandle is neither atom nor compound term nor store handle
    45 --- StoreHandle is not the name of a store

Examples
   

    ?- store_create(Handle),
       store_set(Handle, tom, 12345),
       stored_keys_and_values(Handle, Before),
       store_delete(Handle, tom),
       stored_keys_and_values(Handle, After).

    Handle = 'STORE'(16'001b3d40)
    Before = [tom - 12345]
    After = []
    Yes (0.00s cpu)

    ?- store_create(Handle),
       store_set(Handle, tom, 12345),
       store_delete(Handle, tom),
       store_delete(Handle, tom).

    Yes (0.00s cpu)
    

See Also
   store / 1, local / 1, store_erase / 1, store_set / 3, store_contains / 2, store_get / 3, stored_keys / 2, stored_keys_and_values / 2, store_create / 1, store_count / 2
