#ifndef __SORT_H #define __SORT_H #ifndef __OBJECT_H #include #endif #ifndef __ISAM_H #include #endif // @doc EXTERNAL // @class TSort | Classe per l'ordinamento di strutture o di record // // @base public | TObject class TSort : public TObject // @author:(INTERNAL) Alex { // @friend TRecfield friend TRecfield; // @access Private Member // @cmember Puntatore alla struttura di un sort struct s_prm* _sortvar; // @cmember Indice nella tabella dei campi della chiave int nsortkey; // @access Public Member public: // @cmember Inizializza il sort void init(); // @cmember Aggiunge un record al sort void sort(const char * record); // @cmember Chiude il sort void endsort(); // @cmember Restituisce il prossimo record ordinato (ultimo NULL) const char* retrieve(); // @cmember Stampa una statistica sul sort void stats(); // @cmember Ritorna la lunghezza del record di sort int length() const; // @cmember Imposta la lunghezza del record di sort e inizializza il sort void reset(int len); // @cmember Inizializza una chiave di ordinamento per il sort void addsortkey(int pos, int len, char direction = 'a'); // @cmember Inizializza una chiave di ordinamento per il sort usando il campo di un file void addsortkey(TRecfield& f, char direction = 'a'); // @cmember Costruttore TSort(int reclen = 0); // @cmember Distruttore virtual ~TSort(); }; #endif // __SORT_H