VZTECH / Mbed 2 deprecated main_src

Dependencies:   EALib EthernetInterface_vz mbed-rtos mbed

Fork of header_main_colinas_V0-20-09-14 by VZTECH

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers vector.h Source File

vector.h

Go to the documentation of this file.
00001 /**
00002  * @file vector.h
00003  * @Synopsis A classe Vector representa uma lista de Objects. O objetivo dessa classe é manter de forma organizada na memória as 
00004  *  instâncias da classe Object.
00005  * @author Jhonatan Casale
00006  * @version 1
00007  * @date 2014-10-31
00008  * \class Vector
00009  * \note Não preserva ordem dos seus elementos.
00010  */
00011 
00012 #ifndef __VECTOR_H__
00013 #define __VECTOR_H__
00014 
00015 #include "mbed.h"
00016 #include <stdlib.h>
00017 #include "object.h"
00018 #include "debug.h"
00019 
00020 class Vector {
00021     private:
00022         Object  **objects;
00023         int elements;
00024 
00025     public: 
00026         /**
00027          * Cria um objeto do tipo vetor pronto para uso.
00028          *
00029          * Exemplo: 
00030          * @code
00031          * ...
00032          *  Vector * v = new Vector();
00033          * ...
00034          * @endcode
00035          */
00036         Vector();
00037 
00038         /**
00039          * Deleta todos os elementos do vetor
00040          * \note Preserva os elementos originais 
00041          */
00042         ~Vector();
00043 
00044         /**
00045          * @Synopsis Adiciona o elemento @f$e@f$ ao final do vetor
00046          *
00047          * @param e Um ponteiro para algum objeto da clase Object
00048          * 
00049          * Exemplo:
00050          * @code
00051          * ...
00052          *  v->add( new * Object );
00053          * ...
00054          * @endcode
00055          */
00056         void add( Object  * e );
00057 
00058         /**
00059          * @Synopsis Retorna elementos contidos no vetor 
00060          *
00061          * @param position A posicao do elemento de interesse
00062          *
00063          * @return Um objeto da classe Object caso position seja 
00064          * maior do que zero e menor que o numero de elementos 
00065          * do vetor, NULL caso contrario
00066          *
00067          * Exemplo:
00068          * @code
00069          * ...
00070          *  Object obj = v->get_element( 0x01 );
00071          * ...
00072          * @endcode
00073          */
00074         Object  * get_element( int position );
00075 
00076         /**
00077          * @Synopsis Remove elementos contidos no vetor
00078          *
00079          * @param position Remove o elemento na posição position, 
00080          * desde de, position seja maior do que 0 e menor do que o 
00081          * numero de elementos do vetor.
00082          *
00083          */
00084         void remove_element( int position );
00085 
00086         /**
00087          * @Synopsis Executa procedimento de busca nos elementos do vetor 
00088          *
00089          * @param ext Verifica se existe algum elemento com este ramal contido no vetor
00090          * @param port Verifica se existe algum elemento com esta porta contido no vetor
00091          * \note Este método não esta completamente implementado.
00092          *
00093          * @return Um ponteiro para o objeto de interesse. NULL, caso este objeto não tenha
00094          * sido encontrado.
00095          *
00096          * Exemplo:
00097          * @code
00098          * ...
00099          *  return( find_element( 1011, 1011 ); 
00100          * ...
00101          * @endcode
00102          */
00103         Object  * find_element( int ext, int port );
00104 
00105         /**
00106          * @Synopsis Representa o numero de elementos contidos no vetor. 
00107          *
00108          * @return O numero de elementos contidos no vetor
00109          *
00110          * Exemplo:
00111          * @code
00112          * ...
00113          *  v->size();
00114          * ...
00115          * @endcode
00116          */
00117         int size ( void );
00118         int print_yourself ( void );
00119 };
00120 #endif