X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fsubcase.h;h=4e5043648c4728fbbacfe01fecb5ab3f0cf0173a;hb=bc5c6c1953ada1737620e27e6a968392a38d8c8f;hp=6e59da1d3679ac5b4c89f8a1b6a6ca6bc910627c;hpb=b5c82cc9aabe7e641011130240ae1b2e84348e23;p=pspp diff --git a/src/data/subcase.h b/src/data/subcase.h index 6e59da1d36..4e5043648c 100644 --- a/src/data/subcase.h +++ b/src/data/subcase.h @@ -58,19 +58,31 @@ void subcase_init (struct subcase *, int index, int width, void subcase_clone (struct subcase *, const struct subcase *); void subcase_clear (struct subcase *); -void subcase_destroy (struct subcase *); +void subcase_uninit (struct subcase *); -bool subcase_add (struct subcase *sc, int index, int width, - enum subcase_direction direction); +bool subcase_contains (const struct subcase *, int case_index); +bool subcase_contains_var (const struct subcase *, const struct variable *); +bool subcase_add (struct subcase *, int case_index, int width, + enum subcase_direction direction); bool subcase_add_var (struct subcase *, const struct variable *, enum subcase_direction); +void subcase_add_always (struct subcase *sc, int case_index, int width, + enum subcase_direction direction); +void subcase_add_var_always (struct subcase *, const struct variable *, + enum subcase_direction); +void subcase_add_vars_always (struct subcase *, + const struct variable *const *, size_t n_vars); +void subcase_add_proto_always (struct subcase *, const struct caseproto *); + const struct caseproto *subcase_get_proto (const struct subcase *); static inline bool subcase_is_empty (const struct subcase *); static inline size_t subcase_get_n_fields (const struct subcase *); +static inline size_t subcase_get_case_index (const struct subcase *, + size_t idx); static inline enum subcase_direction subcase_get_direction ( const struct subcase *, size_t idx); @@ -100,6 +112,12 @@ bool subcase_equal_cx (const struct subcase *, bool subcase_equal_xx (const struct subcase *, const union value *a, const union value *b); +static inline size_t +subcase_get_case_index (const struct subcase *sc, size_t idx) +{ + return sc->fields[idx].case_index; +} + static inline enum subcase_direction subcase_get_direction (const struct subcase *sc, size_t idx) {