MimIR 0.1
MimIR is my Intermediate Representation
Loading...
Searching...
No Matches
mim::ReplMan Class Reference

#include <mim/phase.h>

Inheritance diagram for mim::ReplMan:
[legend]

Public Member Functions

 ReplMan (World &world, flags_t annex)
 
void apply (Repls &&)
 
void apply (const App *) final
 Invoked if your Stage has additional args.
 
void apply (Stage &stage) final
 Dito, but invoked by Stage::recreate.
 
void add (std::unique_ptr< Repl > &&repl)
 
const auto & repls () const
 
- Public Member Functions inherited from mim::Repl
 Repl (World &world, flags_t annex)
 
- Public Member Functions inherited from mim::Stage
Worldworld ()
 
Driverdriver ()
 
Loglog () const
 
std::string_view name () const
 
flags_t annex () const
 
 Stage (World &world, std::string name)
 
 Stage (World &world, flags_t annex)
 
virtual ~Stage ()=default
 
virtual std::unique_ptr< Stagerecreate ()
 Creates a new instance; needed by a fixed-point PhaseMan.
 

Private Member Functions

const Defreplace (const Def *) final
 

Additional Inherited Members

static auto create (const Flags2Stages &stages, const Def *def)
 
template<class A, class P>
static void hook (Flags2Stages &stages)
 
- Protected Attributes inherited from mim::Stage
std::string name_
 

Detailed Description

Definition at line 120 of file phase.h.

Constructor & Destructor Documentation

◆ ReplMan()

mim::ReplMan::ReplMan ( World & world,
flags_t annex )
inline

Definition at line 122 of file phase.h.

References mim::Stage::annex(), mim::Repl::Repl(), and mim::Stage::world().

Referenced by apply(), and apply().

Member Function Documentation

◆ add()

void mim::ReplMan::add ( std::unique_ptr< Repl > && repl)
inline

Definition at line 129 of file phase.h.

Referenced by apply().

◆ apply() [1/3]

void mim::ReplMan::apply ( const App * )
finalvirtual

Invoked if your Stage has additional args.

Reimplemented from mim::Stage.

Definition at line 59 of file phase.cpp.

References apply(), mim::Stage::create(), mim::Stage::driver(), mim::Repl::Repl(), and repls().

◆ apply() [2/3]

void mim::ReplMan::apply ( Repls && repls)

Definition at line 51 of file phase.cpp.

References add(), apply(), ReplMan(), and repls().

Referenced by apply(), and apply().

◆ apply() [3/3]

void mim::ReplMan::apply ( Stage & )
inlinefinalvirtual

Dito, but invoked by Stage::recreate.

Reimplemented from mim::Stage.

Definition at line 127 of file phase.h.

References apply(), and ReplMan().

Referenced by apply().

◆ replace()

const Def * mim::ReplMan::replace ( const Def * )
inlinefinalprivatevirtual

Implements mim::Repl.

Definition at line 133 of file phase.h.

◆ repls()

const auto & mim::ReplMan::repls ( ) const
inline

Definition at line 130 of file phase.h.

Referenced by mim::PhaseMan::apply(), apply(), and apply().


The documentation for this class was generated from the following files: