![]() |
Prusa Slicer 2.6.0
|
A wrapper class around arbitrary object that needs thread safe caching. More...
#include <src/libslic3r/MTUtils.hpp>
Collaboration diagram for Slic3r::CachedObject< T >:Public Types | |
| using | Setter = std::function< void(T &)> |
Public Member Functions | |
| template<class... Args> | |
| CachedObject (Setter &&fn, Args &&... args) | |
| template<class Fn > | |
| void | invalidate (Fn &&fn) |
| const T & | get () |
Private Attributes | |
| T | m_obj |
| bool | m_valid |
| SpinMutex | m_lck |
| std::function< void(T &)> | m_setter |
A wrapper class around arbitrary object that needs thread safe caching.
| using Slic3r::CachedObject< T >::Setter = std::function<void(T &)> |
|
inline |
|
inline |
References Slic3r::CachedObject< T >::m_lck, Slic3r::CachedObject< T >::m_obj, Slic3r::CachedObject< T >::m_setter, and Slic3r::CachedObject< T >::m_valid.
|
inline |
References Slic3r::CachedObject< T >::m_lck, and Slic3r::CachedObject< T >::m_valid.
|
private |
Referenced by Slic3r::CachedObject< T >::get(), and Slic3r::CachedObject< T >::invalidate().
|
private |
Referenced by Slic3r::CachedObject< T >::get().
|
private |
Referenced by Slic3r::CachedObject< T >::get().
|
private |
Referenced by Slic3r::CachedObject< T >::get(), and Slic3r::CachedObject< T >::invalidate().