#include <cbuffer.h>
Métodos públicos | |
buffer1D () | |
buffer1D (INT Nelem) | |
~buffer1D () | |
void | Resize (INT Nelem) |
Cambia el tamaño del buffer. | |
const DOUBLE | operator[] (INT idx) const |
Sobrecarga del operador []. | |
DOUBLE | operator[] (INT idx) |
Sobrecarga del operador []. | |
void | Push (DOUBLE e) |
Añade un nuevo vector de parámetros al buffer. | |
INT | Size () const |
Devuelve el tamaño del buffer. | |
bool | Empty () const |
Verdadero si el buffer está vacío. | |
DOUBLE | Head () const |
Devuelve el elemento más viejo del buffer. | |
DOUBLE | Tail () const |
Devuelve el elemento más nuevo 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_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 buffer1D samplebuf(BufSize); //Llenamos el buffer con datos DOUBLE sample; for (INT i = 0; i < BufSize; ++i) { sample = GetNewSample(); samplebuf.Push(sample); } //Ahora trabajamos con el buffer //Se puede utilizar el operator[] de forma normal DoSomething(samplebuf); //Y podemos meter nuevos elementos. //Cuando el buffer se llene, el elemento más viejo se borra para //dar espacio al nuevo. sample = GetNewSample(); samplebuf.Push(sample);
Definición en la línea 214 del archivo cbuffer.h.
void buffer1D::Resize | ( | INT | Nelem | ) |
Una llamada a esta función destruye todos los datos del buffer, por lo que hay que llamarla con cuidado.
Definición en la línea 79 del archivo cbuffer.cpp.
const DOUBLE buffer1D::operator[] | ( | INT | idx | ) | const [inline] |
DOUBLE buffer1D::operator[] | ( | INT | idx | ) | [inline] |
DOUBLE* buffer1D::m_buffer [protected] |
INT buffer1D::m_Nelem [protected] |
INT buffer1D::m_head [protected] |
INT buffer1D::m_tail [protected] |