#ifndef COMMON_FIXEDQUEUE_H_
#define COMMON_FIXEDQUEUE_H_
#include "common/debug.h"
#include <algorithm>
#include <array>
#include <atomic>
namespace angle
{
template <class T>
class FixedQueue final : angle::NonCopyable
{ … };
template <class T>
FixedQueue<T>::FixedQueue(size_t capacity)
: … { … }
template <class T>
FixedQueue<T>::~FixedQueue()
{ … }
template <class T>
ANGLE_INLINE typename FixedQueue<T>::size_type FixedQueue<T>::size() const
{ … }
template <class T>
ANGLE_INLINE bool FixedQueue<T>::empty() const
{ … }
template <class T>
ANGLE_INLINE bool FixedQueue<T>::full() const
{ … }
template <class T>
ANGLE_INLINE typename FixedQueue<T>::size_type FixedQueue<T>::capacity() const
{ … }
template <class T>
ANGLE_INLINE void FixedQueue<T>::updateCapacity(size_t newCapacity)
{ … }
template <class T>
ANGLE_INLINE typename FixedQueue<T>::reference FixedQueue<T>::front()
{ … }
template <class T>
ANGLE_INLINE typename FixedQueue<T>::const_reference FixedQueue<T>::front() const
{ … }
template <class T>
void FixedQueue<T>::push(const value_type &value)
{ … }
template <class T>
void FixedQueue<T>::push(value_type &&value)
{ … }
template <class T>
ANGLE_INLINE typename FixedQueue<T>::reference FixedQueue<T>::back()
{ … }
template <class T>
ANGLE_INLINE typename FixedQueue<T>::const_reference FixedQueue<T>::back() const
{ … }
template <class T>
void FixedQueue<T>::pop()
{ … }
template <class T>
void FixedQueue<T>::clear()
{ … }
}
#endif