@@ -122,19 +122,25 @@ optionalt<std::vector<mp_integer>> eval_string(
122122 return result;
123123}
124124
125- array_string_exprt
126- make_string (const std::vector<mp_integer> &array, const array_typet &array_type)
125+ template <typename Iter>
126+ static array_string_exprt
127+ make_string (Iter begin, Iter end, const array_typet &array_type)
127128{
128129 const typet &char_type = array_type.subtype ();
129130 array_exprt array_expr (array_type);
130131 const auto &insert = std::back_inserter (array_expr.operands ());
131- std::transform (
132- array.begin (), array.end (), insert, [&](const mp_integer &i) { // NOLINT
133- return from_integer (i, char_type);
134- });
132+ std::transform (begin, end, insert, [&](const mp_integer &i) {
133+ return from_integer (i, char_type);
134+ });
135135 return to_array_string_expr (array_expr);
136136}
137137
138+ static array_string_exprt
139+ make_string (const std::vector<mp_integer> &array, const array_typet &array_type)
140+ {
141+ return make_string (array.begin (), array.end (), array_type);
142+ }
143+
138144std::vector<mp_integer> string_concatenation_builtin_functiont::eval (
139145 const std::vector<mp_integer> &input1_value,
140146 const std::vector<mp_integer> &input2_value,
0 commit comments