|
|
|
|
Titus Winters wrote: |
---|
The guidance for users should be single-level broad namespaces - namespaces are best used to disambiguate between the local project and imported projects. Because of the promiscuity of name lookup rules, nested namespaces should not be used as an attempt to introduce partitions in the current project - it doesn't work that way. |
I see the boost library doing it. |
58. Keep types and functions in separate namespaces unless they're specifically intended to work together. Summary Help prevent name lookup accidents: Isolate types from unintentional argument-dependent lookup (ADL, also known as Koenig lookup), and encourage intentional ADL, by putting them in their own namespaces (along with their directly related nonmember functions; see Item 57). Avoid putting a type into the same namespace as a templated function or operator. |
MikeyBoy::control
namespace, and I can see that it's using classes in the MikeyBoy::data
namespace, then I can see at a glance that the control
library has a dependency on the data
library, and exactly where those dependencies are and why they're there.