const struct ccase *, bool *);
struct variable *dict_get_weight (const struct dictionary *);
void dict_set_weight (struct dictionary *, struct variable *);
-const struct fmt_spec *dict_get_weight_format (const struct dictionary *);
+struct fmt_spec dict_get_weight_format (const struct dictionary *);
/* Filter variable. */
struct variable *dict_get_filter (const struct dictionary *);
struct caseproto *dict_get_compacted_proto (const struct dictionary *,
unsigned int exclude_classes);
-/* SPLIT FILE variables. */
+/* SPLIT FILE variables.
+
+ SPLIT_NONE is used if and only if there are no split file variables. */
enum split_type
{
+ SPLIT_NONE, /* No split file variables. */
SPLIT_SEPARATE, /* Produce separate output for each split. */
SPLIT_LAYERED, /* Output splits in same table. */
};
+#define MAX_SPLITS 8
const struct variable *const *dict_get_split_vars (const struct dictionary *);
size_t dict_get_n_splits (const struct dictionary *);
enum split_type dict_get_split_type (const struct dictionary *);
bool dict_delete_mrset (struct dictionary *, const char *name);
void dict_clear_mrsets (struct dictionary *);
+/* Variable sets. */
+const struct varset *dict_get_varset (const struct dictionary *, size_t idx);
+size_t dict_get_n_varsets (const struct dictionary *);
+const struct varset *dict_lookup_varset (const struct dictionary *,
+ const char *name);
+
+bool dict_add_varset (struct dictionary *, struct varset *);
+bool dict_delete_varset (struct dictionary *, const char *name);
+void dict_clear_varsets (struct dictionary *);
+
/* Attributes. */
struct attrset *dict_get_attributes (const struct dictionary *);
void dict_set_attributes (struct dictionary *, const struct attrset *);
/* Data encoding. */
const char *dict_get_encoding (const struct dictionary *d);
-bool dict_id_is_valid (const struct dictionary *, const char *id,
- bool issue_error);
+char *dict_id_is_valid__ (const struct dictionary *, const char *id)
+ WARN_UNUSED_RESULT;
+bool dict_id_is_valid (const struct dictionary *, const char *id);
/* Internal variables. */
struct variable *dict_create_internal_var (int case_idx, int width);