X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fsort.h;h=347574c4d20ba5bd90f68625eb0159cd537e0d8a;hb=397e4b99a356c51cab364f14373c15982db14d87;hp=928a5170b1340caeeb105687020e2ad11db61136;hpb=f9d47b5bba8416419cf3bcd3aa23c2d40a05fcac;p=pspp diff --git a/src/sort.h b/src/sort.h index 928a5170b1..347574c4d2 100644 --- a/src/sort.h +++ b/src/sort.h @@ -14,39 +14,27 @@ 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. */ #if !sort_h #define sort_h 1 -#include "vfm.h" - -/* Sort direction. */ -enum sort_direction - { - SRT_ASCEND, /* A, B, C, ..., X, Y, Z. */ - SRT_DESCEND /* Z, Y, X, ..., C, B, A. */ - }; - -/* SORT CASES input program. */ -struct sort_cases_pgm - { - int ref_cnt; /* Reference count. */ - - struct variable **vars; /* Variables to sort. */ - enum sort_direction *dirs; /* Sort directions. */ - int var_cnt; /* Number of variables to sort. */ - - struct internal_sort *isrt; /* Internal sort output. */ - struct external_sort *xsrt; /* External sort output. */ - }; - -/* SORT CASES programmatic interface. */ -struct sort_cases_pgm *parse_sort (void); -int sort_cases (struct sort_cases_pgm *, int separate); -void read_sort_output (struct sort_cases_pgm *, - write_case_func *, write_case_data); -void destroy_sort_cases_pgm (struct sort_cases_pgm *); +#include +#include "bool.h" + +struct casereader; +struct dictionary; +struct variable; + +struct sort_criteria *sort_parse_criteria (const struct dictionary *, + struct variable ***, int *, + bool *saw_direction); +void sort_destroy_criteria (struct sort_criteria *); + +struct casefile *sort_execute (struct casereader *, + const struct sort_criteria *); +int sort_active_file_in_place (const struct sort_criteria *); +struct casefile *sort_active_file_to_casefile (const struct sort_criteria *); #endif /* !sort_h */