From Jason Turner

[func.bind.isbind]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmpbpy2h1t8/{from.md → to.md} +12 -18
tmp/tmpbpy2h1t8/{from.md → to.md} RENAMED
@@ -1,26 +1,20 @@
1
- ##### Class template `is_bind_expression` <a id="func.bind.isbind">[[func.bind.isbind]]</a>
2
 
3
  ``` cpp
4
  namespace std {
5
- template<class T> struct is_bind_expression
6
- : integral_constant<bool, see below> { };
7
  }
8
  ```
9
 
10
  `is_bind_expression` can be used to detect function objects generated by
11
- `bind`. `bind` uses `is_bind_expression` to detect subexpressions. Users
12
- may specialize this template to indicate that a type should be treated
13
- as a subexpression in a `bind` call.
14
-
15
- If `T` is a type returned from `bind`, `is_bind_expression<T>` shall be
16
- publicly derived from `integral_constant<bool, true>`, otherwise from
17
- `integral_constant<bool, false>`.
18
-
19
- `is_placeholder` can be used to detect the standard placeholders `_1`,
20
- `_2`, and so on. `bind` uses `is_placeholder` to detect placeholders.
21
- Users may specialize this template to indicate a placeholder type.
22
-
23
- If `T` is the type of `std::placeholders::_J`, `is_placeholder<T>` shall
24
- be publicly derived from `integral_constant<int, J>`, otherwise from
25
- `integral_constant<int, 0>`.
26
 
 
1
+ #### Class template `is_bind_expression` <a id="func.bind.isbind">[[func.bind.isbind]]</a>
2
 
3
  ``` cpp
4
  namespace std {
5
+ template<class T> struct is_bind_expression; // see below
 
6
  }
7
  ```
8
 
9
  `is_bind_expression` can be used to detect function objects generated by
10
+ `bind`. `bind` uses `is_bind_expression` to detect subexpressions.
11
+
12
+ Instantiations of the `is_bind_expression` template shall meet the
13
+ UnaryTypeTrait requirements ([[meta.rqmts]]). The implementation shall
14
+ provide a definition that has a BaseCharacteristic of `true_type` if `T`
15
+ is a type returned from `bind`, otherwise it shall have a
16
+ BaseCharacteristic of `false_type`. A program may specialize this
17
+ template for a user-defined type `T` to have a BaseCharacteristic of
18
+ `true_type` to indicate that `T` should be treated as a subexpression in
19
+ a `bind` call.
 
 
 
 
 
20