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);
Merge metadata from another expression.
Merge two ExtractionMode values.
void
merge(
ExtractionMode& dst,
ExtractionMode&& src) noexcept;
Merge the location sets, preferring existing def/primary.
void
merge(
SourceInfo& I,
SourceInfo const& Other);
Merge, transferring ownership from the right‐hand side.
void
merge(
SourceInfo& I,
SourceInfo&& Other);
Merge partial template info, filling missing pieces.
void
merge(
TemplateInfo& I,
TemplateInfo&& Other);
Merge friend declarations, deduplicating by symbol ID.
void
merge(
std::vector<FriendInfo>& dst,
std::vector<FriendInfo>&& src);
Merge parameters element‐wise, appending extras from src.
void
merge(
std::vector<Param>& dst,
std::vector<Param>&& src);
Merges two Symbol objects according to the behavior of the derived class.
template<polymorphic_storage_for<Symbol> SymbolTy>
void
merge(
SymbolTy& I,
SymbolTy&& Other);
Generic merge for any described type.
template<typename T>
requires describe::has_describe_members<T>::value
void
merge(
T& dst,
T&& src);
Merge metadata from another constant expression.
template<class T>
static
void
merge(
ConstantExprInfo<T>& I,
ConstantExprInfo<T>&& Other);
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. |
Created with MrDocs