3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-08 00:05:46 +00:00

reduce mem allocation in tactic API

This commit is contained in:
Nuno Lopes 2018-07-02 13:41:44 +01:00
parent fc8193828d
commit 8791f61aa7
7 changed files with 24 additions and 51 deletions

View file

@ -32,14 +32,6 @@ Notes:
#include "cmd_context/cmd_context_to_goal.h"
#include "cmd_context/echo_tactic.h"
tactic_cmd::~tactic_cmd() {
dealloc(m_factory);
}
tactic * tactic_cmd::mk(ast_manager & m) {
return (*m_factory)(m, params_ref());
}
probe_info::probe_info(symbol const & n, char const * d, probe * p):
m_name(n),
m_descr(d),

View file

@ -19,30 +19,28 @@ Notes:
#define TACTIC_CMDS_H_
#include "ast/ast.h"
#include "util/params.h"
#include "util/cmd_context_types.h"
#include "util/ref.h"
class tactic;
class probe;
class tactic_factory;
typedef tactic* (*tactic_factory)(ast_manager&, const params_ref&);
class tactic_cmd {
symbol m_name;
char const * m_descr;
tactic_factory * m_factory;
symbol m_name;
char const * m_descr;
tactic_factory m_factory;
public:
tactic_cmd(symbol const & n, char const * d, tactic_factory * f):
m_name(n), m_descr(d), m_factory(f) {
SASSERT(m_factory);
}
~tactic_cmd();
tactic_cmd(symbol const & n, char const * d, tactic_factory f):
m_name(n), m_descr(d), m_factory(f) {}
symbol get_name() const { return m_name; }
char const * get_descr() const { return m_descr; }
tactic * mk(ast_manager & m);
tactic * mk(ast_manager & m) { return m_factory(m, params_ref()); }
};
void install_core_tactic_cmds(cmd_context & ctx);