Predator
[unstable] git snapshot
|
#include <symstate.hh>
Public Types | |
typedef TList::const_iterator | const_iterator |
typedef TList::iterator | iterator |
Public Member Functions | |
SymState () | |
virtual | ~SymState () |
SymState (const SymState &) | |
SymState & | operator= (const SymState &) |
virtual void | clear () |
virtual void | swap (SymState &other) |
virtual int | lookup (const SymHeap &heap) const =0 |
look for the given symbolic heap, return its index if found, -1 otherwise | |
virtual bool | insert (const SymHeap &sh, bool allowThreeWay=true) |
insert given SymHeap object into the state | |
size_t | size () const |
return count of object stored in the container | |
const SymHeap & | operator[] (int nth) const |
return nth SymHeap object, 0 <= nth < size() | |
const_iterator | begin () const |
return STL-like iterator to go through the container | |
const_iterator | end () const |
return STL-like iterator to go through the container | |
iterator | begin () |
return STL-like iterator to go through the container | |
iterator | end () |
return STL-like iterator to go through the container |
Protected Member Functions | |
virtual void | insertNew (const SymHeap &sh) |
insert new SymHeap that @ must be guaranteed to be not yet in | |
virtual void | eraseExisting (int nth) |
virtual void | swapExisting (int nth, SymHeap &sh) |
virtual void | rotateExisting (int idxA, int idxB) |
void | updateTraceOf (int idx, Trace::Node *tr, EJoinStatus status) |
Private Types | |
typedef std::vector< SymHeap * > | TList |
Private Attributes | |
TList | heaps_ |
Friends | |
class | PerFncCache |
lookup/insert optimization in SymCallCache implementation |
Definition at line 38 of file symstate.hh.
typedef TList::const_iterator const_iterator |
Definition at line 43 of file symstate.hh.
typedef TList::iterator iterator |
Definition at line 44 of file symstate.hh.
Definition at line 40 of file symstate.hh.
|
inline |
Definition at line 47 of file symstate.hh.
|
virtual |
|
inline |
return STL-like iterator to go through the container
Definition at line 77 of file symstate.hh.
References heaps_.
|
inline |
return STL-like iterator to go through the container
Definition at line 83 of file symstate.hh.
References heaps_.
|
virtual |
Reimplemented in SymStateMarked.
|
inline |
return STL-like iterator to go through the container
Definition at line 80 of file symstate.hh.
References heaps_.
|
inline |
return STL-like iterator to go through the container
Definition at line 86 of file symstate.hh.
References heaps_.
|
inlineprotectedvirtual |
|
virtual |
insert given SymHeap object into the state
Reimplemented in SymStateWithJoin.
|
protectedvirtual |
insert new SymHeap that @ must be guaranteed to be not yet in
Reimplemented in SymStateMarked.
|
pure virtual |
look for the given symbolic heap, return its index if found, -1 otherwise
Implemented in SymHeapUnion, and SymHeapList.
Reimplemented in SymStateMarked, and SymHeapList.
|
inline |
return nth SymHeap object, 0 <= nth < size()
Definition at line 72 of file symstate.hh.
References heaps_.
|
protectedvirtual |
Reimplemented in SymStateMarked.
|
inline |
return count of object stored in the container
Definition at line 69 of file symstate.hh.
References heaps_.
Referenced by SymStateMarked::operator=().
|
inlinevirtual |
|
inlineprotectedvirtual |
Reimplemented in SymStateMarked.
Definition at line 97 of file symstate.hh.
References heaps_, and SymHeap::swap().
|
protected |
|
friend |
lookup/insert optimization in SymCallCache implementation
Definition at line 107 of file symstate.hh.
|
private |
Definition at line 110 of file symstate.hh.
Referenced by begin(), end(), eraseExisting(), operator[](), size(), swap(), and swapExisting().