| With the exception of object definitions and unnamed namespace declarations and definitions, declare in header files: all non-inline functions, classes, variables, enumerations and enumerators, which are named at namespace scope and which have external linkage. |
| With the exception of unnamed namespace declarations and definitions, define in header files all inline functions which are at namespace scope and which have external linkage. |
| With the exception of unnamed namespace declarations and definitions, define in header files all template definitions which are at namespace scope and which have external linkage. |