[cells-cvs] CVS cells

phildebrandt phildebrandt at common-lisp.net
Thu May 15 16:06:30 UTC 2008


Update of /project/cells/cvsroot/cells
In directory clnet:/tmp/cvs-serv7570

Modified Files:
	cells-store.lisp 
Log Message:
added store-items to get an (a)list of all items


--- /project/cells/cvsroot/cells/cells-store.lisp	2008/04/22 14:50:56	1.1
+++ /project/cells/cvsroot/cells/cells-store.lisp	2008/05/15 16:06:29	1.2
@@ -18,7 +18,7 @@
 
 (in-package :cells)
 
-(export! cells-store bwhen-c-stored c?-with-stored with-store-item store-add store-lookup store-remove)
+(export! cells-store bwhen-c-stored c?-with-stored with-store-item store-add store-lookup store-remove store-items)
 
 (defmacro c?-with-stored ((var key store &optional default) &body body)
   `(c? (bwhen-c-stored (,var ,key ,store ,default)
@@ -118,6 +118,11 @@
   (with-store-entry (key store :quiet quiet)
     (setf (item key store) nil)))
 
+(defmethod store-items ((store cells-store) &key (include-keys nil))
+  (loop for key being the hash-keys in (data store)
+     for val being the hash-values in (data store)
+     if (and (cdr val) include-keys) collect (cons key (cdr val))
+     else if (cdr val) collect it))
 
 ;;;  unit test
 




More information about the Cells-cvs mailing list