- mutex[meta header]
- std[meta namespace]
- recursive_mutex[meta class]
- function[meta id-type]
- cpp11[meta cpp]
recursive_mutex(); // (1)
recursive_mutex(const recursive_mutex&) = delete; // (2)
- (1) : デフォルトコンストラクタ。
recursive_mutex
オブジェクトの初期化を行う。 - (2) : コピーコンストラクタ。コピー不可。
この関数は、以下のerror conditionを持つsystem_error
例外オブジェクトを送出する可能性がある:
resource_unavailable_try_again
: native handle型の計算ができないoperation_not_permitted
: スレッドにこの操作を行う権限がないdevice_or_resource_busy
: native handle型の計算がロックされているinvalid_argument
: ミューテックスを構築する一部のnative handle型計算が正しくない
非トリビアルなコンストラクタが定義されるため、ムーブコンストラクタは定義されない。
#include <mutex>
int main()
{
// デフォルト構築:ミューテックスの初期化
std::recursive_mutex mtx;
}
- C++11
- Clang: ??
- GCC: 4.7.0 [mark verified]
- ICC: ??
- Visual C++: 2012 [mark verified], 2013 [mark verified], 2015 [mark verified]
- 2012はコピーコンストラクタのdeleteに対応していないため、代わりにprivateで宣言のみ行う手法で代用されている。