Daily bit(e) of C++ | Argument Dependent Lookup (ADL)
Daily bit(e) of C++ #220, The unqualified function call lookup based on arguments: Argument Dependent Lookup (ADL).
Argument Dependent Lookup (ADL) governs how unqualified function calls are resolved.
After looking up a function in the current (and parent) namespace(s), the innermost namespaces of the types of arguments (simplified) will also be considered.
Due to interactions with visibility rules, we can set up functions (callables) to only be invocable through ADL or qualified calls.