+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),
+ void *aux);
+
+struct casereader *casereader_project (struct casereader *,
+ const struct subcase *);
+struct casereader *casereader_project_1 (struct casereader *, int column);
+struct casereader *casereader_select (struct casereader *,
+ casenumber first, casenumber last,
+ casenumber by);
+
+/* A function which creates a numberic value from an existing case */
+typedef double new_value_func (const struct ccase *, casenumber, void *);
+
+struct casereader *
+casereader_create_append_numeric (struct casereader *subreader,
+ new_value_func func, void *aux,
+ void (*destroy) (void *aux));
+