StuBS
Loading...
Searching...
No Matches
BBuffer< T, CAP > Class Template Reference

The class BBuffer implements a bounded buffer, that is a circular buffer with a fixed capacity. More...

#include <bbuffer.h>

Public Member Functions

 BBuffer ()
 Constructor that initialized an empty buffer.
 
bool produce (T val)
 Add an element to the buffer.
 
bool consume (T &val)
 Remove an element from the buffer.
 

Detailed Description

template<typename T, unsigned CAP>
class BBuffer< T, CAP >

The class BBuffer implements a bounded buffer, that is a circular buffer with a fixed capacity.

Template Parameters
Tthe type of data to be stored
CAPthe buffers capacity (must be greater than 1)

Member Function Documentation

◆ consume()

template<typename T , unsigned CAP>
bool BBuffer< T, CAP >::consume ( T & val)
inline

Remove an element from the buffer.

Parameters
valOutput parameter that receives the next element. If there is (currently) no next element, val will not be modified.
Returns
false if the buffer was empty; true if the buffer was not empty and an element was written to val.

◆ produce()

template<typename T , unsigned CAP>
bool BBuffer< T, CAP >::produce ( T val)
inline

Add an element to the buffer.

Parameters
valThe element to be added.
Returns
false if the buffer is full and no element can be added; true otherwise.

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