: Many of the customization point objects in the library evaluate function call
expressions with an unqualified name which results in a call to a
program-defined function found by argument dependent name
lookup (
[basic.lookup.argdep])
. To preclude such an expression resulting in a
call to unconstrained functions with the same name in namespace
std,
customization point objects specify that lookup for these expressions is
performed in a context that includes deleted overloads matching the signatures
of overloads defined in namespace
std. When the deleted overloads are
viable, program-defined overloads need be more specialized (
[temp.func.order])
or more constrained (
[temp.constr.order]) to be used by a customization point
object
. —
end note