X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=inline;f=src%2Fcase.h;h=541a3e2ebdc9c2c677a67fdfcc301e2e4f9f61ce;hb=1f8dd363d6c20d07fcca14cb948018465fa5ed8b;hp=6af3aaf8d56a3478fb5cbc132186b41cc413d1ac;hpb=8e4f17e8ae04936359e9e1837b5a42004609cb2b;p=pspp-builds.git diff --git a/src/case.h b/src/case.h index 6af3aaf8..541a3e2e 100644 --- a/src/case.h +++ b/src/case.h @@ -14,13 +14,14 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - 02111-1307, USA. */ + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + 02110-1301, USA. */ #ifndef HEADER_CASE #define HEADER_CASE #include +#include #include "val.h" /* Opaque structure that represents a case. Use accessor @@ -56,6 +57,9 @@ CASE_INLINE void case_clone (struct ccase *, const struct ccase *); CASE_INLINE void case_move (struct ccase *, struct ccase *); CASE_INLINE void case_destroy (struct ccase *); +void case_resize (struct ccase *, size_t old_cnt, size_t new_cnt); +void case_swap (struct ccase *, struct ccase *); + int case_try_create (struct ccase *, size_t value_cnt); int case_try_clone (struct ccase *, const struct ccase *); @@ -69,10 +73,17 @@ CASE_INLINE void case_from_values (struct ccase *, CASE_INLINE const union value *case_data (const struct ccase *, size_t idx); CASE_INLINE double case_num (const struct ccase *, size_t idx); -CASE_INLINE const char *case_str (const struct ccase *, size_t idx); +CASE_INLINE const unsigned char *case_str (const struct ccase *, size_t idx); CASE_INLINE union value *case_data_rw (struct ccase *, size_t idx); +struct variable; +int case_compare (const struct ccase *, const struct ccase *, + struct variable *const *, size_t var_cnt); +int case_compare_2dict (const struct ccase *, const struct ccase *, + struct variable *const *, struct variable *const *, + size_t var_cnt); + const union value *case_data_all (const struct ccase *); union value *case_data_all_rw (struct ccase *); @@ -159,7 +170,7 @@ case_num (const struct ccase *c, size_t idx) return c->case_data->values[idx].f; } -static inline const char * +static inline const unsigned char * case_str (const struct ccase *c, size_t idx) { return c->case_data->values[idx].s;