sync#

Include dependency graph for sync.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "4" [label="utility" tooltip="utility"]
    "2" [label="array" tooltip="array"]
    "3" [label="mutex" tooltip="mutex"]
    "1" [label="src/sync.h" tooltip="src/sync.h" fillcolor="#BFBFBF"]
    "1" -> "2" [dir=forward tooltip="include"]
    "1" -> "3" [dir=forward tooltip="include"]
    "1" -> "4" [dir=forward tooltip="include"]
}

This graph shows which files directly or indirectly include sync.h:

digraph {
    graph [bgcolor="#00000000"]
    node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
    edge [color="#1414CE"]
    "2" [label="src/stream.cpp" tooltip="src/stream.cpp"]
    "1" [label="src/sync.h" tooltip="src/sync.h" fillcolor="#BFBFBF"]
    "3" [label="src/video.cpp" tooltip="src/video.cpp"]
    "1" -> "2" [dir=back tooltip="include"]
    "1" -> "3" [dir=back tooltip="include"]
}

todo

namespace sync_util#
template<class T, class M = std::mutex>
class sync_t#

Public Types

using mutex_t = M#
using value_t = T#

Public Functions

inline std::lock_guard<mutex_t> lock()#
inline value_t &operator*()#
inline const value_t &operator*() const#
inline value_t *operator->()#
inline sync_t &operator=(const value_t &val) noexcept#
inline sync_t &operator=(sync_t &&other) noexcept#
inline sync_t &operator=(sync_t &other) noexcept#
template<class V>
inline sync_t &operator=(V &&val)#
inline sync_t &operator=(value_t &&val) noexcept#
template<class ...Args>
inline sync_t(Args&&... args)#

Public Members

value_t raw#

Private Members

mutex_t _lock#