19 General utilities library [utilities]

19.14 Function objects [function.objects]

19.14.12 Function object binders [func.bind] Class template is_­bind_­expression [func.bind.isbind]

namespace std {
  template<class T> struct is_bind_expression;  // see below
The class template is_­bind_­expression can be used to detect function objects generated by bind.
The function template bind uses is_­bind_­expression to detect subexpressions.
Instantiations of the is_­bind_­expression template shall satisfy the Cpp17UnaryTypeTrait requirements ([meta.rqmts]).
The implementation shall provide a definition that has a base characteristic of true_­type if T is a type returned from bind, otherwise it shall have a base characteristic of false_­type.
A program may specialize this template for a program-defined type T to have a base characteristic of true_­type to indicate that T should be treated as a subexpression in a bind call.