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 cpp
Direct 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. |
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. 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 |