Add scratch file handles.
[pspp-builds.git] / src / dictionary.h
index 58092b7502055c676f7518866f64917eba86ddeb..d02877141cab080ca53e87c48979cc5d72eda187 100644 (file)
@@ -20,6 +20,7 @@
 #ifndef DICTIONARY_H
 #define DICTIONARY_H
 
+#include <stdbool.h>
 #include <stddef.h>
 
 /* Dictionary. */ 
@@ -40,28 +41,29 @@ void dict_get_vars (const struct dictionary *,
 struct variable *dict_create_var (struct dictionary *, const char *,
                                   int width);
 
-struct variable *dict_create_var_from_short (struct dictionary *d, 
-                                            const char *shortname, 
-                                            int width);
-
 struct variable *dict_create_var_assert (struct dictionary *, const char *,
                                   int width);
 struct variable *dict_clone_var (struct dictionary *, const struct variable *,
-                                 const char *shortname, const char *longname);
-void dict_rename_var (struct dictionary *, struct variable *, const char *);
+                                 const char *);
+struct variable *dict_clone_var_assert (struct dictionary *,
+                                        const struct variable *, const char *);
 
 struct variable *dict_lookup_var (const struct dictionary *, const char *);
 struct variable *dict_lookup_var_assert (const struct dictionary *,
                                          const char *);
-int dict_contains_var (const struct dictionary *, const struct variable *);
+bool dict_contains_var (const struct dictionary *, const struct variable *);
 void dict_delete_var (struct dictionary *, struct variable *);
 void dict_delete_vars (struct dictionary *,
                        struct variable *const *, size_t count);
+void dict_delete_scratch_vars (struct dictionary *);
+void dict_reorder_var (struct dictionary *d, struct variable *v,
+                       size_t new_index);
 void dict_reorder_vars (struct dictionary *,
                         struct variable *const *, size_t count);
-int dict_rename_vars (struct dictionary *,
-                      struct variable **, char **new_names,
-                      size_t count, char **err_name);
+void dict_rename_var (struct dictionary *, struct variable *, const char *);
+bool dict_rename_vars (struct dictionary *,
+                       struct variable **, char **new_names,
+                       size_t count, char **err_name);
 
 struct ccase;
 struct variable *dict_get_weight (const struct dictionary *);
@@ -79,10 +81,14 @@ int dict_get_next_value_idx (const struct dictionary *);
 size_t dict_get_case_size (const struct dictionary *);
 
 void dict_compact_values (struct dictionary *);
-void dict_compact_case (const struct dictionary *,
-                        struct ccase *, const struct ccase *);
 size_t dict_get_compacted_value_cnt (const struct dictionary *);
 int *dict_get_compacted_idx_to_fv (const struct dictionary *);
+bool dict_needs_compaction (const struct dictionary *);
+
+struct dict_compactor *dict_make_compactor (const struct dictionary *);
+void dict_compactor_compact (const struct dict_compactor *,
+                             struct ccase *, const struct ccase *);
+void dict_compactor_destroy (struct dict_compactor *);
 
 struct variable *const *dict_get_split_vars (const struct dictionary *);
 size_t dict_get_split_cnt (const struct dictionary *);
@@ -95,9 +101,9 @@ void dict_set_label (struct dictionary *, const char *);
 const char *dict_get_documents (const struct dictionary *);
 void dict_set_documents (struct dictionary *, const char *);
 
-int dict_create_vector (struct dictionary *,
-                        const char *name,
-                        struct variable **, size_t cnt);
+bool dict_create_vector (struct dictionary *,
+                         const char *name,
+                         struct variable **, size_t cnt);
 const struct vector *dict_get_vector (const struct dictionary *,
                                       size_t idx);
 size_t dict_get_vector_cnt (const struct dictionary *);
@@ -105,12 +111,6 @@ const struct vector *dict_lookup_vector (const struct dictionary *,
                                          const char *name);
 void dict_clear_vectors (struct dictionary *);
 
-void dict_get_varname_block(const struct dictionary *dict, char **buf, int *size);
-
-void dict_add_longvar_entry(struct dictionary *d, const char *name, 
-                           const char *longname);
-
-
-
+void dict_assign_short_names (struct dictionary *);
 
 #endif /* dictionary.h */