X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fvariable.h;h=a62902882f9fdb1e058dc902dd8b2ebeee124cb1;hb=f1a1664ce811db565edb26e2ebab31832557e666;hp=aeed5a5e09e14e63e5c2ff73d70009c8b0a0c8c7;hpb=92c474055d5af5557c5f9341018f4e1642586af2;p=pspp diff --git a/src/data/variable.h b/src/data/variable.h index aeed5a5e09..a62902882f 100644 --- a/src/data/variable.h +++ b/src/data/variable.h @@ -1,5 +1,5 @@ /* PSPP - a program for statistical analysis. - Copyright (C) 1997-9, 2000, 2009, 2010, 2011 Free Software Foundation, Inc. + Copyright (C) 1997-9, 2000, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -23,6 +23,24 @@ #include "data/missing-values.h" #include "data/val-type.h" +/* Bitfields to identify traits of a variable */ + +#define VAR_TRAIT_NAME 0x0001 +#define VAR_TRAIT_WIDTH 0x0002 +/* Available for reuse: 0x0004 */ +#define VAR_TRAIT_LABEL 0x0008 +#define VAR_TRAIT_VALUE_LABELS 0x0010 +#define VAR_TRAIT_MISSING_VALUES 0x0020 +#define VAR_TRAIT_ALIGNMENT 0x0040 +#define VAR_TRAIT_MEASURE 0x0080 +#define VAR_TRAIT_DISPLAY_WIDTH 0x0100 +#define VAR_TRAIT_LEAVE 0x0200 +#define VAR_TRAIT_POSITION 0x0400 +#define VAR_TRAIT_ATTRIBUTES 0x0800 +#define VAR_TRAIT_PRINT_FORMAT 0x1000 +#define VAR_TRAIT_WRITE_FORMAT 0x2000 + + union value; /* Variables. @@ -46,10 +64,14 @@ unsigned hash_var_ptr_by_name (const void *, const void *); int compare_var_ptrs_by_dict_index (const void *, const void *, const void *); +struct fmt_spec; + /* Types and widths of values associated with a variable. */ enum val_type var_get_type (const struct variable *); int var_get_width (const struct variable *); void var_set_width (struct variable *, int width); +void var_set_width_and_formats (struct variable *v, int new_width, + const struct fmt_spec *print, const struct fmt_spec *write); bool var_is_numeric (const struct variable *); bool var_is_alpha (const struct variable *); @@ -157,14 +179,6 @@ void var_clear_short_names (struct variable *); size_t var_get_dict_index (const struct variable *); size_t var_get_case_index (const struct variable *); -/* Variable auxiliary data. */ -void *var_get_aux (const struct variable *); -void *var_attach_aux (const struct variable *, - void *aux, void (*aux_dtor) (struct variable *)); -void var_clear_aux (struct variable *); -void *var_detach_aux (struct variable *); -void var_dtor_free (struct variable *); - /* Custom attributes. */ struct attrset *var_get_attributes (const struct variable *); void var_set_attributes (struct variable *, const struct attrset *);