Predicate Cached::isIteratorDef
Holds if iteratorDerefAddress
is an address of an iterator dereference (i.e., *it
)
that is used for a write operation that writes the value value
to a container that
created the iterator. container
represents the base of the address of the container
that was used to create the iterator.
Import path
import semmle.code.cpp.ir.dataflow.internal.SsaInternalsCommon
predicate isIteratorDef(BaseSourceVariableInstruction container, Operand iteratorDerefAddress, Node0Impl value, int numberOfLoads, int indirectionIndex)