classtk_1_1_preempt_guard.tex 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. \doxysection{tk::Preempt\+Guard クラス}
  2. \label{classtk_1_1_preempt_guard}\index{tk::PreemptGuard@{tk::PreemptGuard}}
  3. プリエンプション禁止をスコープ単位で安全に管理する RAII クラス
  4. {\ttfamily \+\#include $<$kernel.\+hpp$>$}
  5. \doxysubsubsection*{公開メンバ関数}
  6. \begin{DoxyCompactItemize}
  7. \item
  8. \textbf{ Preempt\+Guard} ()
  9. \item
  10. \textbf{ $\sim$\+Preempt\+Guard} ()
  11. \item
  12. \textbf{ Preempt\+Guard} (const Preempt\+Guard \&)=delete
  13. \item
  14. \textbf{ Preempt\+Guard} \& \textbf{ operator=} (const \textbf{ Preempt\+Guard} \&)=delete
  15. \end{DoxyCompactItemize}
  16. \doxysubsection{詳解}
  17. プリエンプション禁止をスコープ単位で安全に管理する RAII クラス
  18. 生成時に自動で {\ttfamily \doxyref{tk::\+preempt\+\_\+disable()}{p.}{namespacetk_a3254a7e2a9f5ed3abe44e8cf62a8dcfe}} を呼び、スコープを抜けた際に自動で {\ttfamily \doxyref{tk::\+preempt\+\_\+enable()}{p.}{namespacetk_a70e6ee5f456e67a24ce13ff0fd04e4d9}} を呼びます。
  19. \begin{DoxyCode}{0}
  20. \DoxyCodeLine{\{}
  21. \DoxyCodeLine{\ \ \ \ tk::PreemptGuard\ guard;}
  22. \DoxyCodeLine{\ \ \ \ \textcolor{comment}{//\ この区間はタスクスイッチが発生しない\ (I2C/SPI通信などに最適)}}
  23. \DoxyCodeLine{\ \ \ \ i2c\_write\_blocking(...);}
  24. \DoxyCodeLine{\}\ \textcolor{comment}{//\ 自動でタスクスイッチが再開}}
  25. \end{DoxyCode}
  26. \label{classtk_1_1_preempt_guard_doc-constructors}
  27. \doxysubsection{構築子と解体子}
  28. \index{tk::PreemptGuard@{tk::PreemptGuard}!PreemptGuard@{PreemptGuard}}
  29. \index{PreemptGuard@{PreemptGuard}!tk::PreemptGuard@{tk::PreemptGuard}}
  30. \doxysubsubsection{PreemptGuard()\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
  31. {\footnotesize\ttfamily \label{classtk_1_1_preempt_guard_a39e396ce51420c942e7d6549ec63f88e}
  32. tk::\+\+Preempt\+Guard::\+\+Preempt\+Guard (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  33. \index{tk::PreemptGuard@{tk::PreemptGuard}!````~PreemptGuard@{$\sim$PreemptGuard}}
  34. \index{````~PreemptGuard@{$\sim$PreemptGuard}!tk::PreemptGuard@{tk::PreemptGuard}}
  35. \doxysubsubsection{$\sim$PreemptGuard()}
  36. {\footnotesize\ttfamily \label{classtk_1_1_preempt_guard_a329ea4d806861d9455168aeb01f41f86}
  37. tk::\+\+Preempt\+Guard::\+$\sim$\+Preempt\+Guard (\begin{DoxyParamCaption}{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}}
  38. \index{tk::PreemptGuard@{tk::PreemptGuard}!PreemptGuard@{PreemptGuard}}
  39. \index{PreemptGuard@{PreemptGuard}!tk::PreemptGuard@{tk::PreemptGuard}}
  40. \doxysubsubsection{PreemptGuard()\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
  41. {\footnotesize\ttfamily \label{classtk_1_1_preempt_guard_a360ac2b073064abc0f21db3127e7f389}
  42. tk::\+\+Preempt\+Guard::\+\+Preempt\+Guard (\begin{DoxyParamCaption}\item[{const Preempt\+Guard \&}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
  43. \label{classtk_1_1_preempt_guard_doc-func-members}
  44. \doxysubsection{関数詳解}
  45. \index{tk::PreemptGuard@{tk::PreemptGuard}!operator=@{operator=}}
  46. \index{operator=@{operator=}!tk::PreemptGuard@{tk::PreemptGuard}}
  47. \doxysubsubsection{operator=()}
  48. {\footnotesize\ttfamily \label{classtk_1_1_preempt_guard_ad651c301bd81f95866e1cd380c2a2417}
  49. \textbf{ Preempt\+Guard} \& tk::\+\+Preempt\+Guard::\+operator= (\begin{DoxyParamCaption}\item[{const \textbf{ Preempt\+Guard} \&}]{}{}\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [delete]}}
  50. このクラス詳解は次のファイルから抽出されました:\begin{DoxyCompactItemize}
  51. \item
  52. C:\+/\+\+Users/\+yoneda/\+\+Documents/\+\+Pico\+\_\+\+Projects/\+tinykernel/\+tinykernel/\+include/\+tinykernel/\textbf{ kernel.\+hpp}\end{DoxyCompactItemize}