DOM StringRef
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 |