Predator  [unstable] git snapshot
Data Structures | Typedefs | Functions
shape.hh File Reference
#include "symheap.hh"
#include "util.hh"

Go to the source code of this file.

Data Structures

struct  ShapeProps
 describe how the shape looks like More...
struct  Shape
 inductive definition of a container shape More...

Typedefs

typedef std::vector< ShapePropsTShapePropsList
 list of shape properties (kind, binding offsets) candidates
typedef std::set< ShapeTShapeSet
 set of shapes given by their inductive definition
typedef std::vector< ShapeTShapeList
 list of shapes given by their inductive definition
typedef std::vector< TShapeListTShapeListByHeapIdx
 list of shapes grouped by heap index they occur in

Functions

bool operator< (const ShapeProps &a, const ShapeProps &b)
bool operator== (const ShapeProps &a, const ShapeProps &b)
bool operator!= (const ShapeProps &a, const ShapeProps &b)
bool operator< (const Shape &a, const Shape &b)
bool operator== (const Shape &a, const Shape &b)
bool operator!= (const Shape &a, const Shape &b)
void objListByShape (TObjList *pDst, const SymHeap &sh, const Shape &shape)
 return the list of objects that the given shape consists of
void objSetByShape (TObjSet *pDst, const SymHeap &sh, const Shape &shape)
 return the set of objects that the given shape consists of
TObjId lastObjOfShape (const SymHeap &sh, const Shape &shape)
 return the last object (the opposite of entry) of the given shape

Typedef Documentation

typedef std::vector<Shape> TShapeList

list of shapes given by their inductive definition

Definition at line 118 of file shape.hh.

typedef std::vector<TShapeList> TShapeListByHeapIdx

list of shapes grouped by heap index they occur in

Definition at line 121 of file shape.hh.

typedef std::vector<ShapeProps> TShapePropsList

list of shape properties (kind, binding offsets) candidates

Definition at line 112 of file shape.hh.

typedef std::set<Shape> TShapeSet

set of shapes given by their inductive definition

Definition at line 115 of file shape.hh.

Function Documentation

TObjId lastObjOfShape ( const SymHeap sh,
const Shape shape 
)

return the last object (the opposite of entry) of the given shape

void objListByShape ( TObjList pDst,
const SymHeap sh,
const Shape shape 
)

return the list of objects that the given shape consists of

void objSetByShape ( TObjSet pDst,
const SymHeap sh,
const Shape shape 
)

return the set of objects that the given shape consists of

bool operator!= ( const ShapeProps a,
const ShapeProps b 
)
inline

Definition at line 66 of file shape.hh.

References operator==().

bool operator!= ( const Shape a,
const Shape b 
)
inline

Definition at line 106 of file shape.hh.

References operator==().

bool operator< ( const ShapeProps a,
const ShapeProps b 
)
inline

Definition at line 47 of file shape.hh.

References ShapeProps::bOff, and RETURN_IF_COMPARED.

bool operator< ( const Shape a,
const Shape b 
)
inline

Definition at line 92 of file shape.hh.

References Shape::length, and RETURN_IF_COMPARED.

bool operator== ( const ShapeProps a,
const ShapeProps b 
)
inline

Definition at line 59 of file shape.hh.

References ShapeProps::bOff, ShapeProps::kind, and ShapeProps::size.

bool operator== ( const Shape a,
const Shape b 
)
inline

Definition at line 99 of file shape.hh.

References Shape::entry, Shape::length, and Shape::props.