GNU Radio's DVBS2RX Package
gr::dvbs2rx::delay_line< T > Class Template Reference

Fixed-size delay-line with contiguous storage of volk-aligned elements. More...

#include <delay_line.h>

Inheritance diagram for gr::dvbs2rx::delay_line< T >:

Public Member Functions

 delay_line (unsigned int len, unsigned int n_reps=10)
 
void push (const T &in)
 
void push_front (const T &in)=delete
 
- Public Member Functions inherited from gr::dvbs2rx::cdeque< T >
 cdeque (unsigned int len, unsigned int n_reps=10)
 
void push_back (const T &in)
 Push new element into the ring buffer's back (tail).
 
void push_front (const T &in)
 Push new element into the ring buffer's front (head).
 
const T & back () const
 Access the element at the back of the queue.
 
const T & front () const
 Access the element at the front of the queue.
 
unsigned int length () const
 Get length L of the queue.
 

Detailed Description

template<typename T>
class gr::dvbs2rx::delay_line< T >

Fixed-size delay-line with contiguous storage of volk-aligned elements.

Wrapper around the cdeque (contiguous double-ended queue) that implements a delay line, whose newest and oldest elements lie on the tail and head indexes, respectively. This implementation is meant to be used on tapped delay line algorithms, such as digital filters.

Unlike cdeque, the delay line always returns the most recent to oldest samples when reading from tail to head. To ensure that, it only supports writing of new elements on the queue's back.

Constructor & Destructor Documentation

◆ delay_line()

template<typename T >
gr::dvbs2rx::delay_line< T >::delay_line ( unsigned int  len,
unsigned int  n_reps = 10 
)
inlineexplicit

Member Function Documentation

◆ push()

template<typename T >
void gr::dvbs2rx::delay_line< T >::push ( const T &  in)
inline

◆ push_front()

template<typename T >
void gr::dvbs2rx::delay_line< T >::push_front ( const T &  in)
delete

The documentation for this class was generated from the following file: