xrootd
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | Private Attributes | List of all members
XrdEc::sync_queue< Element > Struct Template Reference

#include <XrdEcUtilities.hh>

Classes

struct  wait_interrupted
 

Public Member Functions

 sync_queue ()
 
void enqueue (Element &&element)
 
Element dequeue ()
 
bool dequeue (Element &e)
 
bool empty ()
 
void interrupt ()
 

Private Attributes

std::queue< Element > elements
 
std::mutex mtx
 
std::condition_variable cv
 
std::atomic< bool > interrupted
 

Constructor & Destructor Documentation

template<typename Element>
XrdEc::sync_queue< Element >::sync_queue ( )
inline

Member Function Documentation

template<typename Element>
Element XrdEc::sync_queue< Element >::dequeue ( )
inline
template<typename Element>
bool XrdEc::sync_queue< Element >::dequeue ( Element &  e)
inline
template<typename Element>
bool XrdEc::sync_queue< Element >::empty ( )
inline
template<typename Element>
void XrdEc::sync_queue< Element >::enqueue ( Element &&  element)
inline
template<typename Element>
void XrdEc::sync_queue< Element >::interrupt ( )
inline

Member Data Documentation

template<typename Element>
std::condition_variable XrdEc::sync_queue< Element >::cv
private
template<typename Element>
std::queue<Element> XrdEc::sync_queue< Element >::elements
private
template<typename Element>
std::atomic<bool> XrdEc::sync_queue< Element >::interrupted
private
template<typename Element>
std::mutex XrdEc::sync_queue< Element >::mtx
private

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