Predator  [unstable] git snapshot
Functions
symcut.hh File Reference

split/join algorithms operating on symbolic heap - splitHeapByCVars() and joinHeapsByCVars() More...

#include "symheap.hh"

Go to the source code of this file.

Functions

void splitHeapByCVars (SymHeap *srcDst, const TCVarList &cut, SymHeap *saveFrameTo=0)
 split symbolic heap into two parts regarding the list of program variables
void joinHeapsByCVars (SymHeap *srcDst, const SymHeap *src2)
 split two disjunct symbolic heaps together, going from program variables

Detailed Description

split/join algorithms operating on symbolic heap - splitHeapByCVars() and joinHeapsByCVars()

Definition in file symcut.hh.

Function Documentation

void joinHeapsByCVars ( SymHeap srcDst,
const SymHeap src2 
)

split two disjunct symbolic heaps together, going from program variables

Parameters
srcDstthe instance of heap to operate on
src2the other instance of heap, which is used read-only
void splitHeapByCVars ( SymHeap srcDst,
const TCVarList cut,
SymHeap saveFrameTo = 0 
)

split symbolic heap into two parts regarding the list of program variables

Note
In the corner case, the result may be identical to the input. Then the heap pointed by saveFrameTo will be empty.
Parameters
srcDstthe instance of heap to operate on, it has to contain all program variables that are specified by cut.
cutlist of program variables to cut the heap by
saveFrameToif not null, it must point to a fresh instance of SymHeap; it will be used to stored the (possibly empty) part of heap that is cut off