Referencia de la Clase buffer1D

Clase para implementar un buffer 1D. Generalmente, de muestras de audio. Más...

#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).


Descripción detallada

Clase equivalente a buffer2D, pero para muestras unidimensionales. La ventaja es que requiere una dimensión menos. Por lo demás, funciona exactamente igual.

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.


Documentación del constructor y destructor

buffer1D::buffer1D (  )  [inline]

Definición en la línea 227 del archivo cbuffer.h.

buffer1D::buffer1D ( INT  Nelem  )  [inline]

Definición en la línea 232 del archivo cbuffer.h.

buffer1D::~buffer1D (  )  [inline]

Definición en la línea 237 del archivo cbuffer.h.


Documentación de las funciones miembro

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]

Permite abstraerse de la naturaleza circular del buffer

Nota:
No comprueba si idx está dentro de los límites del buffer o no. Esto es coherente con el comportamiento de un array C estándar.

Definición en la línea 254 del archivo cbuffer.h.

DOUBLE buffer1D::operator[] ( INT  idx  )  [inline]

Permite abstraerse de la naturaleza circular del buffer

Nota:
No comprueba si idx está dentro de los límites del buffer o no. Esto es coherente con el comportamiento de un array C estándar.

Definición en la línea 266 del archivo cbuffer.h.

void buffer1D::Push ( DOUBLE  e  )  [inline]

Definición en la línea 272 del archivo cbuffer.h.

INT buffer1D::Size (  )  const [inline]

Definición en la línea 284 del archivo cbuffer.h.

bool buffer1D::Empty (  )  const [inline]

Definición en la línea 290 del archivo cbuffer.h.

DOUBLE buffer1D::Head (  )  const [inline]

Definición en la línea 296 del archivo cbuffer.h.

DOUBLE buffer1D::Tail (  )  const [inline]

Definición en la línea 302 del archivo cbuffer.h.

void buffer1D::Advance (  )  [inline, protected]

Definición en la línea 311 del archivo cbuffer.h.


Documentación de los campos

DOUBLE* buffer1D::m_buffer [protected]

Definición en la línea 217 del archivo cbuffer.h.

INT buffer1D::m_Nelem [protected]

Definición en la línea 218 del archivo cbuffer.h.

INT buffer1D::m_head [protected]

Definición en la línea 219 del archivo cbuffer.h.

INT buffer1D::m_tail [protected]

Definición en la línea 220 del archivo cbuffer.h.


La documentación para esta clase fue generada a partir de los siguientes ficheros:

Generado el Thu Mar 11 18:59:28 2010 para AhoLib por  doxygen 1.5.6