|
Static Value-Flow Analysis
|
#include <PointsTo.h>
Public Types | |
| using | iterator_category = std::forward_iterator_tag |
| using | value_type = u32_t |
| using | difference_type = std::ptrdiff_t |
| using | pointer = u32_t * |
| using | reference = u32_t & |
Public Member Functions | |
| PointsToIterator ()=delete | |
| Deleted because we don't want iterators with null pt. | |
| PointsToIterator (const PointsToIterator &pt) | |
| PointsToIterator (PointsToIterator &&pt) noexcept | |
| PointsToIterator (const PointsTo *pt, bool end=false) | |
| PointsToIterator & | operator= (const PointsToIterator &rhs) |
| PointsToIterator & | operator= (PointsToIterator &&rhs) noexcept |
| const PointsToIterator & | operator++ () |
| Pre-increment: ++it. | |
| const PointsToIterator | operator++ (int) |
| Post-increment: it++. | |
| u32_t | operator* () const |
| Dereference: *it. | |
| bool | operator== (const PointsToIterator &rhs) const |
| Equality: *this == rhs. | |
| bool | operator!= (const PointsToIterator &rhs) const |
| Inequality: *this != rhs. | |
Private Member Functions | |
| bool | atEnd () const |
Private Attributes | ||
| const PointsTo * | pt | |
| PointsTo we are iterating over. | ||
| union { | ||
| SparseBitVector ::iterator sbvIt | ||
| CoreBitVector::iterator cbvIt | ||
| BitVector::iterator bvIt | ||
| }; | ||
Definition at line 181 of file PointsTo.h.
| using SVF::PointsTo::PointsToIterator::difference_type = std::ptrdiff_t |
Definition at line 186 of file PointsTo.h.
| using SVF::PointsTo::PointsToIterator::iterator_category = std::forward_iterator_tag |
Definition at line 184 of file PointsTo.h.
Definition at line 187 of file PointsTo.h.
Definition at line 188 of file PointsTo.h.
Definition at line 185 of file PointsTo.h.
|
delete |
Deleted because we don't want iterators with null pt.
| SVF::PointsTo::PointsToIterator::PointsToIterator | ( | const PointsToIterator & | pt | ) |
Definition at line 411 of file PointsTo.cpp.
|
noexcept |
Definition at line 433 of file PointsTo.cpp.
|
explicit |
Returns an iterator to the beginning of pt if end is false, and to the end of pt if end is true.
Definition at line 389 of file PointsTo.cpp.
|
private |
Definition at line 552 of file PointsTo.cpp.
| bool SVF::PointsTo::PointsToIterator::operator!= | ( | const PointsToIterator & | rhs | ) | const |
| NodeID SVF::PointsTo::PointsToIterator::operator* | ( | ) | const |
Dereference: *it.
Definition at line 516 of file PointsTo.cpp.
| const PointsTo::PointsToIterator & SVF::PointsTo::PointsToIterator::operator++ | ( | ) |
| const PointsTo::PointsToIterator SVF::PointsTo::PointsToIterator::operator++ | ( | int | ) |
Post-increment: it++.
Definition at line 508 of file PointsTo.cpp.
| PointsTo::PointsToIterator & SVF::PointsTo::PointsToIterator::operator= | ( | const PointsToIterator & | rhs | ) |
Definition at line 455 of file PointsTo.cpp.
|
noexcept |
Definition at line 476 of file PointsTo.cpp.
| bool SVF::PointsTo::PointsToIterator::operator== | ( | const PointsToIterator & | rhs | ) | const |
Equality: *this == rhs.
Definition at line 529 of file PointsTo.cpp.
| union { ... } SVF::PointsTo::PointsToIterator |
Iterator into the backing data structure. Discriminated by pt->type. TODO: std::variant when we move to C++17.
| BitVector::iterator SVF::PointsTo::PointsToIterator::bvIt |
Definition at line 229 of file PointsTo.h.
| CoreBitVector::iterator SVF::PointsTo::PointsToIterator::cbvIt |
Definition at line 228 of file PointsTo.h.
PointsTo we are iterating over.
Definition at line 222 of file PointsTo.h.
| SparseBitVector ::iterator SVF::PointsTo::PointsToIterator::sbvIt |
Definition at line 227 of file PointsTo.h.