clang  14.0.0git
Classes | Namespaces | Typedefs | Functions
Iterator.h File Reference
#include "clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h"
#include "clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h"
Include dependency graph for Iterator.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::ento::iterator::IteratorPosition
 
struct  clang::ento::iterator::ContainerData
 
class  clang::ento::iterator::IteratorSymbolMap
 
class  clang::ento::iterator::IteratorRegionMap
 
class  clang::ento::iterator::ContainerMap
 
struct  clang::ento::ProgramStateTrait< iterator::IteratorSymbolMap >
 
struct  clang::ento::ProgramStateTrait< iterator::IteratorRegionMap >
 
struct  clang::ento::ProgramStateTrait< iterator::ContainerMap >
 

Namespaces

 clang
 
 clang::ento
 
 clang::ento::iterator
 

Typedefs

using clang::ento::iterator::IteratorSymbolMapTy = CLANG_ENTO_PROGRAMSTATE_MAP(SymbolRef, IteratorPosition)
 
using clang::ento::iterator::IteratorRegionMapTy = CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, IteratorPosition)
 
using clang::ento::iterator::ContainerMapTy = CLANG_ENTO_PROGRAMSTATE_MAP(const MemRegion *, ContainerData)
 

Functions

bool clang::ento::iterator::isIteratorType (const QualType &Type)
 
bool clang::ento::iterator::isIterator (const CXXRecordDecl *CRD)
 
bool clang::ento::iterator::isComparisonOperator (OverloadedOperatorKind OK)
 
bool clang::ento::iterator::isInsertCall (const FunctionDecl *Func)
 
bool clang::ento::iterator::isEraseCall (const FunctionDecl *Func)
 
bool clang::ento::iterator::isEraseAfterCall (const FunctionDecl *Func)
 
bool clang::ento::iterator::isEmplaceCall (const FunctionDecl *Func)
 
bool clang::ento::iterator::isAccessOperator (OverloadedOperatorKind OK)
 
bool clang::ento::iterator::isAccessOperator (UnaryOperatorKind OK)
 
bool clang::ento::iterator::isAccessOperator (BinaryOperatorKind OK)
 
bool clang::ento::iterator::isDereferenceOperator (OverloadedOperatorKind OK)
 
bool clang::ento::iterator::isDereferenceOperator (UnaryOperatorKind OK)
 
bool clang::ento::iterator::isDereferenceOperator (BinaryOperatorKind OK)
 
bool clang::ento::iterator::isIncrementOperator (OverloadedOperatorKind OK)
 
bool clang::ento::iterator::isIncrementOperator (UnaryOperatorKind OK)
 
bool clang::ento::iterator::isDecrementOperator (OverloadedOperatorKind OK)
 
bool clang::ento::iterator::isDecrementOperator (UnaryOperatorKind OK)
 
bool clang::ento::iterator::isRandomIncrOrDecrOperator (OverloadedOperatorKind OK)
 
bool clang::ento::iterator::isRandomIncrOrDecrOperator (BinaryOperatorKind OK)
 
const ContainerData * clang::ento::iterator::getContainerData (ProgramStateRef State, const MemRegion *Cont)
 
const IteratorPosition * clang::ento::iterator::getIteratorPosition (ProgramStateRef State, const SVal &Val)
 
ProgramStateRef clang::ento::iterator::setIteratorPosition (ProgramStateRef State, const SVal &Val, const IteratorPosition &Pos)
 
ProgramStateRef clang::ento::iterator::createIteratorPosition (ProgramStateRef State, const SVal &Val, const MemRegion *Cont, const Stmt *S, const LocationContext *LCtx, unsigned blockCount)
 
ProgramStateRef clang::ento::iterator::advancePosition (ProgramStateRef State, const SVal &Iter, OverloadedOperatorKind Op, const SVal &Distance)
 
ProgramStateRef clang::ento::iterator::assumeNoOverflow (ProgramStateRef State, SymbolRef Sym, long Scale)
 
bool clang::ento::iterator::compare (ProgramStateRef State, SymbolRef Sym1, SymbolRef Sym2, BinaryOperator::Opcode Opc)
 
bool clang::ento::iterator::compare (ProgramStateRef State, NonLoc NL1, NonLoc NL2, BinaryOperator::Opcode Opc)