mrdocs::merge

merge overloads

Synopses

Declared in <mrdocs/Metadata/Expression.hpp>

Merge another ConceptSymbol into this one.

void
merge(
    ConceptSymbol& I,
    ConceptSymbol&& Other);
» more...

Append blocks from other into I, preserving order.

void
merge(
    DocComment& I,
    DocComment&& other);
» more...

Merge another EnumConstantSymbol into this one.

void
merge(
    EnumConstantSymbol& I,
    EnumConstantSymbol&& Other);
» more...

Merge another EnumSymbol into this one.

void
merge(
    EnumSymbol& I,
    EnumSymbol&& Other);
» more...

Merge metadata from another expression.

void
merge(
    ExprInfo& I,
    ExprInfo&& Other);
» more...

Merge another FriendInfo into this one.

void
merge(
    FriendInfo& I,
    FriendInfo&& Other);
» more...

Merge metadata from another function symbol.

void
merge(
    FunctionSymbol& I,
    FunctionSymbol&& Other);
» more...

Merge another GuideSymbol into this one.

void
merge(
    GuideSymbol& I,
    GuideSymbol&& Other);
» more...

Merge two alias symbols, preferring existing fields when present.

void
merge(
    NamespaceAliasSymbol& I,
    NamespaceAliasSymbol&& Other);
» more...

Merge two namespaces, keeping existing members stable.

void
merge(
    NamespaceSymbol& I,
    NamespaceSymbol&& Other);
» more...

Merge two tranches, appending members from the right-hand side.

void
merge(
    NamespaceTranche& I,
    NamespaceTranche&& Other);
» more...

Merge overload sets, preserving ordering in Members.

void
merge(
    OverloadsSymbol& I,
    OverloadsSymbol&& Other);
» more...

Merge two parameters, filling missing pieces from Other.

void
merge(
    Param& I,
    Param&& Other);
» more...

Merge two interfaces, combining matching tranches.

void
merge(
    RecordInterface& I,
    RecordInterface&& Other);
» more...

Merge metadata from another record of the same identity.

void
merge(
    RecordSymbol& I,
    RecordSymbol&& Other);
» more...

Merge two tranches with the same access level.

void
merge(
    RecordTranche& I,
    RecordTranche&& Other);
» more...

Merge the location sets, preferring existing def/primary.

void
merge(
    SourceInfo& I,
    SourceInfo const& Other);
» more...

Merge, transferring ownership from the right-hand side.

void
merge(
    SourceInfo& I,
    SourceInfo&& Other);
» more...

Merges two Symbol objects.

void
merge(
    Symbol& I,
    Symbol&& Other);
» more...

Merge partial template info, filling missing pieces.

void
merge(
    TemplateInfo& I,
    TemplateInfo&& Other);
» more...

Merge typedef symbols, keeping existing info when present.

void
merge(
    TypedefSymbol& I,
    TypedefSymbol&& Other);
» more...

Merge two using-declarations with the same identity.

void
merge(
    UsingSymbol& I,
    UsingSymbol&& Other);
» more...

Merge variable metadata, preserving existing values when set.

void
merge(
    VariableSymbol& I,
    VariableSymbol&& Other);
» more...

Merges two Symbol objects according to the behavior of the derived class.

template<polymorphic_storage_for<Symbol> SymbolTy>
void
merge(
    SymbolTy& I,
    SymbolTy&& Other);
» more...

Merge metadata from another constant expression.

template<class T>
static
void
merge(
    ConstantExprInfo<T>& I,
    ConstantExprInfo<T>&& Other);
» more...

Parameters

Name Description
I Destination symbol to update.
Other Source symbol providing data.