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

#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 More...
 
virtual bool insert (const SymHeap &sh, bool allowThreeWay=true)
 insert given SymHeap object into the state More...
 
size_t size () const
 return count of object stored in the container More...
 
const SymHeapoperator[] (int nth) const
 return nth SymHeap object, 0 <= nth < size() More...
 
const_iterator begin () const
 return STL-like iterator to go through the container More...
 
const_iterator end () const
 return STL-like iterator to go through the container More...
 
iterator begin ()
 return STL-like iterator to go through the container More...
 
iterator end ()
 return STL-like iterator to go through the container More...
 

Protected Member Functions

virtual void insertNew (const SymHeap &sh)
 insert new SymHeap that @ must be guaranteed to be not yet in More...
 
virtual void eraseExisting (int nth)
 
virtual void swapExisting (int nth, SymHeap &sh)
 
virtual void rotateExisting (const int idxA, const int idxB)
 

Private Types

typedef std::vector< SymHeap * > TList
 

Private Attributes

TList heaps_
 

Friends

class PerFncCache
 lookup/insert optimization in SymCallCache implementation More...
 

Detailed Description

Definition at line 37 of file symstate.hh.

Member Typedef Documentation

typedef TList::const_iterator const_iterator

Definition at line 42 of file symstate.hh.

typedef TList::iterator iterator

Definition at line 43 of file symstate.hh.

typedef std::vector<SymHeap *> TList
private

Definition at line 39 of file symstate.hh.

Constructor & Destructor Documentation

SymState ( )
inline

Definition at line 46 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 76 of file symstate.hh.

References heaps_.

iterator begin ( )
inline

return STL-like iterator to go through the container

Definition at line 82 of file symstate.hh.

References heaps_.

virtual void clear ( )
virtual

Reimplemented in SymStateMarked.

Referenced by SymStateMarked::clear().

const_iterator end ( ) const
inline

return STL-like iterator to go through the container

Definition at line 79 of file symstate.hh.

References heaps_.

iterator end ( )
inline

return STL-like iterator to go through the container

Definition at line 85 of file symstate.hh.

References heaps_.

virtual void eraseExisting ( int  nth)
inlineprotectedvirtual

Reimplemented in SymStateMarked.

Definition at line 91 of file symstate.hh.

References heaps_.

Referenced by SymStateMarked::eraseExisting().

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.

Referenced by SymStateMarked::insertNew().

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 )
const SymHeap& operator[] ( int  nth) const
inline

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

Definition at line 71 of file symstate.hh.

References heaps_.

virtual void rotateExisting ( const int  idxA,
const int  idxB 
)
protectedvirtual

Reimplemented in SymStateMarked.

size_t size ( ) const
inline

return count of object stored in the container

Definition at line 68 of file symstate.hh.

References heaps_.

Referenced by SymStateMarked::operator=().

virtual void swap ( SymState other)
inlinevirtual

Reimplemented in SymStateMarked.

Definition at line 54 of file symstate.hh.

References heaps_.

virtual void swapExisting ( int  nth,
SymHeap sh 
)
inlineprotectedvirtual

Reimplemented in SymStateMarked.

Definition at line 96 of file symstate.hh.

References heaps_, and SymHeap::swap().

Referenced by SymStateMarked::swapExisting().

Friends And Related Function Documentation

friend class PerFncCache
friend

lookup/insert optimization in SymCallCache implementation

Definition at line 104 of file symstate.hh.

Field Documentation

TList heaps_
private

Definition at line 107 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: