Fling Engine  0.00.1
Fling Engine is a game engine written in Vulkan
Public Member Functions | Private Attributes
Fling::CircularBuffer< T, t_Size > Class Template Reference

A simple circular buffer that will allow you get the next element in a buffer It does not ensure that the item is not in use, but simply loops around. More...

#include <CircularBuffer.hpp>

Public Member Functions

 CircularBuffer ()
 
 ~CircularBuffer ()=default
 
T * GetItem ()
 

Private Attributes

const UINT32 m_BufferSize
 
m_Buffer [t_Size]
 
UINT32 m_AllocatedIndex = 0
 

Detailed Description

template<typename T, size_t t_Size>
class Fling::CircularBuffer< T, t_Size >

A simple circular buffer that will allow you get the next element in a buffer It does not ensure that the item is not in use, but simply loops around.

Template Parameters
Tthe type inside this circular buffer. Stack allocated
t_SizeThe max size of this buffer, must be a power of 2!

Constructor & Destructor Documentation

◆ CircularBuffer()

template<typename T , size_t t_Size>
Fling::CircularBuffer< T, t_Size >::CircularBuffer ( )
inline

◆ ~CircularBuffer()

template<typename T , size_t t_Size>
Fling::CircularBuffer< T, t_Size >::~CircularBuffer ( )
default

Member Function Documentation

◆ GetItem()

template<typename T , size_t t_Size>
T * Fling::CircularBuffer< T, t_Size >::GetItem ( )
inline

Field Documentation

◆ m_AllocatedIndex

template<typename T , size_t t_Size>
UINT32 Fling::CircularBuffer< T, t_Size >::m_AllocatedIndex = 0
private

◆ m_Buffer

template<typename T , size_t t_Size>
T Fling::CircularBuffer< T, t_Size >::m_Buffer[t_Size]
private

◆ m_BufferSize

template<typename T , size_t t_Size>
const UINT32 Fling::CircularBuffer< T, t_Size >::m_BufferSize
private

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