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; }