• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    function
    <condition_variable>

    std::condition_variable_any::コンストラクタ

    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
    • ICC: ??
    • Visual C++: 2012 , 2013
      • 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で「制限により、非メモリリソースの初期化ができなかった」という表現に修正。