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"]
    "1" [label="src/sync.h" tooltip="src/sync.h" fillcolor="#BFBFBF"]
    "4" [label="utility" tooltip="utility"]
    "2" [label="array" tooltip="array"]
    "3" [label="mutex" tooltip="mutex"]
    "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"]
    "1" [label="src/sync.h" tooltip="src/sync.h" fillcolor="#BFBFBF"]
    "3" [label="src/video.cpp" tooltip="src/video.cpp"]
    "2" [label="src/stream.cpp" tooltip="src/stream.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