#include <cbuffer.h>
Métodos públicos | |
| buffer2D () | |
| buffer2D (INT Nelem, INT Nfft) | |
| ~buffer2D () | |
| void | Resize (INT Nelem, INT Nfft) |
| Cambia el tamaño del buffer. | |
| const DOUBLE * | operator[] (INT idx) const |
| Sobrecarga del operador []. | |
| DOUBLE * | operator[] (INT idx) |
| Sobrecarga del operador []. | |
| void | Push (const DOUBLE *e) |
| Añade un nuevo vector de parámetros al buffer. | |
| INT | Size () const |
| Devuelve el tamaño del buffer. | |
| INT | Dim () const |
| Devuelve la dimensión del buffer. | |
| bool | Empty () const |
| Verdadero si el buffer está vacío. | |
| const DOUBLE * | Head () const |
| Devuelve el elemento más viejo del buffer. | |
| void | Head (DOUBLE *h) const |
| Devuelve el elemento más viejo del buffer. | |
| const DOUBLE * | Tail () const |
| Devuelve el elemento más nuevo del buffer. | |
| void | Tail (DOUBLE *t) const |
| Devuelve el elemento más viejo del buffer. | |
Métodos protegidos | |
| void | Advance () |
| Avanza el puntero de cola. | |
Atributos protegidos | |
| DOUBLE ** | m_buffer |
| La memoria del buffer. | |
| INT | m_Nelem |
| Tamaño del buffer. | |
| INT | m_Ndim |
| Número de dimensiones. | |
| INT | m_head |
| índice a cabeza (elemento más viejo). | |
| INT | m_tail |
| índice a cola (elemento más nuevo). | |
Un ejemplo sencillo del uso de esta clase:
INT BufSize = 10; //Tamaño del buffer. Dimensión circular INT fftsize; //Tmaño de los vectores. Dimensión fija buffer2D fftbuf(BufSize, fftsize); //Llenamos el buffer con datos pDOUBLE fft; for (INT i = 0; i < BufSize; ++i) { fft = GetNewFft(); fftbuf.Push(fft); } //Ahora trabajamos con el buffer //Se puede utilizar el operator[] de forma normal DoSomething(fftbuf); //Y podemos meter nuevos elementos. //Cuando el buffer se llene, el elemento más viejo se borra para //dar espacio al nuevo. fft = GetNewFft(); fftbuf.Push(fft);
Definición en la línea 61 del archivo cbuffer.h.
| buffer2D::buffer2D | ( | INT | Nelem, | |
| INT | Nfft | |||
| ) |
Definición en la línea 19 del archivo cbuffer.cpp.
| buffer2D::~buffer2D | ( | ) |
Definición en la línea 27 del archivo cbuffer.cpp.
| void buffer2D::Resize | ( | INT | Nelem, | |
| INT | Nfft | |||
| ) |
Una llamada a esta función destruye todos los datos del buffer, por lo que hay que llamarla con cuidado. Además, ten en cuenta que destruye el buffer, pero no libera los arrays a los que apunta.
Sólo debería llamarse a esta función si se ha utilizado el constructor por defecto (que no reserva memoria) o si se ha tenido cuidado de liberar primero las memorias a las que apuntan los punteros
Definición en la línea 47 del archivo cbuffer.cpp.
| const DOUBLE* buffer2D::operator[] | ( | INT | idx | ) | const [inline] |
| DOUBLE* buffer2D::operator[] | ( | INT | idx | ) | [inline] |
DOUBLE** buffer2D::m_buffer [protected] |
INT buffer2D::m_Nelem [protected] |
INT buffer2D::m_Ndim [protected] |
INT buffer2D::m_head [protected] |
INT buffer2D::m_tail [protected] |
1.5.6