mrdocs::merge

merge overloads

Synopses

Declared in <mrdocs/Metadata/Expression.hpp>

Append blocks from other into I, preserving order.

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

Merge metadata from another expression.

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

Merge two ExtractionMode values.

void
merge(
    ExtractionMode& dst,
    ExtractionMode&& src) noexcept;
» 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...

Merge partial template info, filling missing pieces.

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

Merge friend declarations, deduplicating by symbol ID.

void
merge(
    std::vector<FriendInfo>& dst,
    std::vector<FriendInfo>&& src);
» more...

Merge parameters element-wise, appending extras from src.

void
merge(
    std::vector<Param>& dst,
    std::vector<Param>&& src);
» 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...

Generic merge for any described type.

template<typename T>
requires describe::has_describe_members<T>::value
void
merge(
    T& dst,
    T&& src);
» more...

Merge metadata from another constant expression.

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

Template Parameters

Name Description
T The type to merge (must have MRDOCS_DESCRIBE_STRUCT).

Parameters

Name Description
dst The destination.
src The source (moved from).
I The Symbol object to merge into.
Other The Symbol object to merge from.