Skip to content

Files

Latest commit

 

History

History
54 lines (40 loc) · 1.98 KB

File metadata and controls

54 lines (40 loc) · 1.98 KB

コンストラクタ

  • condition_variable[meta header]
  • std[meta namespace]
  • condition_variable_any[meta class]
  • function[meta id-type]
  • cpp11[meta cpp]
condition_variable_any();                                       // (1)
condition_variable_any(const condition_variable_any&) = delete; // (2)

概要

  • (1) : デフォルトコンストラクタ。condition_variable_anyオブジェクトの初期化を行う
  • (2) : コピーコンストラクタ。コピー不可。これによってムーブも不可。

例外

この関数は、bad_alloc例外オブジェクト、もしくは以下のerror conditionを持つsystem_error例外オブジェクトを送出する可能性がある:

  • resource_unavailable_try_again : 制限により、非メモリリソースの初期化ができなかった
  • operation_not_permitted : スレッドがこの操作を実行する権限を持っていない

#include <condition_variable>

int main()
{
  std::condition_variable_any cond;
}

出力

バージョン

言語

  • C++11

処理系

  • Clang: ??
  • GCC: 4.7.0 [mark verified]
  • ICC: ??
  • Visual C++: 2012 [mark verified], 2013 [mark verified]
    • 2012までは、delete宣言に対応していないため、代わりにprivateで宣言のみ行う手法で代用されている。

参照

  • [LWG Issue 2092. Vague Wording for condition_variable_any]
    • C++11ではresource_unavailable_try_againエラーの理由が「native handleの計算ができなかった」というものだった。しかし、このクラスはnative handleを持っていることがpublicインタフェースになっていないため、C++14で「制限により、非メモリリソースの初期化ができなかった」という表現に修正。