1#ifndef ROSE_BinaryAnalysis_Partitioner2_DataBlock_H 
    2#define ROSE_BinaryAnalysis_Partitioner2_DataBlock_H 
    3#include <featureTests.h> 
    4#ifdef ROSE_ENABLE_BINARY_ANALYSIS 
    5#include <Rose/BinaryAnalysis/Partitioner2/BasicTypes.h> 
    7#include <Rose/BinaryAnalysis/BasicTypes.h> 
    8#include <Rose/SourceLocation.h> 
    9#include <SageBuilderAsm.h> 
   11#include <Sawyer/Attribute.h> 
   12#include <Sawyer/SharedPointer.h> 
   14#ifdef ROSE_ENABLE_BOOST_SERIALIZATION 
   15#include <boost/serialization/access.hpp> 
   21namespace BinaryAnalysis {
 
   22namespace Partitioner2 {
 
   45    std::vector<BasicBlockPtr> attachedBasicBlockOwners_; 
 
   46    std::vector<FunctionPtr> attachedFunctionOwners_;   
 
   50#ifdef ROSE_ENABLE_BOOST_SERIALIZATION 
   52    friend class boost::serialization::access;
 
   53    template<
class S> 
void serialize(S&, 
unsigned version);
 
 
  157#ifdef ROSE_ENABLE_BOOST_SERIALIZATION 
void type(SgAsmType *t)
Property: Type of data stored in this block.
 
std::vector< uint8_t > read(const MemoryMapPtr &) const
Read static data from a memory map.
 
AddressInterval extent() const
Addresses represented.
 
Sawyer::SharedPointer< DataBlock > Ptr
Shared pointer to a data block.
 
size_t nAttachedOwners() const
Number of attached basic block and function owners.
 
SgAsmType * type() const
Property: Type of data stored in this block.
 
const std::vector< BasicBlockPtr > & attachedBasicBlockOwners() const
Basic blocks that are attached to the partitioner and own this data block.
 
static Ptr instance(Address startVa, SgAsmType *)
Static allocating constructor.
 
const SourceLocation & sourceLocation() const
Property: Optional location of data in source code.
 
const std::string & comment() const
Property: Comment.
 
const std::vector< FunctionPtr > & attachedFunctionOwners() const
Functions that are attached to the partitioner and own this data block.
 
static Ptr instanceBytes(Address startVa, size_t nBytes)
Static allocating constructor.
 
size_t size() const
Returns the size in bytes.
 
void sourceLocation(const SourceLocation &)
Property: Optional location of data in source code.
 
std::string printableName() const
A printable name for this data block.
 
void comment(const std::string &s)
Property: Comment.
 
Address address() const
Returns the starting address.
 
bool isFrozen() const
Determine if data block is read-only.
 
Partitions instructions into basic blocks and functions.
 
Information about a source location.
 
API and storage for attributes.
 
Base class for reference counted objects.
 
Reference-counting intrusive smart pointer.
 
Base class for binary types.
 
std::uint64_t Address
Address.