Luanti 5.16.0-dev
Loading...
Searching...
No Matches
MutexedQueue< T > Class Template Reference

#include <container.h>

Collaboration diagram for MutexedQueue< T >:

Public Member Functions

 MutexedQueue ()=default
bool empty () const
void push_back (const T &t)
void push_back (T &&t)
pop_frontNoEx (u32 wait_time_max_ms)
pop_front (u32 wait_time_max_ms)
pop_frontNoEx ()
pop_back (u32 wait_time_max_ms=0)
pop_backNoEx (u32 wait_time_max_ms)
pop_backNoEx ()

Protected Member Functions

std::mutex & getMutex ()
std::deque< T > & getQueue ()

Protected Attributes

std::deque< T > m_queue
std::mutex m_mutex
Semaphore m_signal

Friends

template<typename Key, typename U, typename Caller, typename CallerData>
class RequestQueue

Constructor & Destructor Documentation

◆ MutexedQueue()

template<typename T>
MutexedQueue< T >::MutexedQueue ( )
default

Member Function Documentation

◆ empty()

template<typename T>
bool MutexedQueue< T >::empty ( ) const
inline

References m_mutex, and m_queue.

◆ getMutex()

template<typename T>
std::mutex & MutexedQueue< T >::getMutex ( )
inlineprotected

References m_mutex.

◆ getQueue()

template<typename T>
std::deque< T > & MutexedQueue< T >::getQueue ( )
inlineprotected

References m_queue.

◆ pop_back()

template<typename T>
T MutexedQueue< T >::pop_back ( u32 wait_time_max_ms = 0)
inline

References m_mutex, m_queue, and m_signal.

◆ pop_backNoEx() [1/2]

template<typename T>
T MutexedQueue< T >::pop_backNoEx ( )
inline

References m_mutex, m_queue, and m_signal.

◆ pop_backNoEx() [2/2]

template<typename T>
T MutexedQueue< T >::pop_backNoEx ( u32 wait_time_max_ms)
inline

References m_mutex, m_queue, and m_signal.

◆ pop_front()

template<typename T>
T MutexedQueue< T >::pop_front ( u32 wait_time_max_ms)
inline

References m_mutex, m_queue, and m_signal.

◆ pop_frontNoEx() [1/2]

template<typename T>
T MutexedQueue< T >::pop_frontNoEx ( )
inline

References m_mutex, m_queue, and m_signal.

◆ pop_frontNoEx() [2/2]

template<typename T>
T MutexedQueue< T >::pop_frontNoEx ( u32 wait_time_max_ms)
inline

References m_mutex, m_queue, and m_signal.

Referenced by ShaderSource::getShader().

Here is the caller graph for this function:

◆ push_back() [1/2]

template<typename T>
void MutexedQueue< T >::push_back ( const T & t)
inline

References m_mutex, m_queue, and m_signal.

Referenced by RequestQueue< Key, T, Caller, CallerData >::add().

Here is the caller graph for this function:

◆ push_back() [2/2]

template<typename T>
void MutexedQueue< T >::push_back ( T && t)
inline

References m_mutex, m_queue, and m_signal.

◆ RequestQueue

template<typename T>
template<typename Key, typename U, typename Caller, typename CallerData>
friend class RequestQueue
friend

References RequestQueue.

Referenced by RequestQueue.

Member Data Documentation

◆ m_mutex

template<typename T>
std::mutex MutexedQueue< T >::m_mutex
mutableprotected

◆ m_queue

template<typename T>
std::deque<T> MutexedQueue< T >::m_queue
protected

◆ m_signal

template<typename T>
Semaphore MutexedQueue< T >::m_signal
protected

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