Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

SXYVector< T > Class Template Reference

Classe que implementa um vetor genérico com tamanho auto-alocável. More...

#include <sxy_vector.h>

Inheritance diagram for SXYVector< T >:

Inheritance graph
[legend]
Collaboration diagram for SXYVector< T >:

Collaboration graph
[legend]
List of all members.

Public Methods

 SXYVector (unsigned int size, const T nil)
 Construtor que inicializa um novo vetor com um tamanho determinado.

virtual ~SXYVector ()
 Destrutor que libera a memória utilizada.

T * getElementReference (unsigned int idx) const
 Consulta a uma referência de um objeto em uma posição do vetor.

getElement (unsigned int idx) const
 Leitura de um objeto em uma posição do vetor.

void setElement (int idx, T elem)
 Escrita do objeto no vetor.

unsigned int insertElement (T elem)
 Inserção de um objeto.

void insertElementAt (unsigned int idx, T elem)
 Inserção de um objeto em uma determinada posição.

int findElement (T elem)
 Busca de um elemento.

removeElementAt (unsigned int idx)
 Remoção de um elemento posicionado.

void removeElement (T elem)
 Remoção de um elemento.

unsigned int getLength () const
 Consulta do tamanho do vetor.

unsigned int getAllocSize () const
 Consulta do tamanho alocado do vetor.


Private Methods

void growStorage (unsigned int new_size)
 Método para realocação do vetor interno.

void setNull (void)
 Aterra valores não utilizados.


Private Attributes

nil
 valor considerado inválido (nil)

T * ptr
 ponteiro (array) interno do template.

unsigned int alloc_size
 tamanho alocado no array interno

unsigned int free_index
 último índice válido np array interno


Detailed Description

template<class T>
class SXYVector< T >

Classe que implementa um vetor genérico com tamanho auto-alocável.

Author:
André Luiz Clinio.

Definition at line 9 of file sxy_vector.h.


Constructor & Destructor Documentation

template<class T>
SXYVector< T >::SXYVector unsigned int    size,
const T    nil
[inline]
 

Construtor que inicializa um novo vetor com um tamanho determinado.

Parameters:
size tamanho inicial com valor default.
Remarks:
o vetor é totalmente zerado no início.

Definition at line 59 of file sxy_vector.h.

template<class T>
virtual SXYVector< T >::~SXYVector   [inline, virtual]
 

Destrutor que libera a memória utilizada.

Remarks:
os campos apontados são aterrados.

Definition at line 75 of file sxy_vector.h.


Member Function Documentation

template<class T>
int SXYVector< T >::findElement   elem [inline]
 

Busca de um elemento.

Parameters:
elem o objeto a ser encontrado.
Returns:
o índice que o objeto ocupa do vetor.

Definition at line 152 of file sxy_vector.h.

Referenced by SXYVector< SXYArea * >::removeElement().

template<class T>
unsigned int SXYVector< T >::getAllocSize   const [inline]
 

Consulta do tamanho alocado do vetor.

Returns:
o tamanho.

Definition at line 199 of file sxy_vector.h.

template<class T>
T SXYVector< T >::getElement unsigned int    idx const [inline]
 

Leitura de um objeto em uma posição do vetor.

Parameters:
idx a posição desejada.
Returns:
o objeto na posição.
Remarks:
faz-se a certificação de acesso válido.

Definition at line 103 of file sxy_vector.h.

Referenced by SXYVector< SXYArea * >::findElement(), SXYSeries::getSeveralLimits(), and SXYSimpleGraph::remountGraph().

template<class T>
T* SXYVector< T >::getElementReference unsigned int    idx const [inline]
 

Consulta a uma referência de um objeto em uma posição do vetor.

Parameters:
idx a posição desejada.
Returns:
a referência
Remarks:
faz-se a certificação de acesso válido.

Definition at line 90 of file sxy_vector.h.

Referenced by SXYVector< SXYArea * >::getElement().

template<class T>
unsigned int SXYVector< T >::getLength   const [inline]
 

Consulta do tamanho do vetor.

Returns:
o tamanho.

Definition at line 191 of file sxy_vector.h.

Referenced by SXYSeries::getSeveralLimits(), and SXYSimpleGraph::remountGraph().

template<class T>
void SXYVector< T >::growStorage unsigned int    new_size [inline, private]
 

Método para realocação do vetor interno.

Parameters:
new_size novo tamanho a ser alocado.

Definition at line 27 of file sxy_vector.h.

Referenced by SXYVector< SXYArea * >::insertElement().

template<class T>
unsigned int SXYVector< T >::insertElement   elem [inline]
 

Inserção de um objeto.

Parameters:
elem o objeto a ser inserido.
Remarks:
o objeto será colocado ao final.

o vetor pode ser realocado se não houver espaço.

Returns:
a posição aonde foi inserido o objeto.

Definition at line 127 of file sxy_vector.h.

Referenced by SXYVector< SXYArea * >::insertElementAt(), and SXYSimpleGraph::remountGraph().

template<class T>
void SXYVector< T >::insertElementAt unsigned int    idx,
  elem
[inline]
 

Inserção de um objeto em uma determinada posição.

Parameters:
a posição desejada.
elem o objeto a ser inserido.
Remarks:
os outros elementos são deslocados para frente.

Definition at line 141 of file sxy_vector.h.

template<class T>
void SXYVector< T >::removeElement   elem [inline]
 

Remoção de um elemento.

Parameters:
elem o elemento a ser retirado.

Definition at line 180 of file sxy_vector.h.

template<class T>
T SXYVector< T >::removeElementAt unsigned int    idx [inline]
 

Remoção de um elemento posicionado.

Parameters:
idx índice interno.
Returns:
o objeto retirado.

Definition at line 164 of file sxy_vector.h.

Referenced by SXYVector< SXYArea * >::removeElement().

template<class T>
void SXYVector< T >::setElement int    idx,
  elem
[inline]
 

Escrita do objeto no vetor.

Parameters:
idx a posição desejada.
elem o objeto a ser colocado na posição.
Remarks:
faz-se a certificação de acesso válido.

Definition at line 113 of file sxy_vector.h.

template<class T>
void SXYVector< T >::setNull void    [inline, private]
 

Aterra valores não utilizados.

See also:
free_index

alloc_size

Definition at line 47 of file sxy_vector.h.

Referenced by SXYVector< SXYArea * >::growStorage(), SXYVector< SXYArea * >::insertElement(), SXYVector< SXYArea * >::removeElementAt(), SXYVector< SXYArea * >::SXYVector(), and SXYVector< SXYArea * >::~SXYVector().


Member Data Documentation

template<class T>
unsigned int SXYVector< T >::alloc_size [private]
 

tamanho alocado no array interno

Definition at line 18 of file sxy_vector.h.

template<class T>
unsigned int SXYVector< T >::free_index [private]
 

último índice válido np array interno

Definition at line 21 of file sxy_vector.h.

template<class T>
T SXYVector< T >::nil [private]
 

valor considerado inválido (nil)

Definition at line 12 of file sxy_vector.h.

template<class T>
T* SXYVector< T >::ptr [private]
 

ponteiro (array) interno do template.

Definition at line 15 of file sxy_vector.h.


The documentation for this class was generated from the following file:
SXY
Tecgraf / PUC-Rio - Computer Graphics Technology Group