Add scratch file handles.
[pspp-builds.git] / src / dictionary.h
index e923d52dc252d3a25debe74007e083a463c36f75..d02877141cab080ca53e87c48979cc5d72eda187 100644 (file)
@@ -20,6 +20,7 @@
 #ifndef DICTIONARY_H
 #define DICTIONARY_H
 
+#include <stdbool.h>
 #include <stddef.h>
 
 /* Dictionary. */ 
@@ -50,7 +51,7 @@ struct variable *dict_clone_var_assert (struct dictionary *,
 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);
@@ -60,9 +61,9 @@ void dict_reorder_var (struct dictionary *d, struct variable *v,
 void dict_reorder_vars (struct dictionary *,
                         struct variable *const *, size_t count);
 void dict_rename_var (struct dictionary *, struct variable *, const char *);
-int dict_rename_vars (struct dictionary *,
-                      struct variable **, char **new_names,
-                      size_t count, char **err_name);
+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 *);
@@ -80,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 *);
@@ -96,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 *);