summaryrefslogtreecommitdiff
path: root/trace_write.hpp
diff options
context:
space:
mode:
authorJosé Fonseca <jfonseca@vmware.com>2010-11-26 15:46:36 +0000
committerJosé Fonseca <jfonseca@vmware.com>2010-11-26 15:46:36 +0000
commit7eef8ce6f7cc1c410b8a78b66137d9448a92155b (patch)
treeff69099b17a4e2cd1baeba63eb3026059c347568 /trace_write.hpp
parentf84c70e16aaf953f8984981456f5baf8eada7153 (diff)
More compact struct representation.
Diffstat (limited to 'trace_write.hpp')
-rw-r--r--trace_write.hpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/trace_write.hpp b/trace_write.hpp
index 428b30fa..66057df2 100644
--- a/trace_write.hpp
+++ b/trace_write.hpp
@@ -37,6 +37,13 @@ namespace Trace {
const char **args;
};
+ struct StructSig {
+ Id id;
+ const char *name;
+ unsigned num_members;
+ const char **members;
+ };
+
struct EnumSig {
Id id;
const char *name;
@@ -75,12 +82,9 @@ namespace Trace {
inline void BeginElement(void) {}
inline void EndElement(void) {}
- void BeginStruct(size_t length);
+ void BeginStruct(const StructSig *sig);
inline void EndStruct(void) {}
- void BeginMember(const char *name);
- inline void EndMember(void) {}
-
void LiteralBool(bool value);
void LiteralSInt(signed long long value);
void LiteralUInt(unsigned long long value);