1#ifndef ROSE_BinaryAnalysis_Partitioner2_Reference_H 
    2#define ROSE_BinaryAnalysis_Partitioner2_Reference_H 
    3#include <featureTests.h> 
    4#ifdef ROSE_ENABLE_BINARY_ANALYSIS 
    5#include <Rose/BinaryAnalysis/Partitioner2/BasicTypes.h> 
   12namespace BinaryAnalysis {
 
   13namespace Partitioner2 {
 
Reference to a function, basic block, instruction, or address.
 
bool hasBasicBlock() const
Predicate for having a basic block.
 
bool hasInstruction() const
Predicate for having an instruction.
 
@ EMPTY
Reference points to nothing and has no address.
 
@ BASIC_BLOCK
Reference points to a basic block but not an instruction or a stored address.
 
@ ADDRESS
Reference points to nothing but has an address.
 
@ FUNCTION
Reference points to a function but not a basic block or instruction, and has no stored address.
 
@ INSTRUCTION
Reference points to an instruction but no stored address.
 
bool hasExplicitAddress() const
Predicate for having a stored address.
 
Reference(SgAsmInstruction *, const Sawyer::Optional< Address > &=Sawyer::Nothing())
Constructor.
 
bool hasFunction() const
Predicate for having a function.
 
bool isEmpty() const
Predicate for emptiness.
 
BasicBlockPtr basicBlock() const
Optional basic block pointer.
 
FunctionPtr function() const
Optional function pointer.
 
Reference(const BasicBlockPtr &, SgAsmInstruction *=nullptr, const Sawyer::Optional< Address > &=Sawyer::Nothing())
Constructor.
 
Reference(const FunctionPtr &)
Constructor.
 
Reference(const FunctionPtr &, const BasicBlockPtr &, SgAsmInstruction *=nullptr, const Sawyer::Optional< Address > &=Sawyer::Nothing())
Constructor.
 
Granularity granularity() const
Reference granularity.
 
bool operator<(const Reference &other) const
Compare two references.
 
bool operator==(const Reference &other) const
Whether two references are equal.
 
Reference(Address address)
Constructor.
 
SgAsmInstruction * instruction() const
Optional instruction pointer.
 
Address address() const
Address.
 
Holds a value or nothing.
 
Base class for machine instructions.
 
std::uint64_t Address
Address.