Static Value-Flow Analysis
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
SVF::CondPointsToSet< Cond >::CondPtsSetIterator Class Reference

Conditional Points-to Set Iterator. More...

Public Member Functions

 CondPtsSetIterator (CondPointsToSet< Cond > &n, bool ae=false)
 
 ~CondPtsSetIterator ()
 
bool operator!= (int val)
 
bool operator== (const CondPtsSetIterator &RHS) const
 Operator overloading.
 
bool operator!= (const CondPtsSetIterator &RHS) const
 
void operator++ (void)
 
SingleCondVar operator* (void)
 
Cond cond (void)
 

Private Attributes

CondPointsToSet< Cond >::CondPtsIter _curIter
 
CondPointsToSet< Cond >::CondPtsIter _endIter
 
PointsTo::iterator _ptIter
 
PointsTo::iterator _ptEndIter
 
bool atEnd
 

Detailed Description

template<class Cond>
class SVF::CondPointsToSet< Cond >::CondPtsSetIterator

Conditional Points-to Set Iterator.

Definition at line 749 of file ConditionalPT.h.

Constructor & Destructor Documentation

◆ CondPtsSetIterator()

template<class Cond >
SVF::CondPointsToSet< Cond >::CondPtsSetIterator::CondPtsSetIterator ( CondPointsToSet< Cond > &  n,
bool  ae = false 
)
inline

Definition at line 752 of file ConditionalPT.h.

753 : _curIter(n.cptsBegin()), _endIter(n.cptsEnd()),
754 _ptIter(_curIter->second.begin()), _ptEndIter(_curIter->second.end()), atEnd(ae) {}
cJSON * n
Definition cJSON.cpp:2558
CondPointsToSet< Cond >::CondPtsIter _curIter
CondPointsToSet< Cond >::CondPtsIter _endIter
llvm::IRBuilder IRBuilder
Definition BasicTypes.h:74

◆ ~CondPtsSetIterator()

template<class Cond >
SVF::CondPointsToSet< Cond >::CondPtsSetIterator::~CondPtsSetIterator ( )
inline

Definition at line 755 of file ConditionalPT.h.

755{}

Member Function Documentation

◆ cond()

template<class Cond >
Cond SVF::CondPointsToSet< Cond >::CondPtsSetIterator::cond ( void  )
inline

Definition at line 801 of file ConditionalPT.h.

802 {
803 return _curIter->first;
804 }

◆ operator!=() [1/2]

template<class Cond >
bool SVF::CondPointsToSet< Cond >::CondPtsSetIterator::operator!= ( const CondPtsSetIterator RHS) const
inline

Definition at line 770 of file ConditionalPT.h.

771 {
772 return !(*this == RHS);
773 }

◆ operator!=() [2/2]

template<class Cond >
bool SVF::CondPointsToSet< Cond >::CondPtsSetIterator::operator!= ( int  val)
inline

Definition at line 756 of file ConditionalPT.h.

757 {
758 return _curIter != _endIter;
759 }

◆ operator*()

template<class Cond >
SingleCondVar SVF::CondPointsToSet< Cond >::CondPtsSetIterator::operator* ( void  )
inline

Definition at line 794 of file ConditionalPT.h.

795 {
797 return temp_var;
798 }
CondVar< Cond > SingleCondVar

◆ operator++()

template<class Cond >
void SVF::CondPointsToSet< Cond >::CondPtsSetIterator::operator++ ( void  )
inline

Definition at line 775 of file ConditionalPT.h.

776 {
777 if(atEnd == true)
778 return;
779
781 {
782 if(_curIter == _endIter)
783 {
784 atEnd = true;
785 return;
786 }
787 _curIter++;
788 _ptIter = _curIter->second.begin();
789 _ptIter = _curIter->second.end();
790 }
791 else
792 _ptIter++;
793 }

◆ operator==()

template<class Cond >
bool SVF::CondPointsToSet< Cond >::CondPtsSetIterator::operator== ( const CondPtsSetIterator RHS) const
inline

Operator overloading.

Definition at line 762 of file ConditionalPT.h.

763 {
764 // If they are both at the end, ignore the rest of the fields.
765 if (atEnd && RHS.atEnd)
766 return true;
767 // Otherwise they are the same if they have the same condVar
768 return atEnd == RHS.atEnd && RHS._curIter == _curIter && RHS._ptIter == _ptIter;
769 }

Member Data Documentation

◆ _curIter

template<class Cond >
CondPointsToSet<Cond>::CondPtsIter SVF::CondPointsToSet< Cond >::CondPtsSetIterator::_curIter
private

Definition at line 807 of file ConditionalPT.h.

◆ _endIter

template<class Cond >
CondPointsToSet<Cond>::CondPtsIter SVF::CondPointsToSet< Cond >::CondPtsSetIterator::_endIter
private

Definition at line 808 of file ConditionalPT.h.

◆ _ptEndIter

template<class Cond >
PointsTo::iterator SVF::CondPointsToSet< Cond >::CondPtsSetIterator::_ptEndIter
private

Definition at line 810 of file ConditionalPT.h.

◆ _ptIter

template<class Cond >
PointsTo::iterator SVF::CondPointsToSet< Cond >::CondPtsSetIterator::_ptIter
private

Definition at line 809 of file ConditionalPT.h.

◆ atEnd

template<class Cond >
bool SVF::CondPointsToSet< Cond >::CondPtsSetIterator::atEnd
private

Definition at line 811 of file ConditionalPT.h.


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