1 #ifndef EXPLAINED_EXPANSION_H
2 #define EXPLAINED_EXPANSION_H
63 unsigned expand()
override;
73 unsigned expand(std::string & str)
override;
explained_expansion * _parent
Pointer to the explained_expansion, if any, of which this one is a sub-expansion. ...
struct explained_expansion encapsulates macro-expansion of a reference when the --explain option is o...
void throw_self() const override
Throw *this.
explained_expansion(reference const &ref, explained_expansion *parent=nullptr)
Explicitly construct from a reference and optional parent.
unsigned expand() override
Perform the explained expansion of the reference, returning the numbe of edits applied.
struct expansion_base is an abstract base for classes that encapsulate a mode of macro-expansion of a...
unsigned _step
Sequential number of the explained expansion step.
void report_intermediate_value()
Report the latest value of the expansion.
unsigned bubble_edit(explained_expansion const &e, bool do_self=true)
Recursively replace remaining occurrences of a reference in the parents of this explained_expansion a...