#include "data/transformations.h"
struct casereader;
+struct casereader_translator_class;
struct dataset;
struct dictionary;
struct session;
+struct transformation;
\f
struct dataset *dataset_create (struct session *, const char *);
struct dataset *dataset_clone (struct dataset *, const char *);
\f
/* Transformations. */
-void add_transformation (struct dataset *ds,
- trns_proc_func *, trns_free_func *, void *);
-void add_transformation_with_finalizer (struct dataset *ds,
- trns_finalize_func *,
- trns_proc_func *,
- trns_free_func *, void *);
-size_t next_transformation (const struct dataset *ds);
+void add_transformation (struct dataset *ds, const struct trns_class *, void *);
bool proc_cancel_all_transformations (struct dataset *ds);
-struct trns_chain *proc_capture_transformations (struct dataset *ds);
+void proc_push_transformations (struct dataset *);
+void proc_pop_transformations (struct dataset *, struct trns_chain *);
+bool proc_has_transformations (const struct dataset *);
void proc_start_temporary_transformations (struct dataset *ds);
bool proc_in_temporary_transformations (const struct dataset *ds);
bool proc_make_temporary_transformations_permanent (struct dataset *ds);
bool proc_cancel_temporary_transformations (struct dataset *ds);
struct variable *add_permanent_ordering_transformation (struct dataset *);
+
+bool dataset_transform_source (struct dataset *,
+ const struct casereader_translator_class *,
+ void *aux);
+void dataset_delete_vars (struct dataset *, struct variable **, size_t n);
+void dataset_reorder_vars (struct dataset *, struct variable **, size_t n);
\f
/* Procedures. */
bool dataset_end_of_command (struct dataset *);
\f
+struct measure_guesser *measure_guesser_create (struct dataset *);
+void measure_guesser_run (struct measure_guesser *, const struct casereader *);
+void measure_guesser_destroy (struct measure_guesser *);
+\f
const struct ccase *lagged_case (const struct dataset *ds, int n_before);
void dataset_need_lag (struct dataset *ds, int n_before);
\f