Referência ao Ficheiro iterator.c


Descrição Detalhada

Implementação de um iterador.

Autor:
Rui Carlos A. Gonçalves <rcgoncalves.pt@gmail.com>
Versão:
2.0.2
Data:
02/2009

Definido no ficheiro iterator.c.

Ir para o código fonte deste ficheiro.

Funções

Iterator newIt (int size)
 Cria um iterador.
void itDelete (Iterator it)
 Elimina um iterador.
int itAdd (Iterator it, void *val)
 Adiciona um elemento a um iterador.
int itNext (Iterator it, void **val)
 Devolve o próximo elemento de um iterador.
int itHasNext (Iterator it)
 Verifica se existe "próximo" elemento num iterador.
int itPrev (Iterator it, void **val)
 Devolve o anterior elemento de um iterador.
int itHasPrev (Iterator it)
 Verifica se existe elemento "anterior" num iterador.
int itAt (Iterator it, int n, void **val)
 Verifica qual o elemento numa determinada posição do array de valores de um iterador.
int itSetPos (Iterator it, int n)
 Altera a posição actual do iterador.
int itGetPos (Iterator it)
 Determina a posição actual do iterador.


Documentação das Funções

int itAdd ( Iterator  it,
void *  val 
)

Adiciona um elemento a um iterador.

Verifica se a capacidade do iterador já foi atingida, em caso afirmativo o elemento não é adicionado e é devolvido o valor 1.

Parâmetros:
it iterador.
val valor a inserir.
Retorna:
0 se o valor for adicionado;
1 se o iterador não tiver espaço livre.

Definido na linha 44 do ficheiro iterator.c.

int itAt ( Iterator  it,
int  index,
void **  val 
)

Verifica qual o elemento numa determinada posição do array de valores de um iterador.

Se o valor de index não for válido é colocado o valor NULL em val.

Parâmetros:
it iterador.
index posição pretendida.
val local onde será colocado o resultado.
Retorna:
0 se o elemento existir;
1 se o valor de index não for válido.

Definido na linha 107 do ficheiro iterator.c.

void itDelete ( Iterator  it  ) 

Elimina um iterador.

Esta função limita-se a libertar o espaço ocupado pelo array de apontadores e pela estrutura do iterador.

Parâmetros:
it iterador.

Definido na linha 36 do ficheiro iterator.c.

int itGetPos ( Iterator  it  ) 

Determina a posição actual do iterador.

Devolve o valor do campo pos do iterador.

Parâmetros:
it iterador.
Retorna:
posição do iterador.

Definido na linha 138 do ficheiro iterator.c.

int itHasNext ( Iterator  it  ) 

Verifica se existe "próximo" elemento num iterador.

Parâmetros:
it iterador.
Retorna:
1 se existir;
0 se não existir.

Definido na linha 74 do ficheiro iterator.c.

int itHasPrev ( Iterator  it  ) 

Verifica se existe elemento "anterior" num iterador.

Parâmetros:
it iterador.
Retorna:
1 se existir;
0 se não existir.

Definido na linha 99 do ficheiro iterator.c.

int itNext ( Iterator  it,
void **  val 
)

Devolve o próximo elemento de um iterador.

Devolve o elemento que está imediatamente a seguir a pos e incrementa o seu valor. Caso ocorra algum erro é colocado o valor NULL em val.

Parâmetros:
it iterador.
val endereço onde será colocado o resultado
Retorna:
0 se for devolvido um elemento;
1 se não existir próximo elemento.

Definido na linha 57 do ficheiro iterator.c.

int itPrev ( Iterator  it,
void **  val 
)

Devolve o anterior elemento de um iterador.

Devolve o elemento que está imediatamente antes de pos e decrementa o seu valor. Caso ocorra algum erro é colocado o valor NULL em val.

Parâmetros:
it iterador.
val endereço onde será colocado o resultado.
Retorna:
0 se for devolvido um elemento;
1 se não existir próximo elemento.

Definido na linha 82 do ficheiro iterator.c.

int itSetPos ( Iterator  it,
int  n 
)

Altera a posição actual do iterador.

É alterado o valor do campo pos do iterador (se o valor de index for válido).

Parâmetros:
it iterador.
n novo valor para a posição.
Retorna:
-1 se o valor de n não for válido;
0 caso contrário.

Definido na linha 123 do ficheiro iterator.c.

Iterator newIt ( int  size  ) 

Cria um iterador.

Se não for possível criar o iterador devolve NULL.

Parâmetros:
size capacidade do iterador.
Retorna:
iterador inicializado ou NULL.

Definido na linha 13 do ficheiro iterator.c.


LibRCG © 2004-2009   Rui Carlos A. Gonçalves