From f7c11b5f6cb35c5adbcb5f0a643a67134e280538 Mon Sep 17 00:00:00 2001 From: andrea Date: Fri, 21 Apr 1995 17:10:19 +0000 Subject: [PATCH] Aggiunta documentazione git-svn-id: svn://10.65.10.50/trunk@1296 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- include/array.cpp | 36 +++++++++++++++--- include/array.h | 94 ++++++++++++++++++++++++++++++++--------------- 2 files changed, 95 insertions(+), 35 deletions(-) diff --git a/include/array.cpp b/include/array.cpp index 9d054ae16..460abab71 100755 --- a/include/array.cpp +++ b/include/array.cpp @@ -3,7 +3,18 @@ #include #include - +// @doc INTERNAL +// +// @mfunc void | TArray | resize | Modifica la dimensione dell'array. +// +// @parm int | newdim | Indica la nuova dimensione che deve assumere l'array. +// +// @comm Alloca la memoria necessaria per contentere i dati della nuova +// dimensione inizializzando a NULL tutti i nuovi elementi aggiunti +// all'array lasciando inalterati, sia in posizione che in +// contenuto gli elementi gia' presenti. +// Nel caso si cerca di diminuire la dimensione viene dato un messaggio +// di errore. void TArray::resize(int arraysize) { @@ -23,7 +34,23 @@ void TArray::resize(int arraysize) _data = newdata; } - +// @doc EXTERNAL +// +// @mfunc bool | TArray | destroy | Rimuove uno o tutti gli elementi (default) +// +// @parm int |index | Numero dell'elemento da eliminare (default -1) +// @parm bool | pack | Se true richiama la funzione per compattare +// gli elementi dell'array (default FALSE) +// +// @comm Permette la rimozione di uno (index > 0 ) o di tutti (default) gli +// elementi dell'array assegnandone il valore NULL. +// Nel caso il parametro pack sia TRUE permette di rendere contigui tutti +// gli elementi diversi da NULL tramite la chiamata alla funzione . +// +// @rdesc Ritorna uno dei seguenti parametri: +// +// @flag TRUE | Se l'operazione e' riuscita con successo +// @flag FALSE | Se il numero di elementi e' rimasto invariato bool TArray::destroy(int index, bool pack) { const int old = _items; @@ -48,7 +75,6 @@ bool TArray::destroy(int index, bool pack) TArray::TArray(int arraysize) : _size(0), _items(0), _data(NULL) - { if (arraysize) resize(arraysize); } @@ -83,19 +109,17 @@ TArray::~TArray() const char* TArray::class_name() const - { return "Array"; } word TArray::class_id() const - { return CLASS_ARRAY; } - +//ANDREA void TArray::print_on(ostream& out) const { diff --git a/include/array.h b/include/array.h index 389db12c0..57b3e51ed 100755 --- a/include/array.h +++ b/include/array.h @@ -5,66 +5,102 @@ #include #endif -// @M #ifndef NULL #define NULL 0L #endif -// @END class TArray; +// @doc EXTERNAL +// +// @type COMPARE_FUNCTION | Prototipo funzione di confronto tra elementi della +// clsse da passare al metodo sort dei + typedef (*COMPARE_FUNCTION)(const TObject**, const TObject**); +// @class TArray | Classe per la definizione degli array +// +// @base public | TObject + class TArray : public TObject { - TObject** _data; // Array of pointers to objects - int _size; // Size of the array - int _items; // Number of items in the array + + // @access Private Member + + TObject** _data; // @cmember TObject** | _data | | Array di puntatori ad oggetti + int _size; // @cmember int | _size | | Dimensione dell'array + int _items; // @cmember int |_items | | Numero di elementi presenti nell'array + + // @access Protected Member protected: - // @FPROT - void resize(int newdim); // Estende l'array + + // @cmember void | resize | (int newdim) | Modifica la dimensione dell'array. + void resize(int newdim); + + // @access Public member public: - // @FPUB - TArray(int arraysize); // Crea un array (chiama resize) - TArray(); // Crea un array (non chiama resize) - TArray(const TArray&); // copia tutto e duplica gli elementi + // @cmember void | TArray | (int arraysize) | Costruttore. Crea un array (chiama ) + TArray(int arraysize); + // @cmember void | TArray | ( ) | Costruttore. Crea un array (non chiama ) + TArray(); + // @cmember void | TArray | (const TArray&) | Costruttore. Copia tutto l'array e ne duplica gli elementi + TArray(const TArray&); - // (casino se non hanno dup() definita) + // @cmember virtual | ~TArray | () | Distruttore virtual ~TArray() ; - virtual const char* class_name() const ; // Ritorna il nome della classe - virtual word class_id() const ; // Ritorna il class-id - virtual void print_on(ostream& out) const ; // Stampa un array - virtual bool ok() const ; // Ok se l'array non e' vuoto + // @cmember virtual const char * | class_name | () const | Ritorna il nome della classe + virtual const char* class_name() const ; + // @cmember virtual word | class_id | () const | Ritorna l'id della class + virtual word class_id() const ; + // @cmember virtual void | print_on | (ostream& out) const | Stampa un array + virtual void print_on(ostream& out) const ; + // @cmember virtual bool | ok | () const | TRUE se l'array non e' vuoto + virtual bool ok() const ; - int size() const { return _size; } // Ritorna grandezza dell'array - int items() const { return _items; } // Ritorna numero di oggetti nell'array - int last() const; // Ritorna l'indice dell'ultimo oggetto + // @cmember int | size | () const | Ritorna la grandezza dell'array + int size() const { return _size; } + // @cmember int | items | () const | Ritorna numero di oggetti nell'array + int items() const { return _items; } + // @cmember int | last | () const | Ritorna l'indice dell'ultimo oggetto + int last() const; - TObject& operator[] (int index) const ; // [] ritorna l'oggetto puntato da index - TObject* objptr(int index) const ; // Ritorna l'oggetto di posto [index] - TArray& operator= (const TArray& a); + // @cmember TObject& | operator[] | (int index) const | Ritorna l'oggetto puntato da index + TObject& operator[] (int index) const ; + // @cmember TObject* | objptr | () const | Ritorna l'oggetto di posto index + TObject* objptr(int index) const ; + // @cmember Tarray& | operator= | (const TArray& a) | Confronta se i due array sono uguali + TArray& operator= (const TArray& a); - virtual bool destroy(int index = -1, bool pack = FALSE); // Rimuove uno o tutti gli elementi (default) - virtual int add(TObject* obj, int index = -1) ; // Aggiunge un oggetto ad un array. + // @cmember virtual bool | destroy | (int index, bool pack) | Rimuove uno o tutti gli elementi (default) + virtual bool destroy(int index = -1, bool pack = FALSE); + // @cmember virtual int | add | (TObject* obj, int index) | Aggiunge un oggetto ad un array. + virtual int add(TObject* obj, int index = -1) ; + // @cmember virtual int | insert | (TObject* obj, int index) | Inserisce un elemento dell'array nella poszione index virtual int insert(TObject* obj, int index = 0); - int add(const TObject& object, int index = -1) ; // Aggiunge un oggetto all'array. L'oggetto viene duplicato + // (casino se non ha dup() definita) + // @cmember int | add | (const TObject& object, int index) | Aggiunge un oggetto all'array. L'oggetto viene duplicato + int add(const TObject& object, int index = -1) ; + // @cmember int | insert | (const TObject& object, int index) | Inserisce un oggetto alla posizione index int insert(const TObject& object, int index = 0); + // @cmember TObject* | remove | (int index, bool pack) | Elimina l'elemento nella poszione index dell'array TObject* remove(int index, bool pack = FALSE); + // @cmember void | swap | (int i1, int i2) | Scambia di posto gli elemnti i1 e i2 dell'array void swap(int i1, int i2); - void pack(); // Rende contigui tutti gli elementi non nulli - void sort(COMPARE_FUNCTION = NULL); // Ordina i TObject (TSortable per default) + // @cmember void | pack | () | Rende contigui tutti gli elementi non nulli + void pack(); + // @cmember void | sort | (COMPARE_FUNCTION) | Ordina i TObject (TSortable per default) secondo il criterio definito in + void sort(COMPARE_FUNCTION = NULL); }; -// @FIN +//ANDREA inline TObject* TArray::objptr(int index) const { return (index < _size && index >= 0) ? _data[index] : NULL; } -// @FIN inline TObject& TArray::operator[] (int index) const { TObject* o = objptr(index);