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"]
"9" [label="utility.h" tooltip="utility.h"]
"13" [label="string" tooltip="string"]
"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"]
"1" [label="src/thread_safe.h" tooltip="src/thread_safe.h" fillcolor="#BFBFBF"]
"7" [label="mutex" tooltip="mutex"]
"15" [label="type_traits" tooltip="type_traits"]
"10" [label="algorithm" tooltip="algorithm"]
"11" [label="memory" tooltip="memory"]
"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"]
"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"]
}](../../_images/graphviz-cb9bcadb4400d3256ace7c81ee6b0c3f04c281d6.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"]
"33" [label="src/platform/macos/nv12_zero_device.cpp" tooltip="src/platform/macos/nv12_zero_device.cpp"]
"27" [label="src/platform/linux/graphics.cpp" tooltip="src/platform/linux/graphics.cpp"]
"21" [label="src/httpcommon.h" tooltip="src/httpcommon.h"]
"16" [label="src/platform/linux/x11grab.cpp" tooltip="src/platform/linux/x11grab.cpp"]
"42" [label="src/platform/common.h" tooltip="src/platform/common.h"]
"39" [label="src/platform/linux/publish.cpp" tooltip="src/platform/linux/publish.cpp"]
"11" [label="src/entry_handler.h" tooltip="src/entry_handler.h"]
"56" [label="src/process.h" tooltip="src/process.h"]
"25" [label="src/video.h" tooltip="src/video.h"]
"9" [label="src/entry_handler.cpp" tooltip="src/entry_handler.cpp"]
"53" [label="src/platform/macos/input.cpp" tooltip="src/platform/macos/input.cpp"]
"12" [label="src/config.cpp" tooltip="src/config.cpp"]
"46" [label="src/platform/linux/wayland.h" tooltip="src/platform/linux/wayland.h"]
"45" [label="src/platform/linux/graphics.h" tooltip="src/platform/linux/graphics.h"]
"6" [label="src/upnp.cpp" tooltip="src/upnp.cpp"]
"52" [label="src/platform/macos/microphone.mm" tooltip="src/platform/macos/microphone.mm"]
"15" [label="src/input.cpp" tooltip="src/input.cpp"]
"29" [label="src/platform/linux/kmsgrab.cpp" tooltip="src/platform/linux/kmsgrab.cpp"]
"30" [label="src/platform/linux/vaapi.cpp" tooltip="src/platform/linux/vaapi.cpp"]
"31" [label="src/platform/linux/wlgrab.cpp" tooltip="src/platform/linux/wlgrab.cpp"]
"38" [label="src/nvhttp.h" tooltip="src/nvhttp.h"]
"10" [label="src/main.cpp" tooltip="src/main.cpp"]
"23" [label="src/input.h" tooltip="src/input.h"]
"43" [label="src/nvenc/nvenc_utils.h" tooltip="src/nvenc/nvenc_utils.h"]
"17" [label="src/platform/windows/input.cpp" tooltip="src/platform/windows/input.cpp"]
"50" [label="src/platform/macos/av_img_t.h" tooltip="src/platform/macos/av_img_t.h"]
"40" [label="src/platform/macos/publish.cpp" tooltip="src/platform/macos/publish.cpp"]
"47" [label="src/platform/linux/wayland.cpp" tooltip="src/platform/linux/wayland.cpp"]
"57" [label="src/upnp.h" tooltip="src/upnp.h"]
"36" [label="src/platform/windows/display_base.cpp" tooltip="src/platform/windows/display_base.cpp"]
"19" [label="src/video.cpp" tooltip="src/video.cpp"]
"13" [label="src/globals.h" tooltip="src/globals.h"]
"55" [label="src/process.cpp" tooltip="src/process.cpp"]
"7" [label="src/confighttp.h" tooltip="src/confighttp.h"]
"2" [label="src/audio.h" tooltip="src/audio.h"]
"28" [label="src/platform/linux/cuda.cpp" tooltip="src/platform/linux/cuda.cpp"]
"49" [label="src/platform/linux/x11grab.h" tooltip="src/platform/linux/x11grab.h"]
"18" [label="src/platform/windows/misc.cpp" tooltip="src/platform/windows/misc.cpp"]
"3" [label="src/audio.cpp" tooltip="src/audio.cpp"]
"24" [label="src/platform/linux/input.cpp" tooltip="src/platform/linux/input.cpp"]
"4" [label="src/stream.h" tooltip="src/stream.h"]
"1" [label="src/thread_safe.h" tooltip="src/thread_safe.h" fillcolor="#BFBFBF"]
"5" [label="src/stream.cpp" tooltip="src/stream.cpp"]
"8" [label="src/confighttp.cpp" tooltip="src/confighttp.cpp"]
"34" [label="src/platform/windows/display.h" tooltip="src/platform/windows/display.h"]
"32" [label="src/platform/macos/display.mm" tooltip="src/platform/macos/display.mm"]
"14" [label="src/globals.cpp" tooltip="src/globals.cpp"]
"35" [label="src/platform/windows/display_ram.cpp" tooltip="src/platform/windows/display_ram.cpp"]
"44" [label="src/platform/linux/audio.cpp" tooltip="src/platform/linux/audio.cpp"]
"51" [label="src/platform/macos/nv12_zero_device.h" tooltip="src/platform/macos/nv12_zero_device.h"]
"58" [label="src/rtsp.h" tooltip="src/rtsp.h"]
"37" [label="src/platform/windows/display_vram.cpp" tooltip="src/platform/windows/display_vram.cpp"]
"20" [label="src/platform/macos/misc.mm" tooltip="src/platform/macos/misc.mm"]
"22" [label="src/httpcommon.cpp" tooltip="src/httpcommon.cpp"]
"54" [label="src/platform/windows/audio.cpp" tooltip="src/platform/windows/audio.cpp"]
"48" [label="src/platform/linux/vaapi.h" tooltip="src/platform/linux/vaapi.h"]
"26" [label="src/nvenc/nvenc_base.h" tooltip="src/nvenc/nvenc_base.h"]
"41" [label="src/platform/windows/publish.cpp" tooltip="src/platform/windows/publish.cpp"]
"21" -> "8" [dir=back tooltip="include"]
"21" -> "9" [dir=back tooltip="include"]
"21" -> "22" [dir=back tooltip="include"]
"21" -> "10" [dir=back tooltip="include"]
"42" -> "3" [dir=back tooltip="include"]
"42" -> "12" [dir=back tooltip="include"]
"42" -> "8" [dir=back tooltip="include"]
"42" -> "9" [dir=back tooltip="include"]
"42" -> "22" [dir=back tooltip="include"]
"42" -> "23" [dir=back tooltip="include"]
"42" -> "15" [dir=back tooltip="include"]
"42" -> "43" [dir=back tooltip="include"]
"42" -> "44" [dir=back tooltip="include"]
"42" -> "45" [dir=back tooltip="include"]
"42" -> "29" [dir=back tooltip="include"]
"42" -> "24" [dir=back tooltip="include"]
"42" -> "39" [dir=back tooltip="include"]
"42" -> "30" [dir=back tooltip="include"]
"42" -> "48" [dir=back tooltip="include"]
"42" -> "47" [dir=back tooltip="include"]
"42" -> "31" [dir=back tooltip="include"]
"42" -> "49" [dir=back tooltip="include"]
"42" -> "50" [dir=back tooltip="include"]
"42" -> "16" [dir=back tooltip="include"]
"42" -> "32" [dir=back tooltip="include"]
"42" -> "52" [dir=back tooltip="include"]
"42" -> "53" [dir=back tooltip="include"]
"42" -> "20" [dir=back tooltip="include"]
"42" -> "51" [dir=back tooltip="include"]
"42" -> "40" [dir=back tooltip="include"]
"42" -> "54" [dir=back tooltip="include"]
"42" -> "34" [dir=back tooltip="include"]
"42" -> "36" [dir=back tooltip="include"]
"42" -> "17" [dir=back tooltip="include"]
"42" -> "18" [dir=back tooltip="include"]
"42" -> "41" [dir=back tooltip="include"]
"42" -> "55" [dir=back tooltip="include"]
"42" -> "56" [dir=back tooltip="include"]
"42" -> "57" [dir=back tooltip="include"]
"42" -> "25" [dir=back tooltip="include"]
"42" -> "19" [dir=back tooltip="include"]
"11" -> "12" [dir=back tooltip="include"]
"11" -> "9" [dir=back tooltip="include"]
"11" -> "13" [dir=back tooltip="include"]
"11" -> "10" [dir=back tooltip="include"]
"11" -> "20" [dir=back tooltip="include"]
"11" -> "18" [dir=back tooltip="include"]
"56" -> "8" [dir=back tooltip="include"]
"56" -> "22" [dir=back tooltip="include"]
"56" -> "10" [dir=back tooltip="include"]
"56" -> "55" [dir=back tooltip="include"]
"56" -> "5" [dir=back tooltip="include"]
"25" -> "10" [dir=back tooltip="include"]
"25" -> "26" [dir=back tooltip="include"]
"25" -> "27" [dir=back tooltip="include"]
"25" -> "28" [dir=back tooltip="include"]
"25" -> "29" [dir=back tooltip="include"]
"25" -> "30" [dir=back tooltip="include"]
"25" -> "31" [dir=back tooltip="include"]
"25" -> "16" [dir=back tooltip="include"]
"25" -> "32" [dir=back tooltip="include"]
"25" -> "33" [dir=back tooltip="include"]
"25" -> "34" [dir=back tooltip="include"]
"25" -> "36" [dir=back tooltip="include"]
"25" -> "37" [dir=back tooltip="include"]
"25" -> "4" [dir=back tooltip="include"]
"25" -> "19" [dir=back tooltip="include"]
"46" -> "28" [dir=back tooltip="include"]
"46" -> "29" [dir=back tooltip="include"]
"46" -> "47" [dir=back tooltip="include"]
"46" -> "31" [dir=back tooltip="include"]
"45" -> "27" [dir=back tooltip="include"]
"45" -> "28" [dir=back tooltip="include"]
"45" -> "29" [dir=back tooltip="include"]
"45" -> "30" [dir=back tooltip="include"]
"45" -> "46" [dir=back tooltip="include"]
"45" -> "47" [dir=back tooltip="include"]
"45" -> "16" [dir=back tooltip="include"]
"38" -> "12" [dir=back tooltip="include"]
"38" -> "8" [dir=back tooltip="include"]
"38" -> "22" [dir=back tooltip="include"]
"38" -> "10" [dir=back tooltip="include"]
"38" -> "39" [dir=back tooltip="include"]
"38" -> "40" [dir=back tooltip="include"]
"38" -> "41" [dir=back tooltip="include"]
"38" -> "6" [dir=back tooltip="include"]
"23" -> "15" [dir=back tooltip="include"]
"23" -> "24" [dir=back tooltip="include"]
"23" -> "5" [dir=back tooltip="include"]
"23" -> "25" [dir=back tooltip="include"]
"23" -> "19" [dir=back tooltip="include"]
"43" -> "37" [dir=back tooltip="include"]
"50" -> "32" [dir=back tooltip="include"]
"50" -> "51" [dir=back tooltip="include"]
"57" -> "10" [dir=back tooltip="include"]
"57" -> "6" [dir=back tooltip="include"]
"13" -> "3" [dir=back tooltip="include"]
"13" -> "8" [dir=back tooltip="include"]
"13" -> "9" [dir=back tooltip="include"]
"13" -> "14" [dir=back tooltip="include"]
"13" -> "15" [dir=back tooltip="include"]
"13" -> "10" [dir=back tooltip="include"]
"13" -> "16" [dir=back tooltip="include"]
"13" -> "17" [dir=back tooltip="include"]
"13" -> "18" [dir=back tooltip="include"]
"13" -> "5" [dir=back tooltip="include"]
"13" -> "6" [dir=back tooltip="include"]
"13" -> "19" [dir=back tooltip="include"]
"7" -> "8" [dir=back tooltip="include"]
"7" -> "9" [dir=back tooltip="include"]
"7" -> "10" [dir=back tooltip="include"]
"7" -> "6" [dir=back tooltip="include"]
"2" -> "3" [dir=back tooltip="include"]
"2" -> "4" [dir=back tooltip="include"]
"49" -> "16" [dir=back tooltip="include"]
"4" -> "5" [dir=back tooltip="include"]
"4" -> "6" [dir=back tooltip="include"]
"1" -> "2" [dir=back tooltip="include"]
"1" -> "3" [dir=back tooltip="include"]
"1" -> "7" [dir=back tooltip="include"]
"1" -> "11" [dir=back tooltip="include"]
"1" -> "21" [dir=back tooltip="include"]
"1" -> "23" [dir=back tooltip="include"]
"1" -> "38" [dir=back tooltip="include"]
"1" -> "42" [dir=back tooltip="include"]
"1" -> "44" [dir=back tooltip="include"]
"1" -> "41" [dir=back tooltip="include"]
"1" -> "58" [dir=back tooltip="include"]
"1" -> "5" [dir=back tooltip="include"]
"1" -> "25" [dir=back tooltip="include"]
"34" -> "35" [dir=back tooltip="include"]
"34" -> "36" [dir=back tooltip="include"]
"34" -> "37" [dir=back tooltip="include"]
"51" -> "32" [dir=back tooltip="include"]
"51" -> "33" [dir=back tooltip="include"]
"58" -> "12" [dir=back tooltip="include"]
"58" -> "8" [dir=back tooltip="include"]
"58" -> "22" [dir=back tooltip="include"]
"58" -> "56" [dir=back tooltip="include"]
"58" -> "6" [dir=back tooltip="include"]
"48" -> "29" [dir=back tooltip="include"]
"48" -> "31" [dir=back tooltip="include"]
"48" -> "16" [dir=back tooltip="include"]
"26" -> "19" [dir=back tooltip="include"]
}](../../_images/graphviz-cfbeb5faae994b84cbfd6f1d537fa423c2a9bcd1.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>