Skip to content

Commit d1fc4cd

Browse files
committed
Combine any_value_sets and any_intervals implementations
1 parent 2d3ffb0 commit d1fc4cd

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

src/analyses/variable-sensitivity/abstract_value_object.cpp

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -128,26 +128,26 @@ static abstract_object_pointert value_set_expression_transform(
128128
const abstract_environmentt &environment,
129129
const namespacet &ns);
130130

131-
bool any_value_sets(const std::vector<abstract_object_pointert> &operands)
131+
template <class representation_type>
132+
bool any_of_type(const std::vector<abstract_object_pointert> &operands)
132133
{
133134
return std::find_if(
134135
operands.begin(),
135136
operands.end(),
136137
[](const abstract_object_pointert &p) {
137-
return std::dynamic_pointer_cast<const value_set_abstract_objectt>(
138-
p) != nullptr;
138+
return std::dynamic_pointer_cast<const representation_type>(p) !=
139+
nullptr;
139140
}) != operands.end();
140141
}
141142

143+
bool any_value_sets(const std::vector<abstract_object_pointert> &operands)
144+
{
145+
return any_of_type<value_set_abstract_objectt>(operands);
146+
}
147+
142148
bool any_intervals(const std::vector<abstract_object_pointert> &operands)
143149
{
144-
return std::find_if(
145-
operands.begin(),
146-
operands.end(),
147-
[](const abstract_object_pointert &p) {
148-
return std::dynamic_pointer_cast<const interval_abstract_valuet>(
149-
p) != nullptr;
150-
}) != operands.end();
150+
return any_of_type<interval_abstract_valuet>(operands);
151151
}
152152

153153
static abstract_object_pointert transform(

0 commit comments

Comments
 (0)