Predator  [unstable] git snapshot
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Attributes | Friends
SymState Class Reference

#include <symstate.hh>

Inheritance diagram for SymState:
Inheritance graph
[legend]

Public Types

typedef TList::const_iterator const_iterator
typedef TList::iterator iterator

Public Member Functions

 SymState ()
virtual ~SymState ()
 SymState (const SymState &)
SymStateoperator= (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 SymHeapoperator[] (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

Detailed Description

Definition at line 38 of file symstate.hh.

Member Typedef Documentation

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.

typedef std::vector<SymHeap *> TList
private

Definition at line 40 of file symstate.hh.

Constructor & Destructor Documentation

SymState ( )
inline

Definition at line 47 of file symstate.hh.

virtual ~SymState ( )
virtual
SymState ( const SymState )

Member Function Documentation

const_iterator begin ( ) const
inline

return STL-like iterator to go through the container

Definition at line 77 of file symstate.hh.

References heaps_.

iterator begin ( )
inline

return STL-like iterator to go through the container

Definition at line 83 of file symstate.hh.

References heaps_.

virtual void clear ( )
virtual

Reimplemented in SymStateMarked.

const_iterator end ( ) const
inline

return STL-like iterator to go through the container

Definition at line 80 of file symstate.hh.

References heaps_.

iterator end ( )
inline

return STL-like iterator to go through the container

Definition at line 86 of file symstate.hh.

References heaps_.

virtual void eraseExisting ( int  nth)
inlineprotectedvirtual

Reimplemented in SymStateMarked.

Definition at line 92 of file symstate.hh.

References heaps_.

virtual bool insert ( const SymHeap sh,
bool  allowThreeWay = true 
)
virtual

insert given SymHeap object into the state

Reimplemented in SymStateWithJoin.

virtual void insertNew ( const SymHeap sh)
protectedvirtual

insert new SymHeap that @ must be guaranteed to be not yet in

Reimplemented in SymStateMarked.

virtual int lookup ( const SymHeap heap) const
pure virtual

look for the given symbolic heap, return its index if found, -1 otherwise

Implemented in SymHeapUnion, and SymHeapList.

SymState& operator= ( const SymState )

Reimplemented in SymStateMarked, and SymHeapList.

const SymHeap& operator[] ( int  nth) const
inline

return nth SymHeap object, 0 <= nth < size()

Definition at line 72 of file symstate.hh.

References heaps_.

virtual void rotateExisting ( int  idxA,
int  idxB 
)
protectedvirtual

Reimplemented in SymStateMarked.

size_t size ( ) const
inline

return count of object stored in the container

Definition at line 69 of file symstate.hh.

References heaps_.

Referenced by SymStateMarked::operator=().

virtual void swap ( SymState other)
inlinevirtual

Reimplemented in SymStateMarked.

Definition at line 55 of file symstate.hh.

References heaps_.

virtual void swapExisting ( int  nth,
SymHeap sh 
)
inlineprotectedvirtual

Reimplemented in SymStateMarked.

Definition at line 97 of file symstate.hh.

References heaps_, and SymHeap::swap().

void updateTraceOf ( int  idx,
Trace::Node tr,
EJoinStatus  status 
)
protected

Friends And Related Function Documentation

friend class PerFncCache
friend

lookup/insert optimization in SymCallCache implementation

Definition at line 107 of file symstate.hh.

Field Documentation

TList heaps_
private

Definition at line 110 of file symstate.hh.

Referenced by begin(), end(), eraseExisting(), operator[](), size(), swap(), and swapExisting().


The documentation for this class was generated from the following file: