mrdocs::UsingSymbol::ShadowDeclarations

The shadow declarations.

Synopsis

Declared in <mrdocs/Metadata/Symbol/Using.hpp>
std::vector<SymbolID> ShadowDeclarations;

Description

A using declaration can refer to and introduce multiple symbols into the current context.

These multiple symbols are considered a special case of declarations: "shadow declarations".

This typically happens when there are conflicting symbol names in the scope being introduced, such as:

Overloaded functions: the base namespace contains overloaded functions. Name conflicts: the base scope contains a function and a type. Enums: a using enum declaration can refer to multiple enumerators.

Also note that more shadow declarations can be introduced later in the same scope, after the using declaration.

The shadow declarations here are only those that are shadowed at the point where the using declaration is located.

Created with MrDocs