dEngine
Simple 2D C++ game engine
Classes | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
nanolog::Buffer Class Reference

Classes

struct  Item
 

Public Member Functions

 Buffer ()
 
 ~Buffer ()
 
bool push (NanoLogLine &&logline, unsigned int const write_index)
 
bool try_pop (NanoLogLine &logline, unsigned int const read_index)
 
 Buffer (Buffer const &)=delete
 
Bufferoperator= (Buffer const &)=delete
 

Static Public Attributes

static constexpr const size_t size = 32768
 

Private Attributes

Itemm_buffer
 
std::atomic< unsigned int > m_write_state [size+1]
 

Constructor & Destructor Documentation

◆ Buffer() [1/2]

nanolog::Buffer::Buffer ( )
inline

◆ ~Buffer()

nanolog::Buffer::~Buffer ( )
inline

◆ Buffer() [2/2]

nanolog::Buffer::Buffer ( Buffer const &  )
delete

Member Function Documentation

◆ operator=()

Buffer& nanolog::Buffer::operator= ( Buffer const &  )
delete

◆ push()

bool nanolog::Buffer::push ( NanoLogLine &&  logline,
unsigned int const  write_index 
)
inline

◆ try_pop()

bool nanolog::Buffer::try_pop ( NanoLogLine logline,
unsigned int const  read_index 
)
inline

Member Data Documentation

◆ m_buffer

Item* nanolog::Buffer::m_buffer
private

◆ m_write_state

std::atomic< unsigned int > nanolog::Buffer::m_write_state[size+1]
private

◆ size

constexpr const size_t nanolog::Buffer::size = 32768
static