classtk_1_1_lock_guard.xml 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?xml version='1.0' encoding='UTF-8' standalone='no'?>
  2. <doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.18.0" xml:lang="ja">
  3. <compounddef id="classtk_1_1_lock_guard" kind="class" language="C++" prot="public">
  4. <compoundname>tk::LockGuard</compoundname>
  5. <includes refid="sync_8hpp" local="no">sync.hpp</includes>
  6. <templateparamlist>
  7. <param>
  8. <type>typename Lockable</type>
  9. </param>
  10. </templateparamlist>
  11. <sectiondef kind="private-attrib">
  12. <memberdef kind="variable" id="classtk_1_1_lock_guard_1a75d98302f85bc3458b25848aa07f26f0" prot="private" static="no" mutable="no">
  13. <type>Lockable &amp;</type>
  14. <definition>Lockable&amp; tk::LockGuard&lt; Lockable &gt;::m_</definition>
  15. <argsstring></argsstring>
  16. <name>m_</name>
  17. <qualifiedname>tk::LockGuard::m_</qualifiedname>
  18. <briefdescription>
  19. </briefdescription>
  20. <detaileddescription>
  21. </detaileddescription>
  22. <inbodydescription>
  23. </inbodydescription>
  24. <location file="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" line="226" column="14" bodyfile="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" bodystart="226" bodyend="-1"/>
  25. </memberdef>
  26. </sectiondef>
  27. <sectiondef kind="public-func">
  28. <memberdef kind="function" id="classtk_1_1_lock_guard_1a3a922c7edf84ce25ef67151c322bb0eb" prot="public" static="no" const="no" explicit="yes" inline="yes" virt="non-virtual">
  29. <type></type>
  30. <definition>tk::LockGuard&lt; Lockable &gt;::LockGuard</definition>
  31. <argsstring>(Lockable &amp;m)</argsstring>
  32. <name>LockGuard</name>
  33. <qualifiedname>tk::LockGuard::LockGuard</qualifiedname>
  34. <param>
  35. <type>Lockable &amp;</type>
  36. <declname>m</declname>
  37. </param>
  38. <briefdescription>
  39. <para>ロック対象を受け取り、即座に <ref refid="namespacetk_1a6540aa25eb8562f6d6c8b37977d6cfe8" kindref="member">lock()</ref> します </para>
  40. </briefdescription>
  41. <detaileddescription>
  42. <para><parameterlist kind="param"><parameteritem>
  43. <parameternamelist>
  44. <parametername>m</parametername>
  45. </parameternamelist>
  46. <parameterdescription>
  47. <para>ロック対象のミューテックス参照 </para>
  48. </parameterdescription>
  49. </parameteritem>
  50. </parameterlist>
  51. </para>
  52. </detaileddescription>
  53. <inbodydescription>
  54. </inbodydescription>
  55. <location file="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" line="217" column="14" bodyfile="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" bodystart="217" bodyend="217"/>
  56. </memberdef>
  57. <memberdef kind="function" id="classtk_1_1_lock_guard_1a52eeb50abee00bd0ed16cfa6618ce40f" prot="public" static="no" const="no" explicit="no" inline="yes" virt="non-virtual">
  58. <type></type>
  59. <definition>tk::LockGuard&lt; Lockable &gt;::~LockGuard</definition>
  60. <argsstring>()</argsstring>
  61. <name>~LockGuard</name>
  62. <qualifiedname>tk::LockGuard::~LockGuard</qualifiedname>
  63. <briefdescription>
  64. </briefdescription>
  65. <detaileddescription>
  66. <para>スコープ終了時に自動的に <ref refid="namespacetk_1a752b12f6862815c94a52347af52578b7" kindref="member">unlock()</ref> します </para>
  67. </detaileddescription>
  68. <inbodydescription>
  69. </inbodydescription>
  70. <location file="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" line="220" column="5" bodyfile="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" bodystart="220" bodyend="220"/>
  71. </memberdef>
  72. <memberdef kind="function" id="classtk_1_1_lock_guard_1af9bc86bc2036c4b8e54633ddee811604" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
  73. <type></type>
  74. <definition>tk::LockGuard&lt; Lockable &gt;::LockGuard</definition>
  75. <argsstring>(const LockGuard &amp;)=delete</argsstring>
  76. <name>LockGuard</name>
  77. <qualifiedname>tk::LockGuard::LockGuard</qualifiedname>
  78. <param>
  79. <type>const LockGuard &amp;</type>
  80. </param>
  81. <briefdescription>
  82. </briefdescription>
  83. <detaileddescription>
  84. </detaileddescription>
  85. <inbodydescription>
  86. </inbodydescription>
  87. <location file="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" line="222" column="5"/>
  88. </memberdef>
  89. <memberdef kind="function" id="classtk_1_1_lock_guard_1a3f121f8aa1307f0f6e6e608cf138340c" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
  90. <type><ref refid="classtk_1_1_lock_guard_1a3a922c7edf84ce25ef67151c322bb0eb" kindref="member">LockGuard</ref> &amp;</type>
  91. <definition>LockGuard &amp; tk::LockGuard&lt; Lockable &gt;::operator=</definition>
  92. <argsstring>(const LockGuard &amp;)=delete</argsstring>
  93. <name>operator=</name>
  94. <qualifiedname>tk::LockGuard::operator=</qualifiedname>
  95. <param>
  96. <type>const <ref refid="classtk_1_1_lock_guard_1a3a922c7edf84ce25ef67151c322bb0eb" kindref="member">LockGuard</ref> &amp;</type>
  97. </param>
  98. <briefdescription>
  99. </briefdescription>
  100. <detaileddescription>
  101. </detaileddescription>
  102. <inbodydescription>
  103. </inbodydescription>
  104. <location file="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" line="223" column="15"/>
  105. </memberdef>
  106. </sectiondef>
  107. <briefdescription>
  108. <para>ミューテックスのロックをスコープ単位で安全に管理する RAII クラス (std::lock_guard 相当) </para>
  109. </briefdescription>
  110. <detaileddescription>
  111. <para>構築時に <computeroutput><ref refid="namespacetk_1a6540aa25eb8562f6d6c8b37977d6cfe8" kindref="member">lock()</ref></computeroutput> を呼び、デストラクタで自動的に <computeroutput><ref refid="namespacetk_1a752b12f6862815c94a52347af52578b7" kindref="member">unlock()</ref></computeroutput> を呼び出します。 途中で return や例外が発生しても確実にロックが解放されます。</para>
  112. <para><parameterlist kind="templateparam"><parameteritem>
  113. <parameternamelist>
  114. <parametername>Lockable</parametername>
  115. </parameternamelist>
  116. <parameterdescription>
  117. <para><ref refid="namespacetk_1a6540aa25eb8562f6d6c8b37977d6cfe8" kindref="member">lock()</ref> と <ref refid="namespacetk_1a752b12f6862815c94a52347af52578b7" kindref="member">unlock()</ref> を持つ型 (例: <ref refid="classtk_1_1_mutex" kindref="compound">tk::Mutex</ref>) </para>
  118. </parameterdescription>
  119. </parameteritem>
  120. </parameterlist>
  121. </para>
  122. </detaileddescription>
  123. <location file="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" line="211" column="1" bodyfile="C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp" bodystart="211" bodyend="227"/>
  124. <listofallmembers>
  125. <member refid="classtk_1_1_lock_guard_1a3a922c7edf84ce25ef67151c322bb0eb" prot="public" virt="non-virtual"><scope>tk::LockGuard</scope><name>LockGuard</name></member>
  126. <member refid="classtk_1_1_lock_guard_1af9bc86bc2036c4b8e54633ddee811604" prot="public" virt="non-virtual"><scope>tk::LockGuard</scope><name>LockGuard</name></member>
  127. <member refid="classtk_1_1_lock_guard_1a75d98302f85bc3458b25848aa07f26f0" prot="private" virt="non-virtual"><scope>tk::LockGuard</scope><name>m_</name></member>
  128. <member refid="classtk_1_1_lock_guard_1a3f121f8aa1307f0f6e6e608cf138340c" prot="public" virt="non-virtual"><scope>tk::LockGuard</scope><name>operator=</name></member>
  129. <member refid="classtk_1_1_lock_guard_1a52eeb50abee00bd0ed16cfa6618ce40f" prot="public" virt="non-virtual"><scope>tk::LockGuard</scope><name>~LockGuard</name></member>
  130. </listofallmembers>
  131. </compounddef>
  132. </doxygen>