class NamespaceDecl

Declaration

class NamespaceDecl : public NamedDecl,
                      public DeclContext,
                      public Redeclarable { /* full declaration omitted */ };

Description

Represent a C++ namespace.

Declared at: clang/include/clang/AST/Decl.h:540

Inherits from: NamedDecl, DeclContext, Redeclarable

Member Variables

private clang::SourceLocation LocStart
The starting location of the source range, pointing to either the namespace or the inline keyword.
private clang::SourceLocation RBraceLoc
The ending location of the source range.
private llvm::PointerIntPair<NamespaceDecl*, 1, bool> AnonOrFirstNamespaceAndInline
A pointer to either the anonymous namespace that lives just inside this namespace or to the first namespace in the chain (the latter case only when this is not the first in the chain), along with a boolean value indicating whether this is an inline namespace.

Inherited from DeclContext:

protected
protected FirstDecl = nullptr
protected LastDecl = nullptr

Inherited from Decl:

protected NextInContextAndBits
protected Access
protected FromASTFile
protected IdentifierNamespace
protected CacheValidAndLinkage

Method Overview

Inherited from DeclContext:

Inherited from NamedDecl:

Inherited from Decl:

Methods

static clang::NamespaceDecl* Create(
    clang::ASTContext& C,
    clang::DeclContext* DC,
    bool Inline,
    clang::SourceLocation StartLoc,
    clang::SourceLocation IdLoc,
    clang::IdentifierInfo* Id,
    clang::NamespaceDecl* PrevDecl)

Declared at: clang/include/clang/AST/Decl.h:570

Parameters

clang::ASTContext& C
clang::DeclContext* DC
bool Inline
clang::SourceLocation StartLoc
clang::SourceLocation IdLoc
clang::IdentifierInfo* Id
clang::NamespaceDecl* PrevDecl

static clang::NamespaceDecl* CreateDeserialized(
    clang::ASTContext& C,
    unsigned int ID)

Declared at: clang/include/clang/AST/Decl.h:575

Parameters

clang::ASTContext& C
unsigned int ID

NamespaceDecl(clang::ASTContext& C,
              clang::DeclContext* DC,
              bool Inline,
              clang::SourceLocation StartLoc,
              clang::SourceLocation IdLoc,
              clang::IdentifierInfo* Id,
              clang::NamespaceDecl* PrevDecl)

Declared at: clang/include/clang/AST/Decl.h:556

Parameters

clang::ASTContext& C
clang::DeclContext* DC
bool Inline
clang::SourceLocation StartLoc
clang::SourceLocation IdLoc
clang::IdentifierInfo* Id
clang::NamespaceDecl* PrevDecl

static clang::NamespaceDecl* castFromDeclContext(
    const clang::DeclContext* DC)

Declared at: clang/include/clang/AST/Decl.h:666

Parameters

const clang::DeclContext* DC

static clang::DeclContext* castToDeclContext(
    const clang::NamespaceDecl* D)

Declared at: clang/include/clang/AST/Decl.h:663

Parameters

const clang::NamespaceDecl* D

static bool classof(const clang::Decl* D)

Declared at: clang/include/clang/AST/Decl.h:661

Parameters

const clang::Decl* D

static bool classofKind(clang::Decl::Kind K)

Declared at: clang/include/clang/AST/Decl.h:662

Parameters

clang::Decl::Kind K

clang::NamespaceDecl* getAnonymousNamespace()
    const

Description

Retrieve the anonymous namespace nested inside this namespace, if any.

Declared at: clang/include/clang/AST/Decl.h:635

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/Decl.h:655

clang::NamespaceDecl* getCanonicalDecl()

Description

Retrieves the canonical declaration of this namespace.

Declared at: clang/include/clang/AST/Decl.h:644

const clang::NamespaceDecl* getCanonicalDecl()
    const

Declared at: clang/include/clang/AST/Decl.h:647

clang::NamespaceDecl* getMostRecentDeclImpl()

Description

Implementation of getMostRecentDecl(), to be overridden by any subclass that has a redeclaration chain.

Declared at: clang/include/clang/AST/Decl.h:564

clang::NamespaceDecl* getNextRedeclarationImpl()

Description

Returns the next redeclaration or itself if this is the only decl. Decl subclasses that can be redeclared should override this method so that Decl::redecl_iterator can iterate over them.

Declared at: clang/include/clang/AST/Decl.h:562

clang::NamespaceDecl* getOriginalNamespace()

Description

Get the original (first) namespace declaration.

Declared at: clang/include/clang/AST/Decl.h:623

const clang::NamespaceDecl* getOriginalNamespace()
    const

Description

Get the original (first) namespace declaration.

Declared at: clang/include/clang/AST/Decl.h:626

clang::NamespaceDecl* getPreviousDeclImpl()

Description

Implementation of getPreviousDecl(), to be overridden by any subclass that has a redeclaration chain.

Declared at: clang/include/clang/AST/Decl.h:563

clang::SourceLocation getRBraceLoc() const

Declared at: clang/include/clang/AST/Decl.h:656

clang::SourceRange getSourceRange() const

Description

Source range that this declaration covers.

Declared at: clang/include/clang/AST/Decl.h:651

bool isAnonymousNamespace() const

Description

Returns true if this is an anonymous namespace declaration. For example: q.v. C++ [namespace.unnamed]

Declared at: clang/include/clang/AST/Decl.h:596

bool isInline() const

Description

Returns true if this is an inline namespace declaration.

Declared at: clang/include/clang/AST/Decl.h:601

bool isOriginalNamespace() const

Description

Return true if this declaration is an original (first) declaration of the namespace. This is false for non-original (subsequent) namespace declarations and anonymous namespaces.

Declared at: clang/include/clang/AST/Decl.h:631

bool isRedundantInlineQualifierFor(
    clang::DeclarationName Name) const

Description

Returns true if the inline qualifier for \c Name is redundant.

Declared at: clang/include/clang/AST/Decl.h:611

Parameters

clang::DeclarationName Name

void setAnonymousNamespace(
    clang::NamespaceDecl* D)

Declared at: clang/include/clang/AST/Decl.h:639

Parameters

clang::NamespaceDecl* D

void setInline(bool Inline)

Description

Set whether this is an inline namespace declaration.

Declared at: clang/include/clang/AST/Decl.h:606

Parameters

bool Inline

void setLocStart(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Decl.h:657

Parameters

clang::SourceLocation L

void setRBraceLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Decl.h:658

Parameters

clang::SourceLocation L