ROSE 0.11.145.147
Classes | Public Types | Public Member Functions | List of all members
Rose::BinaryAnalysis::Partitioner2::CfgAdjustmentCallback Class Referenceabstract

Description

Base class for CFG-adjustment callbacks.

Users may create subclass objects from this class and pass their shared-ownership pointers to the partitioner, in which case the partitioner will invoke one of the callback's virtual function operators every time the control flow graph changes (the call occurs after the CFG has been adjusted). Multiple callbacks are allowed; the list is obtained with the Partitioner::cfgAdjustmentCallbacks method.

Definition at line 238 of file ControlFlowGraph.h.

#include <Rose/BinaryAnalysis/Partitioner2/ControlFlowGraph.h>

Inheritance diagram for Rose::BinaryAnalysis::Partitioner2::CfgAdjustmentCallback:
Inheritance graph
[legend]
Collaboration diagram for Rose::BinaryAnalysis::Partitioner2::CfgAdjustmentCallback:
Collaboration graph
[legend]

Classes

struct  AttachedBasicBlock
 Arguments for attaching a basic block. More...
 
struct  DetachedBasicBlock
 Arguments for detaching a basic block. More...
 

Public Types

typedef Sawyer::SharedPointer< CfgAdjustmentCallbackPtr
 Shared ownership pointer.
 

Public Member Functions

virtual bool operator() (bool chain, const AttachedBasicBlock &)=0
 Called when basic block is attached or placeholder inserted.
 
virtual bool operator() (bool chain, const DetachedBasicBlock &)=0
 Called when basic block is detached or placeholder erased.
 
- Public Member Functions inherited from Sawyer::SharedObject
 SharedObject ()
 Default constructor.
 
 SharedObject (const SharedObject &)
 Copy constructor.
 
virtual ~SharedObject ()
 Virtual destructor.
 
SharedObjectoperator= (const SharedObject &)
 Assignment.
 

Member Typedef Documentation

◆ Ptr

Shared ownership pointer.

Definition at line 241 of file ControlFlowGraph.h.

Member Function Documentation

◆ operator()() [1/2]

virtual bool Rose::BinaryAnalysis::Partitioner2::CfgAdjustmentCallback::operator() ( bool  chain,
const AttachedBasicBlock  
)
pure virtual

◆ operator()() [2/2]

virtual bool Rose::BinaryAnalysis::Partitioner2::CfgAdjustmentCallback::operator() ( bool  chain,
const DetachedBasicBlock  
)
pure virtual

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