Hubris Engine Dev
A Project to learn and get into Game Engine developement.
 
Loading...
Searching...
No Matches
Hubris::RingBuffer< T, buffsize > Class Template Reference

An implementation of a fixed-size (power of two only) Ring Buffer. More...

#include <Utils.h>

Public Member Functions

constexpr size_t Capacity () const noexcept
 Evaluated at compile time, returns the size of the buffer which is already known.
 
 RingBuffer () noexcept=default
 
 ~RingBuffer () noexcept=default
 
void Clear () noexcept
 
bool Enqueue (const T &element) noexcept
 
bool Dequeue (T &element) noexcept
 
bool IsFull () const noexcept
 
bool IsEmpty () const noexcept
 
size_t Size () const noexcept
 

Detailed Description

template<typename T, size_t buffsize>
class Hubris::RingBuffer< T, buffsize >

An implementation of a fixed-size (power of two only) Ring Buffer.

Template Parameters
TThe Buffer's underlying type.
buffsizeThe buffer size, must be a power of two.

Definition at line 35 of file Utils.h.

Constructor & Destructor Documentation

◆ RingBuffer()

template<typename T, size_t buffsize>
Hubris::RingBuffer< T, buffsize >::RingBuffer ( )
defaultnoexcept
+ Here is the caller graph for this function:

◆ ~RingBuffer()

template<typename T, size_t buffsize>
Hubris::RingBuffer< T, buffsize >::~RingBuffer ( )
defaultnoexcept
+ Here is the call graph for this function:

Member Function Documentation

◆ Capacity()

template<typename T, size_t buffsize>
size_t Hubris::RingBuffer< T, buffsize >::Capacity ( ) const
inlineconstexprnoexcept

Evaluated at compile time, returns the size of the buffer which is already known.

Definition at line 51 of file Utils.h.

◆ Clear()

template<typename T, size_t buffsize>
void Hubris::RingBuffer< T, buffsize >::Clear ( )
inlinenoexcept

Definition at line 56 of file Utils.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ Dequeue()

template<typename T, size_t buffsize>
bool Hubris::RingBuffer< T, buffsize >::Dequeue ( T & element)
inlinenoexcept

Definition at line 78 of file Utils.h.

◆ Enqueue()

template<typename T, size_t buffsize>
bool Hubris::RingBuffer< T, buffsize >::Enqueue ( const T & element)
inlinenoexcept

Definition at line 63 of file Utils.h.

◆ IsEmpty()

template<typename T, size_t buffsize>
bool Hubris::RingBuffer< T, buffsize >::IsEmpty ( ) const
inlinenoexcept

Definition at line 98 of file Utils.h.

◆ IsFull()

template<typename T, size_t buffsize>
bool Hubris::RingBuffer< T, buffsize >::IsFull ( ) const
inlinenoexcept

Definition at line 92 of file Utils.h.

◆ Size()

template<typename T, size_t buffsize>
size_t Hubris::RingBuffer< T, buffsize >::Size ( ) const
inlinenoexcept

Definition at line 103 of file Utils.h.


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