diff --git a/src/api/c++/z3++.h b/src/api/c++/z3++.h index bfd4eb2c4..8b523d91c 100644 --- a/src/api/c++/z3++.h +++ b/src/api/c++/z3++.h @@ -890,6 +890,7 @@ namespace z3 { friend expr operator+(expr const & a, expr const & b); friend expr operator+(expr const & a, int b); friend expr operator+(int a, expr const & b); + friend expr sum(expr_vector const& args); friend expr operator*(expr const & a, expr const & b); friend expr operator*(expr const & a, int b); @@ -1561,6 +1562,15 @@ namespace z3 { } + inline expr sum(expr_vector const& args) { + assert(args.size() > 0); + context& ctx = args[0].ctx(); + array _args(args); + Z3_ast r = Z3_mk_add(ctx, _args.size(), _args.ptr()); + ctx.check_error(); + return expr(ctx, r); + } + inline expr distinct(expr_vector const& args) { assert(args.size() > 0); context& ctx = args[0].ctx();