![]() |
Prusa Slicer 2.6.0
|
#include <src/libslic3r/Channel.hpp>
Inheritance diagram for Slic3r::Channel< T >:
Collaboration diagram for Slic3r::Channel< T >:Classes | |
| class | Unlocker |
Public Types | |
| using | UniqueLock = std::unique_lock< std::mutex > |
| using | Queue = std::deque< T > |
| using | LockedConstPtr = std::unique_ptr< const Queue, Unlocker< const Queue > > |
| using | LockedPtr = std::unique_ptr< Queue, Unlocker< Queue > > |
Public Member Functions | |
| Channel () | |
| ~Channel () | |
| void | push (const T &item, bool silent=false) |
| void | push (T &&item, bool silent=false) |
| T | pop () |
| boost::optional< T > | try_pop () |
| size_t | size_hint () const noexcept |
| LockedConstPtr | lock_read () const |
| LockedPtr | lock_rw () |
Private Attributes | |
| Queue | m_queue |
| std::mutex | m_mutex |
| std::condition_variable | m_condition |
| using Slic3r::Channel< T >::LockedConstPtr = std::unique_ptr<const Queue, Unlocker<const Queue> > |
| using Slic3r::Channel< T >::LockedPtr = std::unique_ptr<Queue, Unlocker<Queue> > |
| using Slic3r::Channel< T >::Queue = std::deque<T> |
| using Slic3r::Channel< T >::UniqueLock = std::unique_lock<std::mutex> |
|
inline |
|
inline |
|
inline |
References Slic3r::Channel< T >::m_mutex, and Slic3r::Channel< T >::m_queue.
|
inline |
References Slic3r::Channel< T >::m_mutex, and Slic3r::Channel< T >::m_queue.
|
inline |
References Slic3r::Channel< T >::m_condition, Slic3r::Channel< T >::m_mutex, and Slic3r::Channel< T >::m_queue.
|
inline |
References Slic3r::Channel< T >::m_condition, Slic3r::Channel< T >::m_mutex, and Slic3r::Channel< T >::m_queue.
|
inline |
References Slic3r::Channel< T >::m_condition, Slic3r::Channel< T >::m_mutex, and Slic3r::Channel< T >::m_queue.
|
inlinenoexcept |
References Slic3r::Channel< T >::m_queue.
|
inline |
References Slic3r::Channel< T >::m_mutex, and Slic3r::Channel< T >::m_queue.
|
private |
Referenced by Slic3r::Channel< T >::pop(), Slic3r::Channel< T >::push(), and Slic3r::Channel< T >::push().
|
mutableprivate |
|
private |