369bde9243
git-svn-id: svn://10.65.10.50/trunk@6251 c028cbd2-c16b-5b4b-a496-9718f37d4682
54 lines
1.4 KiB
C++
Executable File
54 lines
1.4 KiB
C++
Executable File
#ifndef __SORT_H
|
|
#define __SORT_H
|
|
|
|
#ifndef __OBJECT_H
|
|
#include <object.h>
|
|
#endif
|
|
|
|
class TRecfield;
|
|
|
|
// @doc EXTERNAL
|
|
|
|
// @class TSort | Classe per l'ordinamento di strutture o di record
|
|
//
|
|
// @base public | TObject
|
|
class TSort : public TObject
|
|
// @author:(INTERNAL) Sandro
|
|
{
|
|
// @access:(INTERNAL) Private Member
|
|
|
|
// @cmember:(INTERNAL) Puntatore alla struttura di un sort
|
|
struct s_prm* _sortvar;
|
|
// @cmember:(INTERNAL) 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
|