- (let ((callback-id (register-callback-function function)))
- (unwind-protect
- (%container-foreach container callback-id)
- (destroy-user-data callback-id))))
+ (with-callback-function (id function)
+ (%container-foreach container id)))
+
+(defbinding %container-forall (container callback-id) nil
+ (container container)
+ ((callback %foreach-callback) pointer)
+ (callback-id unsigned-int))
+
+(defun container-forall (container function)
+ (with-callback-function (id function)
+ (%container-forall container id)))