aboutsummaryrefslogtreecommitdiff
path: root/model.h
diff options
context:
space:
mode:
Diffstat (limited to 'model.h')
-rw-r--r--model.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/model.h b/model.h
index 9ccdf20..3260fe7 100644
--- a/model.h
+++ b/model.h
@@ -2,6 +2,7 @@
#define MODEL_H
#include <string>
+#include <set>
using std::string;
@@ -103,12 +104,14 @@ class EvalObj : public FrameObj {
virtual ReprCons *get_repr_cons() = 0;
};
+typedef std::set<EvalObj*> EvalObjSet;
class Container: public EvalObj {
public:
+ bool keep;
size_t gc_refs;
- Container(int otype);
+ Container(int otype = 0);
virtual void gc_decrement() = 0;
- virtual void gc_trigger(EvalObj ** &tail) = 0;
+ virtual void gc_trigger(EvalObj ** &tail, EvalObjSet &visited) = 0;
};
/** @class RetAddr