thread_safe#
Include dependency graph for thread_safe.h:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"3" [label="atomic" tooltip="atomic"]
"5" [label="functional" tooltip="functional"]
"16" [label="variant" tooltip="variant"]
"1" [label="src/thread_safe.h" tooltip="src/thread_safe.h" fillcolor="#BFBFBF"]
"13" [label="string" tooltip="string"]
"9" [label="utility.h" tooltip="utility.h"]
"6" [label="map" tooltip="map"]
"14" [label="string_view" tooltip="string_view"]
"4" [label="condition_variable" tooltip="condition_variable"]
"12" [label="optional" tooltip="optional"]
"8" [label="vector" tooltip="vector"]
"2" [label="array" tooltip="array"]
"7" [label="mutex" tooltip="mutex"]
"15" [label="type_traits" tooltip="type_traits"]
"10" [label="algorithm" tooltip="algorithm"]
"11" [label="memory" tooltip="memory"]
"1" -> "2" [dir=forward tooltip="include"]
"1" -> "3" [dir=forward tooltip="include"]
"1" -> "4" [dir=forward tooltip="include"]
"1" -> "5" [dir=forward tooltip="include"]
"1" -> "6" [dir=forward tooltip="include"]
"1" -> "7" [dir=forward tooltip="include"]
"1" -> "8" [dir=forward tooltip="include"]
"1" -> "9" [dir=forward tooltip="include"]
"9" -> "10" [dir=forward tooltip="include"]
"9" -> "4" [dir=forward tooltip="include"]
"9" -> "11" [dir=forward tooltip="include"]
"9" -> "7" [dir=forward tooltip="include"]
"9" -> "12" [dir=forward tooltip="include"]
"9" -> "13" [dir=forward tooltip="include"]
"9" -> "14" [dir=forward tooltip="include"]
"9" -> "15" [dir=forward tooltip="include"]
"9" -> "16" [dir=forward tooltip="include"]
"9" -> "8" [dir=forward tooltip="include"]
}](../../_images/graphviz-46979ca1e956f5ddc370374eec0b1aad9eeedf98.png)
This graph shows which files directly or indirectly include thread_safe.h:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"17" [label="src/platform/linux/graphics.cpp" tooltip="src/platform/linux/graphics.cpp"]
"16" [label="src/video.cpp" tooltip="src/video.cpp"]
"22" [label="src/platform/linux/x11grab.cpp" tooltip="src/platform/linux/x11grab.cpp"]
"4" [label="src/stream.h" tooltip="src/stream.h"]
"42" [label="src/platform/macos/av_img_t.h" tooltip="src/platform/macos/av_img_t.h"]
"35" [label="src/platform/linux/graphics.h" tooltip="src/platform/linux/graphics.h"]
"18" [label="src/platform/linux/cuda.cpp" tooltip="src/platform/linux/cuda.cpp"]
"49" [label="src/platform/windows/input.cpp" tooltip="src/platform/windows/input.cpp"]
"39" [label="src/platform/linux/publish.cpp" tooltip="src/platform/linux/publish.cpp"]
"40" [label="src/platform/linux/vaapi.h" tooltip="src/platform/linux/vaapi.h"]
"19" [label="src/platform/linux/kmsgrab.cpp" tooltip="src/platform/linux/kmsgrab.cpp"]
"1" [label="src/thread_safe.h" tooltip="src/thread_safe.h" fillcolor="#BFBFBF"]
"15" [label="src/nvenc/nvenc_base.h" tooltip="src/nvenc/nvenc_base.h"]
"2" [label="src/audio.cpp" tooltip="src/audio.cpp"]
"25" [label="src/platform/windows/display.h" tooltip="src/platform/windows/display.h"]
"30" [label="src/config.cpp" tooltip="src/config.cpp"]
"53" [label="src/process.h" tooltip="src/process.h"]
"12" [label="src/input.h" tooltip="src/input.h"]
"24" [label="src/platform/macos/nv12_zero_device.cpp" tooltip="src/platform/macos/nv12_zero_device.cpp"]
"44" [label="src/platform/macos/microphone.mm" tooltip="src/platform/macos/microphone.mm"]
"45" [label="src/platform/macos/misc.mm" tooltip="src/platform/macos/misc.mm"]
"52" [label="src/process.cpp" tooltip="src/process.cpp"]
"50" [label="src/platform/windows/misc.cpp" tooltip="src/platform/windows/misc.cpp"]
"37" [label="src/platform/linux/wayland.h" tooltip="src/platform/linux/wayland.h"]
"23" [label="src/platform/macos/display.mm" tooltip="src/platform/macos/display.mm"]
"32" [label="src/platform/common.h" tooltip="src/platform/common.h"]
"28" [label="src/platform/windows/display_vram.cpp" tooltip="src/platform/windows/display_vram.cpp"]
"6" [label="src/upnp.cpp" tooltip="src/upnp.cpp"]
"47" [label="src/platform/macos/publish.cpp" tooltip="src/platform/macos/publish.cpp"]
"43" [label="src/platform/macos/nv12_zero_device.h" tooltip="src/platform/macos/nv12_zero_device.h"]
"26" [label="src/platform/windows/display_base.cpp" tooltip="src/platform/windows/display_base.cpp"]
"10" [label="src/httpcommon.h" tooltip="src/httpcommon.h"]
"46" [label="src/platform/macos/input.cpp" tooltip="src/platform/macos/input.cpp"]
"20" [label="src/platform/linux/vaapi.cpp" tooltip="src/platform/linux/vaapi.cpp"]
"51" [label="src/platform/windows/publish.cpp" tooltip="src/platform/windows/publish.cpp"]
"57" [label="src/rtsp.h" tooltip="src/rtsp.h"]
"3" [label="src/audio.h" tooltip="src/audio.h"]
"21" [label="src/platform/linux/wlgrab.cpp" tooltip="src/platform/linux/wlgrab.cpp"]
"31" [label="src/cbs.cpp" tooltip="src/cbs.cpp"]
"14" [label="src/video.h" tooltip="src/video.h"]
"56" [label="src/nvhttp.h" tooltip="src/nvhttp.h"]
"8" [label="src/confighttp.cpp" tooltip="src/confighttp.cpp"]
"36" [label="src/platform/linux/wayland.cpp" tooltip="src/platform/linux/wayland.cpp"]
"13" [label="src/input.cpp" tooltip="src/input.cpp"]
"27" [label="src/platform/windows/display_ram.cpp" tooltip="src/platform/windows/display_ram.cpp"]
"55" [label="src/platform/windows/nvprefs/nvprefs_common.h" tooltip="src/platform/windows/nvprefs/nvprefs_common.h"]
"7" [label="src/confighttp.h" tooltip="src/confighttp.h"]
"9" [label="src/main.cpp" tooltip="src/main.cpp"]
"34" [label="src/platform/linux/audio.cpp" tooltip="src/platform/linux/audio.cpp"]
"11" [label="src/httpcommon.cpp" tooltip="src/httpcommon.cpp"]
"33" [label="src/nvenc/nvenc_utils.h" tooltip="src/nvenc/nvenc_utils.h"]
"5" [label="src/stream.cpp" tooltip="src/stream.cpp"]
"48" [label="src/platform/windows/audio.cpp" tooltip="src/platform/windows/audio.cpp"]
"29" [label="src/main.h" tooltip="src/main.h"]
"54" [label="src/upnp.h" tooltip="src/upnp.h"]
"38" [label="src/platform/linux/input.cpp" tooltip="src/platform/linux/input.cpp"]
"41" [label="src/platform/linux/x11grab.h" tooltip="src/platform/linux/x11grab.h"]
"4" -> "5" [dir=back tooltip="include"]
"4" -> "6" [dir=back tooltip="include"]
"42" -> "23" [dir=back tooltip="include"]
"42" -> "43" [dir=back tooltip="include"]
"35" -> "17" [dir=back tooltip="include"]
"35" -> "18" [dir=back tooltip="include"]
"35" -> "19" [dir=back tooltip="include"]
"35" -> "20" [dir=back tooltip="include"]
"35" -> "36" [dir=back tooltip="include"]
"35" -> "37" [dir=back tooltip="include"]
"35" -> "22" [dir=back tooltip="include"]
"40" -> "19" [dir=back tooltip="include"]
"40" -> "21" [dir=back tooltip="include"]
"40" -> "22" [dir=back tooltip="include"]
"1" -> "2" [dir=back tooltip="include"]
"1" -> "3" [dir=back tooltip="include"]
"1" -> "7" [dir=back tooltip="include"]
"1" -> "10" [dir=back tooltip="include"]
"1" -> "12" [dir=back tooltip="include"]
"1" -> "29" [dir=back tooltip="include"]
"1" -> "56" [dir=back tooltip="include"]
"1" -> "32" [dir=back tooltip="include"]
"1" -> "34" [dir=back tooltip="include"]
"1" -> "51" [dir=back tooltip="include"]
"1" -> "57" [dir=back tooltip="include"]
"1" -> "5" [dir=back tooltip="include"]
"1" -> "14" [dir=back tooltip="include"]
"15" -> "16" [dir=back tooltip="include"]
"25" -> "26" [dir=back tooltip="include"]
"25" -> "27" [dir=back tooltip="include"]
"25" -> "28" [dir=back tooltip="include"]
"53" -> "8" [dir=back tooltip="include"]
"53" -> "11" [dir=back tooltip="include"]
"53" -> "9" [dir=back tooltip="include"]
"53" -> "52" [dir=back tooltip="include"]
"53" -> "5" [dir=back tooltip="include"]
"12" -> "13" [dir=back tooltip="include"]
"12" -> "5" [dir=back tooltip="include"]
"12" -> "14" [dir=back tooltip="include"]
"12" -> "16" [dir=back tooltip="include"]
"37" -> "18" [dir=back tooltip="include"]
"37" -> "19" [dir=back tooltip="include"]
"37" -> "36" [dir=back tooltip="include"]
"37" -> "21" [dir=back tooltip="include"]
"32" -> "2" [dir=back tooltip="include"]
"32" -> "30" [dir=back tooltip="include"]
"32" -> "8" [dir=back tooltip="include"]
"32" -> "11" [dir=back tooltip="include"]
"32" -> "12" [dir=back tooltip="include"]
"32" -> "9" [dir=back tooltip="include"]
"32" -> "13" [dir=back tooltip="include"]
"32" -> "33" [dir=back tooltip="include"]
"32" -> "34" [dir=back tooltip="include"]
"32" -> "35" [dir=back tooltip="include"]
"32" -> "19" [dir=back tooltip="include"]
"32" -> "38" [dir=back tooltip="include"]
"32" -> "39" [dir=back tooltip="include"]
"32" -> "20" [dir=back tooltip="include"]
"32" -> "40" [dir=back tooltip="include"]
"32" -> "36" [dir=back tooltip="include"]
"32" -> "21" [dir=back tooltip="include"]
"32" -> "22" [dir=back tooltip="include"]
"32" -> "41" [dir=back tooltip="include"]
"32" -> "42" [dir=back tooltip="include"]
"32" -> "23" [dir=back tooltip="include"]
"32" -> "44" [dir=back tooltip="include"]
"32" -> "45" [dir=back tooltip="include"]
"32" -> "46" [dir=back tooltip="include"]
"32" -> "43" [dir=back tooltip="include"]
"32" -> "47" [dir=back tooltip="include"]
"32" -> "48" [dir=back tooltip="include"]
"32" -> "25" [dir=back tooltip="include"]
"32" -> "26" [dir=back tooltip="include"]
"32" -> "49" [dir=back tooltip="include"]
"32" -> "50" [dir=back tooltip="include"]
"32" -> "51" [dir=back tooltip="include"]
"32" -> "52" [dir=back tooltip="include"]
"32" -> "53" [dir=back tooltip="include"]
"32" -> "54" [dir=back tooltip="include"]
"32" -> "14" [dir=back tooltip="include"]
"32" -> "16" [dir=back tooltip="include"]
"43" -> "23" [dir=back tooltip="include"]
"43" -> "24" [dir=back tooltip="include"]
"10" -> "8" [dir=back tooltip="include"]
"10" -> "11" [dir=back tooltip="include"]
"10" -> "9" [dir=back tooltip="include"]
"57" -> "30" [dir=back tooltip="include"]
"57" -> "8" [dir=back tooltip="include"]
"57" -> "11" [dir=back tooltip="include"]
"57" -> "9" [dir=back tooltip="include"]
"57" -> "53" [dir=back tooltip="include"]
"57" -> "6" [dir=back tooltip="include"]
"3" -> "2" [dir=back tooltip="include"]
"3" -> "4" [dir=back tooltip="include"]
"14" -> "9" [dir=back tooltip="include"]
"14" -> "15" [dir=back tooltip="include"]
"14" -> "17" [dir=back tooltip="include"]
"14" -> "18" [dir=back tooltip="include"]
"14" -> "19" [dir=back tooltip="include"]
"14" -> "20" [dir=back tooltip="include"]
"14" -> "21" [dir=back tooltip="include"]
"14" -> "22" [dir=back tooltip="include"]
"14" -> "23" [dir=back tooltip="include"]
"14" -> "24" [dir=back tooltip="include"]
"14" -> "25" [dir=back tooltip="include"]
"14" -> "26" [dir=back tooltip="include"]
"14" -> "28" [dir=back tooltip="include"]
"14" -> "4" [dir=back tooltip="include"]
"14" -> "16" [dir=back tooltip="include"]
"56" -> "30" [dir=back tooltip="include"]
"56" -> "8" [dir=back tooltip="include"]
"56" -> "11" [dir=back tooltip="include"]
"56" -> "9" [dir=back tooltip="include"]
"56" -> "39" [dir=back tooltip="include"]
"56" -> "47" [dir=back tooltip="include"]
"56" -> "51" [dir=back tooltip="include"]
"56" -> "6" [dir=back tooltip="include"]
"7" -> "8" [dir=back tooltip="include"]
"7" -> "9" [dir=back tooltip="include"]
"7" -> "6" [dir=back tooltip="include"]
"33" -> "28" [dir=back tooltip="include"]
"29" -> "2" [dir=back tooltip="include"]
"29" -> "30" [dir=back tooltip="include"]
"29" -> "8" [dir=back tooltip="include"]
"29" -> "31" [dir=back tooltip="include"]
"29" -> "11" [dir=back tooltip="include"]
"29" -> "9" [dir=back tooltip="include"]
"29" -> "13" [dir=back tooltip="include"]
"29" -> "32" [dir=back tooltip="include"]
"29" -> "34" [dir=back tooltip="include"]
"29" -> "35" [dir=back tooltip="include"]
"29" -> "18" [dir=back tooltip="include"]
"29" -> "19" [dir=back tooltip="include"]
"29" -> "38" [dir=back tooltip="include"]
"29" -> "39" [dir=back tooltip="include"]
"29" -> "20" [dir=back tooltip="include"]
"29" -> "36" [dir=back tooltip="include"]
"29" -> "21" [dir=back tooltip="include"]
"29" -> "22" [dir=back tooltip="include"]
"29" -> "23" [dir=back tooltip="include"]
"29" -> "44" [dir=back tooltip="include"]
"29" -> "45" [dir=back tooltip="include"]
"29" -> "46" [dir=back tooltip="include"]
"29" -> "47" [dir=back tooltip="include"]
"29" -> "48" [dir=back tooltip="include"]
"29" -> "26" [dir=back tooltip="include"]
"29" -> "27" [dir=back tooltip="include"]
"29" -> "49" [dir=back tooltip="include"]
"29" -> "28" [dir=back tooltip="include"]
"29" -> "50" [dir=back tooltip="include"]
"29" -> "55" [dir=back tooltip="include"]
"29" -> "51" [dir=back tooltip="include"]
"29" -> "52" [dir=back tooltip="include"]
"29" -> "5" [dir=back tooltip="include"]
"29" -> "6" [dir=back tooltip="include"]
"29" -> "16" [dir=back tooltip="include"]
"54" -> "9" [dir=back tooltip="include"]
"54" -> "6" [dir=back tooltip="include"]
"41" -> "19" [dir=back tooltip="include"]
"41" -> "22" [dir=back tooltip="include"]
}](../../_images/graphviz-b8f3e50c22ccb3d9008011582a6377263a709e85.png)
todo
-
namespace safe#
Typedefs
-
template<class T>
using alarm_t = std::shared_ptr<alarm_raw_t<T>>#
-
using mail_t = std::shared_ptr<mail_raw_t>#
Functions
-
inline void cleanup(mail_raw_t*)#
-
template<class T>
inline auto lock(const std::weak_ptr<void> &wp)#
-
template<class T>
class alarm_raw_t# -
Public Functions
-
inline void reset()#
-
inline auto wait()#
-
template<class Rep, class Period>
inline auto wait_for(const std::chrono::duration<Rep, Period> &rel_time)#
-
template<class Rep, class Period, class Pred>
inline auto wait_for(const std::chrono::duration<Rep, Period> &rel_time, Pred &&pred)#
-
inline void reset()#
-
template<class T>
class event_t#
-
class mail_raw_t : public std::enable_shared_from_this<mail_raw_t>#
Inheritence diagram for safe::mail_raw_t:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"2" [label="std::enable_shared_from_this< mail_raw_t >" tooltip="std::enable_shared_from_this< mail_raw_t >"]
"1" [label="safe::mail_raw_t" tooltip="safe::mail_raw_t" fillcolor="#BFBFBF"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
}](../../_images/graphviz-ec6978222dcf57dbe225b28775bd1e79dbcfd2e3.png)
Collaboration diagram for safe::mail_raw_t:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"2" [label="std::enable_shared_from_this< mail_raw_t >" tooltip="std::enable_shared_from_this< mail_raw_t >"]
"1" [label="safe::mail_raw_t" tooltip="safe::mail_raw_t" fillcolor="#BFBFBF"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
}](../../_images/graphviz-ec6978222dcf57dbe225b28775bd1e79dbcfd2e3.png)
Public Types
Public Functions
-
inline void cleanup()#
-
inline void cleanup()#
-
template<class T>
class post_t : public T# Inheritence diagram for safe::post_t:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"2" [label="T" tooltip="T"]
"1" [label="safe::post_t< T >" tooltip="safe::post_t< T >" fillcolor="#BFBFBF"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
}](../../_images/graphviz-3994ceaa14504970525e505dff2ce30d9c610e67.png)
Collaboration diagram for safe::post_t:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"2" [label="T" tooltip="T"]
"1" [label="safe::post_t< T >" tooltip="safe::post_t< T >" fillcolor="#BFBFBF"]
"1" -> "2" [dir=forward tooltip="public-inheritance"]
}](../../_images/graphviz-3994ceaa14504970525e505dff2ce30d9c610e67.png)
Public Functions
-
inline ~post_t()#
-
inline ~post_t()#
-
template<class T>
class queue_t#
Public Types
Public Functions
Private Members
Collaboration diagram for safe::shared_t::ptr_t:
![digraph {
graph [bgcolor="#00000000"]
node [shape=rectangle style=filled fillcolor="#FFFFFF" font=Helvetica padding=2]
edge [color="#1414CE"]
"1" [label="safe::shared_t< T >::ptr_t" tooltip="safe::shared_t< T >::ptr_t" fillcolor="#BFBFBF"]
"2" [label="safe::shared_t< T >" tooltip="safe::shared_t< T >"]
"1" -> "2" [dir=forward tooltip="usage"]
}](../../_images/graphviz-c40984efbefebe78dcbb37b4657399b8cbff745c.png)
Public Functions
Public Members
-
template<class T>