類模板
<functional>

std::is_placeholder

template <class T> struct is_placeholder;
Is placeholder
用於標識 T 是否是 bind placeholder 的特徵類。

如果 T 是 bind placeholder 的型別,則它繼承自 integral_constant<int,I>,其中 I 是佔位符的序號(_11_22,以此類推);否則,它繼承自 integral_constant<int,0>
它定義為繼承自 integral_constant<int,I>,其中 I 是佔位符的序號(_11_22,以此類推),如果 T 是 bind placeholder 的型別,或者零(0)如果不是。

bind 函式使用此特徵類來確定其每個引數的型別是否為佔位符。使用者可以專門化此模板以處理要用作佔位符的型別。

模板引數

T
一個型別。

成員型別

繼承自 integral_constant
成員型別定義
value_typeint
型別它所繼承的 integral_constant 型別。
成員型別定義
value_typeint
型別它所繼承的 integral_constant 型別,或者具有相同特性的型別。

成員常量

成員常量定義
如果 T 是 placeholder 的型別:佔位符的序號(_11_22,以此類推)。
否則:0

成員函式

成員常量定義
operator int返回成員常量 value

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
// is_placeholder example
#include <iostream>     // std::cout, std::boolalpha
#include <functional>   // std::is_placeholder, std::placeholders

int main () {
  using namespace std::placeholders;  // introduces _1

  std::cout << std::is_placeholder<decltype(_1)>::value << '\n';
  std::cout << std::is_placeholder<decltype(_2)>::value << '\n';
  std::cout << std::is_placeholder<int>::value << '\n';

  return 0;
}

輸出
1
2
0


另見