1fada2786c
git-svn-id: svn://10.65.10.50/trunk@1633 c028cbd2-c16b-5b4b-a496-9718f37d4682
58 lines
1.4 KiB
C++
Executable File
58 lines
1.4 KiB
C++
Executable File
#ifndef __SORT_H
|
|
#define __SORT_H
|
|
|
|
#ifndef __OBJECT_H
|
|
#include <object.h>
|
|
#endif
|
|
|
|
#ifndef __ISAM_H
|
|
#include <isam.h>
|
|
#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
|