diff options
author | David Robillard <d@drobilla.net> | 2012-08-10 03:20:03 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2012-08-10 03:20:03 +0000 |
commit | 1144d52d67083cb2f2709f2f43c3b7c259c37d9c (patch) | |
tree | 908c695300fa22a8594a483b53a6ce8a317a58f2 /src/sord_internal.h | |
parent | be0379f60c704cc737ac0063c341121c7de7b2fb (diff) | |
download | sord-1144d52d67083cb2f2709f2f43c3b7c259c37d9c.tar.gz sord-1144d52d67083cb2f2709f2f43c3b7c259c37d9c.tar.bz2 sord-1144d52d67083cb2f2709f2f43c3b7c259c37d9c.zip |
Shave 8 bytes off of SordNode.
git-svn-id: http://svn.drobilla.net/sord/trunk@251 3d64ff67-21c5-427c-a301-fe4f08042e5a
Diffstat (limited to 'src/sord_internal.h')
-rw-r--r-- | src/sord_internal.h | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/src/sord_internal.h b/src/sord_internal.h index 03050db..16d6ef2 100644 --- a/src/sord_internal.h +++ b/src/sord_internal.h @@ -22,13 +22,25 @@ #include "sord/sord.h" +/** Resource node metadata */ +typedef struct { + size_t refs_as_obj; ///< References as a quad object +} SordResourceMetadata; + +/** Literal node metadata */ +typedef struct { + SordNode* datatype; ///< Optional literal data type URI + char lang[16]; ///< Optional language tag +} SordLiteralMetadata; + /** Node */ struct SordNodeImpl { - SordNode* datatype; ///< Literal data type (ID of a URI node, or 0) - size_t refs; ///< Reference count (# of containing quads) - size_t refs_as_obj; ///< References as a quad object - char lang[16]; ///< Language tag - SerdNode node; ///< Serd node + SerdNode node; ///< Serd node + size_t refs; ///< Reference count (# of containing quads) + union { + SordResourceMetadata res; + SordLiteralMetadata lit; + } meta; }; #endif /* SORD_SORD_INTERNAL_H */ |