23 General utilities library [utilities]

23.14 Function objects [function.objects]

23.14.11 Function object binders [func.bind]

23.14.11.2 Class template is_­placeholder [func.bind.isplace]

namespace std {
  template<class T> struct is_placeholder;      // see below
}

The class template is_­placeholder can be used to detect the standard placeholders _­1, _­2, and so on. The function template bind uses is_­placeholder to detect placeholders.

Instantiations of the is_­placeholder template shall meet the UnaryTypeTrait requirements. The implementation shall provide a definition that has the base characteristic of integral_­constant<int, J> if T is the type of std​::​placeholders​::​_­J, otherwise it shall have a base characteristic of integral_­constant<int, 0>. A program may specialize this template for a user-defined type T to have a base characteristic of integral_­constant<int, N> with N > 0 to indicate that T should be treated as a placeholder type.