Skip to content

Commit 868de74

Browse files
Use standard zip function to clarify code
1 parent da8a63e commit 868de74

File tree

1 file changed

+3
-15
lines changed

1 file changed

+3
-15
lines changed

jbmc/src/java_bytecode/generic_parameter_specialization_map_keys.cpp

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#include <iterator>
66

7+
#include <util/range.h>
8+
79
/// \param type: Source type
810
/// \return The vector of implicitly generic and (explicitly) generic type
911
/// parameters of the given type.
@@ -44,22 +46,8 @@ void generic_parameter_specialization_map_keyst::insert_pairs(
4446
const std::vector<reference_typet> &types)
4547
{
4648
INVARIANT(erase_keys.empty(), "insert_pairs should only be called once");
47-
PRECONDITION(parameters.size() == types.size());
48-
49-
// Pair up the parameters and types for easier manipulation later
50-
std::vector<std::pair<java_generic_parametert, reference_typet>> pairs;
51-
pairs.reserve(parameters.size());
52-
std::transform(
53-
parameters.begin(),
54-
parameters.end(),
55-
types.begin(),
56-
std::back_inserter(pairs),
57-
[&](java_generic_parametert param, reference_typet type)
58-
{
59-
return std::make_pair(param, type);
60-
});
6149

62-
for(const auto &pair : pairs)
50+
for(const auto &pair : make_range(parameters).zip(types))
6351
{
6452
// Only add the pair if the type is not the parameter itself, e.g.,
6553
// pair.first = pair.second = java::A::T. This can happen for example

0 commit comments

Comments
 (0)