- functional[meta header]
- std[meta namespace]
- class template[meta id-type]
- cpp11[meta cpp]
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() {}
- std::is_bind_expression[color ff0000]
- std::less[link less.md]
- std::placeholders::_1[link placeholders.md]
- C++11
- Clang: ??
- GCC: 4.7.0 [mark verified]
- ICC: ??
- Visual C++: ??