On Wed, Sep 27, 2006 at 07:48:25AM -0700, Benjamin Levy Pfaff wrote:
OK. Then let's create a new abstract data type, a "case_filter" or some
such. To get a casereader with a filter, you pass one in, otherwise you
pass in a null pointer, so there's only a single additional argument.
Cloned casereaders keep the same filter. When no casereader or clone is
still using a filter, it gets destroyed; either reference counting or
case_filter cloning could be used.
I've been looking at this again. I don't think it will be necessary
to abstract the case_filter. A simple object containing an array of
variables, and a bool to indicate whether user missing values should
be excluded will, I think, be sufficient for all scenarios I can
foresee. If more complicated situations arise, then we can generalise
a little, or abstract the type if and when that becomes necessary.
I think a simple reference counted struct passed to
casefile_get_reader will do the job, and be least troublesome to use.
J'
--
PGP Public key ID: 1024D/2DE827B3
fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3
See http://pgp.mit.edu or any PGP keyserver for public key.
signature.asc
Description: Digital signature
_______________________________________________ pspp-dev mailing list [email protected] http://lists.gnu.org/mailman/listinfo/pspp-dev
