Modularizando o src
Dependencies: EALib EthernetInterface_vz mbed-rtos mbed
Fork of header_main_colinas_V0-20-09-14 by
vector.h
- Committer:
- klauss
- Date:
- 2015-11-24
- Revision:
- 137:32dd35a6dbc9
- Parent:
- 135:2f4290590e51
File content as of revision 137:32dd35a6dbc9:
/** * @file vector.h * @Synopsis A classe Vector representa uma lista de Objects. O objetivo dessa classe é manter de forma organizada na memória as * instâncias da classe Object. * @author Jhonatan Casale * @version 1 * @date 2014-10-31 * \class Vector * \note Não preserva ordem dos seus elementos. */ #ifndef __VECTOR_H__ #define __VECTOR_H__ #include "mbed.h" #include <stdlib.h> #include "object.h" #include "debug.h" class Vector{ private: Object **objects; int elements; public: /** * Cria um objeto do tipo vetor pronto para uso. * * Exemplo: * @code * ... * Vector * v = new Vector(); * ... * @endcode */ Vector(); /** * Deleta todos os elementos do vetor * \note Preserva os elementos originais */ ~Vector(); /** * @Synopsis Adiciona o elemento @f$e@f$ ao final do vetor * * @param e Um ponteiro para algum objeto da clase Object * * Exemplo: * @code * ... * v->add( new * Object ); * ... * @endcode */ void add( Object * e ); /** * @Synopsis Retorna elementos contidos no vetor * * @param position A posicao do elemento de interesse * * @return Um objeto da classe Object caso position seja * maior do que zero e menor que o numero de elementos * do vetor, NULL caso contrario * * Exemplo: * @code * ... * Object obj = v->get_element( 0x01 ); * ... * @endcode */ Object * get_element( int position ); /** * @Synopsis Remove elementos contidos no vetor * * @param position Remove o elemento na posição position, * desde de, position seja maior do que 0 e menor do que o * numero de elementos do vetor. * */ void remove_element( int position ); /** * @Synopsis Executa procedimento de busca nos elementos do vetor * * @param ext Verifica se existe algum elemento com este ramal contido no vetor * @param port Verifica se existe algum elemento com esta porta contido no vetor * \note Este método não esta completamente implementado. * * @return Um ponteiro para o objeto de interesse. NULL, caso este objeto não tenha * sido encontrado. * * Exemplo: * @code * ... * return( find_element( 1011, 1011 ); * ... * @endcode */ Object * find_element( int ext, int port ); /** * @Synopsis Representa o numero de elementos contidos no vetor. * * @return O numero de elementos contidos no vetor * * Exemplo: * @code * ... * v->size(); * ... * @endcode */ int size ( void ); int print_yourself ( void ); }; #endif