CodeQL library for C/C++

Predicate relOpWithSwap

Holds if rel is a relational operation (<, >, <= or >=) with fully-converted children a and b, described by dir and strict.

This allows for the relation to be either as written, or with its arguments reversed; for example, if rel is x < 5 then both relOpWithSwap(rel, x, 5, Lesser(), Strict()) and relOpWithSwap(rel, 5, x, Greater(), Strict()) hold.

Import path

import semmle.code.cpp.rangeanalysis.RangeAnalysisUtils
predicate relOpWithSwap(RelationalOperation rel, Expr a, Expr b, RelationDirection dir, RelationStrictness strict)