namespace std {
template<class T> struct is_bind_expression; // see below
}
namespace std {
template<class T> struct is_placeholder; // see below
}template<class F, class... BoundArgs>
unspecified bind(F&& f, BoundArgs&&... bound_args);
INVOKE(fd, std::forward<V>(v), std::forward<V>(v), …, std::forward<V>(v))where the values and types of the bound arguments v, v, …, v are determined as specified below.
template<class R, class F, class... BoundArgs>
unspecified bind(F&& f, BoundArgs&&... bound_args);
INVOKE<R>(fd, std::forward<V>(v), std::forward<V>(v), …, std::forward<V>(v))where the values and types of the bound arguments v, v, …, v are determined as specified below.
namespace std::placeholders {
// M is the implementation-defined number of placeholders
see below _1;
see below _2;
.
.
.
see below _M;
}