return false;
}
+ // cppcheck-suppress useStlAlgorithm
for (const auto &e_a : in_edges_range(a, g)) {
- RoseEdge e = edge(source(e_a, g), b, g);
- if (!e || g[e].rose_top != g[e_a].rose_top) {
+ auto edge_result = edge(source(e_a, g), b, g);
+ RoseEdge e = edge_result.first;
+
+ if (!edge_result.second || g[e].rose_top != g[e_a].rose_top) {
DEBUG_PRINTF("bad tops\n");
return false;
}
static
bool hasCommonSuccWithBadBounds(RoseVertex a, RoseVertex b,
const RoseGraph &g) {
+ // cppcheck-suppress useStlAlgorithm
for (const auto &e_a : out_edges_range(a, g)) {
- if (RoseEdge e = edge(b, target(e_a, g), g)) {
+ auto edge_result = edge(b, target(e_a, g), g);
+ RoseEdge e = edge_result.first;
+ if (edge_result.second) {
if (g[e_a].maxBound < g[e].minBound
|| g[e].maxBound < g[e_a].minBound) {
return true;
static
bool hasCommonPredWithBadBounds(RoseVertex a, RoseVertex b,
const RoseGraph &g) {
+ // cppcheck-suppress useStlAlgorithm
for (const auto &e_a : in_edges_range(a, g)) {
- if (RoseEdge e = edge(source(e_a, g), b, g)) {
+ auto edge_result = edge(source(e_a, g), b, g);
+ RoseEdge e = edge_result.first;
+ if (edge_result.second) {
if (g[e_a].maxBound < g[e].minBound
|| g[e].maxBound < g[e_a].minBound) {
return true;
const bool equal_roses = hasEqualLeftfixes(a, b, g);
+ // cppcheck-suppress useStlAlgorithm
for (const auto &e_a : in_edges_range(a, g)) {
- if (RoseEdge e = edge(source(e_a, g), b, g)) {
+ auto edge_result = edge(source(e_a, g), b, g);
+ RoseEdge e = edge_result.first;
+ if (edge_result.second) {
DEBUG_PRINTF("common pred, e_r=%d r_t %u,%u\n",
(int)equal_roses, g[e].rose_top, g[e_a].rose_top);
if (!equal_roses) {