最終更新日時: 2024年06月11日 22時45分38秒 (JST)
Akira Takahashi が更新

履歴 編集

class template
<functional>

# std::is_bind_expression(C++11)

    namespace std {
      template <class T>
      struct is_bind_expression;

      template <class T>
      inline constexpr bool is_bind_expression_v = is_bind_expression<T>::value; // C++17
    }

## 概要

型 `T` が `bind()` の呼出し結果かどうかを判別する

## 要件

`is_bind_expression`は、型 `T`が `std::bind()` の戻り値であれば `true_type` から派生し、そうでなければ `false_type` から派生する。

## 例

    #include <functional>

    static_assert(
      std::is_bind_expression<
        decltype(std::bind(std::less<int>(), std::placeholders::_1, 3))
      >::value,
      "a bind expression");

    static_assert(
      !std::is_bind_expression<decltype(std::less<int>()(2, 3))>::value,
      "not a bind expression");

    int main() {}

### 出力

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.7.0 ✅
- ICC: ??
- Visual C++: ??

## 参照

- P0006R0 Adopt Type Traits Variable Templates from Library Fundamentals TS for C++17