A point from the ISO C++ draft (n3290): 3.4.3.2/1 Namespace members
For a namespace
Xand namem, the namespace-qualified lookup set
S(X, m) is defined as follows: Let S`(X, m) be the set of all
declarations ofminXand the inline namespace set ofX(7.3.1). If
S`(X, m) is not empty, S(X, m) is S`(X, m); otherwise, S(X, m)
is the union of S(N_i, m) for all namespaces N_i nominated by
using-directives inXand its inline namespace set.
Can somebody please explain to me this clause in plain English, translating it from this mathematical speak?
Edit:PLEASE ……….can any one provide me an example ..explaining the above point ..PLEASE ………….
If in the namespace
X, there exists at least one declaration of the namem, then those declarations are used for the lookup set.Otherwise, all namespaces from
usingdirectives in the namespaceXare checked for declarations of the namemin the same way as described above.Or in other words : you check the namespace
Xand itsusingdirectives recursively for the namem, and stop the recursion at the level where declarations for the namemare found.