mirror of
https://github.com/Z3Prover/z3
synced 2025-07-29 07:27:57 +00:00
tmp_enode: don't heap allocate an app. store it inline instead.
Saves heap allocations and double indirections
This commit is contained in:
parent
4898a156d8
commit
c9c53b7c65
3 changed files with 9 additions and 16 deletions
|
@ -707,6 +707,8 @@ struct app_flags {
|
|||
app_flags() : m_depth(1), m_ground(1), m_has_quantifiers(0), m_has_labels(0) {}
|
||||
};
|
||||
|
||||
namespace smt { class tmp_enode; }
|
||||
|
||||
class app : public expr {
|
||||
friend class ast_manager;
|
||||
|
||||
|
@ -720,8 +722,10 @@ class app : public expr {
|
|||
}
|
||||
|
||||
friend class tmp_app;
|
||||
friend class smt::tmp_enode;
|
||||
|
||||
app(func_decl * decl, unsigned num_args, expr * const * args);
|
||||
app() : expr(AST_APP) {}
|
||||
public:
|
||||
func_decl * get_decl() const { return m_decl; }
|
||||
family_id get_family_id() const { return get_decl()->get_family_id(); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue