free (ex);
}
}
+\f
+/* pivot_splits */
+
+struct pivot_splits
+ {
+ const struct dictionary *dict;
+ struct hmap splits[MAX_SPLITS];
+ };
+
+struct pivot_splits *
+pivot_splits_create (struct pivot_table *pt,
+ enum pivot_axis_type axis,
+ const struct dictionary *dict)
+{
+ if (dict_get_split_type (dict) != SPLIT_LAYERED)
+ return NULL;
+
+ struct pivot_splits *ps = xmalloc (sizeof *ps);
+ *ps = (struct pivot_splits) { .dict = dict };
+ for (size_t i = 0; i < dict_get_n_splits (dict); i++)
+ {
+ hmap_init (&ps->splits[i]);
+ struct pivot_dimension *d = pivot_dimension_create__ (
+ pt, axis, pivot_value_new_variable (dict_get_split_vars (dict)[i]));
+ }
+ return ps;
+}