Template:cpp/container/inputit allocator detection

Note: the extent to which the library determines that a type does not satisfy is unspecified, except that as a minimum integral types do not qualify as input iterators. Likewise, the extent to which it determines that a type does not satisfy is unspecified, except that as a minimum the member type  must exist and the expression  must be well-formed when treated as an unevaluated operand.