Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
vector.h
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
Generated on Tue Jul 12 2022 16:25:14 by
