Android-cuttlefish cvd tool
Public Member Functions | Private Member Functions | Private Attributes | List of all members
cuttlefish::ScreenConnectorQueue< T > Class Template Reference

#include <screen_connector_queue.h>

Public Member Functions

 ScreenConnectorQueue (const int q_max_size=2)
 
 ScreenConnectorQueue (ScreenConnectorQueue &&cq)=delete
 
 ScreenConnectorQueue (const ScreenConnectorQueue &cq)=delete
 
ScreenConnectorQueueoperator= (const ScreenConnectorQueue &cq)=delete
 
ScreenConnectorQueueoperator= (ScreenConnectorQueue &&cq)=delete
 
bool IsEmpty () const
 
auto Size () const
 
void WaitEmpty ()
 
void Push (T &&item)
 
void Push (T &item)=delete
 
void Push (const T &item)=delete
 
Pop ()
 

Private Member Functions

bool Full () const
 

Private Attributes

std::deque< T > buffer_
 
std::unique_ptr< std::mutex > q_mutex_
 
std::condition_variable q_empty_
 
const int q_max_size_
 

Constructor & Destructor Documentation

◆ ScreenConnectorQueue() [1/3]

template<typename T >
cuttlefish::ScreenConnectorQueue< T >::ScreenConnectorQueue ( const int  q_max_size = 2)
inline

◆ ScreenConnectorQueue() [2/3]

template<typename T >
cuttlefish::ScreenConnectorQueue< T >::ScreenConnectorQueue ( ScreenConnectorQueue< T > &&  cq)
delete

◆ ScreenConnectorQueue() [3/3]

template<typename T >
cuttlefish::ScreenConnectorQueue< T >::ScreenConnectorQueue ( const ScreenConnectorQueue< T > &  cq)
delete

Member Function Documentation

◆ Full()

template<typename T >
bool cuttlefish::ScreenConnectorQueue< T >::Full ( ) const
inlineprivate

◆ IsEmpty()

template<typename T >
bool cuttlefish::ScreenConnectorQueue< T >::IsEmpty ( ) const
inline

◆ operator=() [1/2]

template<typename T >
ScreenConnectorQueue & cuttlefish::ScreenConnectorQueue< T >::operator= ( const ScreenConnectorQueue< T > &  cq)
delete

◆ operator=() [2/2]

template<typename T >
ScreenConnectorQueue & cuttlefish::ScreenConnectorQueue< T >::operator= ( ScreenConnectorQueue< T > &&  cq)
delete

◆ Pop()

template<typename T >
T cuttlefish::ScreenConnectorQueue< T >::Pop ( )
inline

◆ Push() [1/3]

template<typename T >
void cuttlefish::ScreenConnectorQueue< T >::Push ( const T &  item)
delete

◆ Push() [2/3]

template<typename T >
void cuttlefish::ScreenConnectorQueue< T >::Push ( T &&  item)
inline

◆ Push() [3/3]

template<typename T >
void cuttlefish::ScreenConnectorQueue< T >::Push ( T &  item)
delete

◆ Size()

template<typename T >
auto cuttlefish::ScreenConnectorQueue< T >::Size ( ) const
inline

◆ WaitEmpty()

template<typename T >
void cuttlefish::ScreenConnectorQueue< T >::WaitEmpty ( )
inline

Member Data Documentation

◆ buffer_

template<typename T >
std::deque<T> cuttlefish::ScreenConnectorQueue< T >::buffer_
private

◆ q_empty_

template<typename T >
std::condition_variable cuttlefish::ScreenConnectorQueue< T >::q_empty_
private

◆ q_max_size_

template<typename T >
const int cuttlefish::ScreenConnectorQueue< T >::q_max_size_
private

◆ q_mutex_

template<typename T >
std::unique_ptr<std::mutex> cuttlefish::ScreenConnectorQueue< T >::q_mutex_
private

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