Class Namespace
A C++ namespace. For example the (single) namespace A in the following
code:
namespace A
{
// ...
}
// ...
namespace A
{
// ...
}
Note that namespaces are somewhat nebulous entities, as they do not in
general have a single well-defined location in the source code. The
related notion of a NamespaceDeclarationEntry is rather more concrete,
and should be used when a location is required. For example, the std::
namespace is particularly nebulous, as parts of it are defined across a
wide range of headers. As a more extreme example, the global namespace
is never explicitly declared, but might correspond to a large proportion
of the source code.
Import path
import cppDirect supertypes
Indirect supertypes
Known direct subtypes
Predicates
| fromSource | Holds if this namespace may be from source. |
| getAChildNamespace | Gets a child namespace of this namespace. |
| getADeclaration | Gets a child declaration of this namespace. |
| getADeclarationEntry | Gets a declaration of (part of) this namespace. |
| getAFile | Gets a file which declares (part of) this namespace. |
| getAnAttribute | Gets an attribute of this namespace. |
| getFriendlyName | Gets a version of the |
| getLocation | Gets the location of the namespace. Most namespaces do not have a single well-defined source location, so a dummy location is returned, unless the namespace has exactly one declaration entry. |
| getMetrics | Gets the metric namespace. |
| getName | Gets the simple name of this namespace. |
| getParentNamespace | Gets the parent namespace, if any. |
| getQualifiedName | Gets the qualified name of this namespace. For example: |
| hasName | Holds if this element is named |
| isAnonymous | Holds if this namespace is anonymous. |
| isInline | Holds if the namespace is inline. |
| toString | Gets a textual representation of this element. |
Inherited predicates
| findRootCause | Gets the source of this element: either itself or a macro that expanded to this element. | from Element |
| getANameQualifier | Gets a name qualifier for which this is the qualifying namespace or user-defined type, or decltype. For example: class | from NameQualifyingElement |
| getAPrimaryQlClass | Gets the name of a primary CodeQL class to which this element belongs. | from ElementBase |
| getEnclosingElement | Gets the closest | from Element |
| getFile | Gets the primary file where this element occurs. | from Element |
| getParentScope | Gets the parent scope of this | from Element |
| getPrimaryQlClasses | Gets a comma-separated list of the names of the primary CodeQL classes to which this element belongs. | from ElementBase |
| isAffectedByMacro | Holds if this element is affected in any way by a macro. All elements that are totally or partially generated by a macro are included, so this is a super-set of | from Element |
| isFromTemplateInstantiation | Holds if this | from Element |
| isFromUninstantiatedTemplate | Holds if this | from Element |
| isInMacroExpansion | Holds if this element comes from a macro expansion. Only elements that are entirely generated by a macro are included - for elements that partially come from a macro, see | from Element |