const struct variable **vars;
};
-
-
struct interaction * interaction_create (const struct variable *);
+struct interaction * interaction_clone (const struct interaction *);
void interaction_destroy (struct interaction *);
void interaction_add_variable (struct interaction *, const struct variable *);
void interaction_dump (const struct interaction *);
void interaction_to_string (const struct interaction *iact, struct string *str);
+bool interaction_is_proper_subset (const struct interaction *x, const struct interaction *y);
+bool interaction_is_subset (const struct interaction *x, const struct interaction *y);
-union value;
+struct ccase;
+unsigned int interaction_case_hash (const struct interaction *, const struct ccase *, unsigned int base);
+bool interaction_case_equal (const struct interaction *, const struct ccase *, const struct ccase *);
+bool interaction_case_is_missing (const struct interaction *, const struct ccase *, enum mv_class);
+int interaction_case_cmp_3way (const struct interaction *, const struct ccase *, const struct ccase *);
-unsigned int interaction_value_hash (const struct interaction *, const union value *);
-bool interaction_value_equal (const struct interaction *, const union value *, const union value *);
-bool interaction_value_is_missing (const struct interaction *, const union value *, enum mv_class);
#endif