Member predicate Expr::Expr::isLValue

Holds if this expression is an LValue, in the sense of having an address.

Being an LValue is best approximated as having an address. This is a strict superset of modifiable LValues, which are best approximated by things which could be on the left-hand side of an assignment. This is also a strict superset of expressions which provide an LValue, which is best approximated by things whose address is important.

See [basic.lval] in the C++ language specification. In C++03, every expression is either an LValue or an RValue. In C++11, every expression is exactly one of an LValue, an XValue, or a PRValue (with RValues being the union of XValues and PRValues). Using the C++11 terminology, this predicate selects expressions whose value category is lvalue.

predicate isLValue()