RetroArch
Public Member Functions | Private Attributes | List of all members
MsgQueue< ElementType, QueueSize > Class Template Reference

#include <msg_queue.h>

Public Member Functions

 MsgQueue ()
 
ElementType * GetNextAddMessage ()
 
void CommitAdd ()
 
bool HavePendingSends () const
 
ElementType * GetNextSendMessage ()
 
void CommitSend ()
 

Private Attributes

ElementType queue_ [QueueSize]
 
std::atomic_uint nextAdd_ {0}
 
std::atomic_uint nextSend_ {0}
 
std::atomic_uint pendingSends_ {0}
 

Constructor & Destructor Documentation

◆ MsgQueue()

template<typename ElementType, size_t QueueSize>
MsgQueue< ElementType, QueueSize >::MsgQueue ( )
inline

Member Function Documentation

◆ CommitAdd()

template<typename ElementType, size_t QueueSize>
void MsgQueue< ElementType, QueueSize >::CommitAdd ( )
inline

◆ CommitSend()

template<typename ElementType, size_t QueueSize>
void MsgQueue< ElementType, QueueSize >::CommitSend ( )
inline

◆ GetNextAddMessage()

template<typename ElementType, size_t QueueSize>
ElementType* MsgQueue< ElementType, QueueSize >::GetNextAddMessage ( )
inline

◆ GetNextSendMessage()

template<typename ElementType, size_t QueueSize>
ElementType* MsgQueue< ElementType, QueueSize >::GetNextSendMessage ( )
inline

◆ HavePendingSends()

template<typename ElementType, size_t QueueSize>
bool MsgQueue< ElementType, QueueSize >::HavePendingSends ( ) const
inline

Member Data Documentation

◆ nextAdd_

template<typename ElementType, size_t QueueSize>
std::atomic_uint MsgQueue< ElementType, QueueSize >::nextAdd_ {0}
private

◆ nextSend_

template<typename ElementType, size_t QueueSize>
std::atomic_uint MsgQueue< ElementType, QueueSize >::nextSend_ {0}
private

◆ pendingSends_

template<typename ElementType, size_t QueueSize>
std::atomic_uint MsgQueue< ElementType, QueueSize >::pendingSends_ {0}
private

◆ queue_

template<typename ElementType, size_t QueueSize>
ElementType MsgQueue< ElementType, QueueSize >::queue_[QueueSize]
private

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