tinykernel
読み取り中…
検索中…
一致する文字列を見つけられません
tk::LockGuard< Lockable > クラステンプレート

ミューテックスのロックをスコープ単位で安全に管理する RAII クラス (std::lock_guard 相当) [詳解]

#include <sync.hpp>

公開メンバ関数

 LockGuard (Lockable &m)
 ロック対象を受け取り、即座に lock() します
 ~LockGuard ()
 LockGuard (const LockGuard &)=delete
LockGuard & operator= (const LockGuard &)=delete

詳解

template<typename Lockable>
class tk::LockGuard< Lockable >

ミューテックスのロックをスコープ単位で安全に管理する RAII クラス (std::lock_guard 相当)

構築時に lock() を呼び、デストラクタで自動的に unlock() を呼び出します。 途中で return や例外が発生しても確実にロックが解放されます。

テンプレート引数
Lockablelock() と unlock() を持つ型 (例: tk::Mutex)

構築子と解体子

◆ LockGuard() [1/2]

template<typename Lockable>
tk::LockGuard< Lockable >::LockGuard ( Lockable & m)
inlineexplicit

ロック対象を受け取り、即座に lock() します

引数
mロック対象のミューテックス参照

◆ ~LockGuard()

template<typename Lockable>
tk::LockGuard< Lockable >::~LockGuard ( )
inline

スコープ終了時に自動的に unlock() します

◆ LockGuard() [2/2]

template<typename Lockable>
tk::LockGuard< Lockable >::LockGuard ( const LockGuard< Lockable > & )
delete

関数詳解

◆ operator=()

template<typename Lockable>
LockGuard & tk::LockGuard< Lockable >::operator= ( const LockGuard< Lockable > & )
delete

このクラス詳解は次のファイルから抽出されました:
  • C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp