]> git.cworth.org Git - apitrace/blobdiff - trace_model.hpp
More D3D flags.
[apitrace] / trace_model.hpp
index a9256e9dfbb7db1d9a58a16d7dd3685a2e245b09..57ebcaa666ea2f82d3fe19bf5e24e43e09f8732d 100644 (file)
@@ -169,12 +169,13 @@ public:
 class Enum : public Value
 {
 public:
-    Enum(std::string &_name, Value *_value) : name(_name), value(_value) {}
+    typedef std::pair<std::string, Value *> Signature;
+
+    Enum(const Signature *_sig) : sig(_sig) {}
 
     void visit(Visitor &visitor);
 
-    std::string name;
-    Value *value;
+    const Signature *sig;
 };
 
 
@@ -201,6 +202,7 @@ public:
     };
 
     Struct(Signature *_sig) : sig(_sig), members(_sig->member_names.size()) { }
+    ~Struct();
 
     void visit(Visitor &visitor);
 
@@ -213,6 +215,7 @@ class Array : public Value
 {
 public:
     Array(size_t len) : values(len) {}
+    ~Array();
 
     void visit(Visitor &visitor);
 
@@ -295,6 +298,7 @@ public:
     Value *ret;
 
     Call(Signature *_sig) : sig(_sig), args(_sig->arg_names.size()), ret(0) { }
+    ~Call();
 
     inline const std::string name(void) const {
         return sig->name;