Work on support for variable sets.
[pspp] / src / data / casereader.h
index 24afb972fc603fe889822df7e6c296ee06f65e81..06f7a7b13a2cf872644cc9b8fc62d23c291ad3d1 100644 (file)
@@ -1,5 +1,5 @@
 /* PSPP - a program for statistical analysis.
-   Copyright (C) 2007, 2009, 2010, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2007, 2009, 2010, 2011, 2013 Free Software Foundation, Inc.
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -64,19 +64,17 @@ struct ccase *casereader_read (struct casereader *);
 bool casereader_destroy (struct casereader *);
 
 struct casereader *casereader_clone (const struct casereader *);
-void casereader_split (struct casereader *,
-                       struct casereader **, struct casereader **);
 struct casereader *casereader_rename (struct casereader *);
 void casereader_swap (struct casereader *, struct casereader *);
 
-struct ccase *casereader_peek (struct casereader *, casenumber);
-bool casereader_is_empty (struct casereader *);
+struct ccase *casereader_peek (const struct casereader *, casenumber);
+bool casereader_is_empty (const struct casereader *);
 
 bool casereader_error (const struct casereader *);
 void casereader_force_error (struct casereader *);
 const struct taint *casereader_get_taint (const struct casereader *);
 
-casenumber casereader_get_case_cnt (struct casereader *);
+casenumber casereader_get_n_cases (struct casereader *);
 casenumber casereader_count_cases (const struct casereader *);
 void casereader_truncate (struct casereader *, casenumber);
 const struct caseproto *casereader_get_proto (const struct casereader *);
@@ -100,7 +98,7 @@ casereader_create_filter_weight (struct casereader *,
                                  struct casewriter *exclude);
 struct casereader *
 casereader_create_filter_missing (struct casereader *,
-                                  const struct variable *const*vars, size_t var_cnt,
+                                  const struct variable *const *vars, size_t n_vars,
                                   enum mv_class,
                                  casenumber *n_missing,
                                   struct casewriter *exclude);
@@ -109,21 +107,20 @@ struct casereader *
 casereader_create_counter (struct casereader *, casenumber *counter,
                            casenumber initial_value);
 
+struct casereader_translator_class
+  {
+    struct ccase *(*translate) (struct ccase *, void *aux);
+    bool (*destroy) (void *aux);
+  };
 struct casereader *
 casereader_create_translator (struct casereader *,
                               const struct caseproto *output_proto,
-                              struct ccase *(*translate) (struct ccase *,
-                                                          void *aux),
-                              bool (*destroy) (void *aux),
+                              const struct casereader_translator_class *,
                               void *aux);
-
 struct casereader *
 casereader_translate_stateless (struct casereader *,
                                 const struct caseproto *output_proto,
-                                struct ccase *(*translate) (struct ccase *,
-                                                            casenumber idx,
-                                                            const void *aux),
-                                bool (*destroy) (void *aux),
+                                const struct casereader_translator_class *,
                                 void *aux);
 
 struct casereader *casereader_project (struct casereader *,