tinykernel
Loading...
Searching...
No Matches
tk::LockGuard< Lockable > Class Template Reference

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

#include <sync.hpp>

Public Member Functions

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

Detailed Description

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

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

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

Template Parameters
Lockablelock() と unlock() を持つ型 (例: tk::Mutex)

Constructor & Destructor Documentation

◆ LockGuard() [1/2]

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

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

Parameters
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

Member Function Documentation

◆ operator=()

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

The documentation for this class was generated from the following file:
  • C:/Users/yoneda/Documents/Pico_Projects/tinykernel/tinykernel/include/tinykernel/sync.hpp