DOM StringRef: Difference between revisions
m catg up a level |
No edit summary |
||
Line 1: | Line 1: | ||
{{DOMversion|1.3}} | |||
'''Summary:'''Internal notes on <code>StringRef</code>. | '''Summary:'''Internal notes on <code>StringRef</code>. | ||
Revision as of 04:17, 8 November 2007
DOM 1.3 | This revision of this article is current for COLLADA DOM version 1.3. See DOM 1.3 documentation for all related articles. |
---|
Summary:Internal notes on StringRef
.
StringRef
is barely used as a type. It is used mainly in a side-effect programming style when dealing with daeString
types.
It is used for all string array types, that is, xsNameArray
, xsTokenArray
, xsNCNameArray
, even though the single versions of those types are just daeString
.
daeStringTable
is used to manage string memory.
The common functionality for daeStringRef
is to do something like:
*(daeStringRef*)&attrMaterial = atMaterial;
The side effect of casting a daeString
to a daeStringRef
is that the operator= of daeStringRef
gets called instead of a pointer copy.
The operator= calls daeStringTable::allocateString
, which allocates memory for the string.
NOTE for future: daeStringTable
should be made to reuse string memory, but currently allocates new memory for each and every string.
COLLADA DOM - Version 2.4 Historical Reference |
---|
List of main articles under the DOM portal. |
User Guide chapters: • Intro • Architecture • Setting up • Working with documents • Creating docs • Importing docs • Representing elements • Working with elements • Resolving URIs • Resolving SIDs • Using custom COLLADA data • Integration templates • Error handling Systems: • URI resolver • Meta • Load/save flow • Runtime database • Memory • StringRef • Code generator |