32#ifndef __PDS_CIRCBUFFER_HPP__
33#define __PDS_CIRCBUFFER_HPP__
55template<
typename Datum>
156 bool Push(
const Datum &Dat);
190 unsigned int Nel(
void)
const;
205template<
typename Datum>
213template<
typename Datum>
219 if(this->
data==NULL)
return;
226template<
typename Datum>
231 if (B.
nel==0)
return;
234 if(this->
data==NULL)
return;
236 for(
unsigned int i=0;i<B.
nel;i++) this->
data[i]=B.
data[i];
238 this->front = B.
front;
244template<
typename Datum>
253template<
typename Datum>
257 while(ID<0) ID=this->nel+ID;
258 return this->data[(this->front+ID)%this->nel];
261template<
typename Datum>
264 if(this->nel==0)
return false;
266 this->front = (this->nel+this->front -1) % this->nel;
267 this->data[this->front] = Dat;
272template<
typename Datum>
275 if((this->nel==0)||(this->data==NULL))
return true;
279template<
typename Datum>
282 if((this->nel==0)||(this->data==NULL))
return 0;
La clase tipo Pds::CircBuffer . Esta clase genera un objeto con un buffer circular de tamaño fijo....
Datum & operator[](const int &id)
Lee y escribe datos en la memoria en el Pds::CircBuffer.
CircBuffer(void)
Crea un objeto vacio de tipo Pds::CircBuffer.
bool Push(const Datum &Dat)
Empuja un nuevo dato en la memoria Buff[0] del Pds::CircBuffer y descarta Buff[-1] Buff[N-1].
bool IsEmpty(void) const
Retorna true si el objeto esta vacio y false si no.
unsigned int Nel(void) const
Retorna el número de elementos del circular buffer.
Nombre de espacio para Pds (Procesamiento Digital de Senales)