Summary:Internal notes on
StringRef is barely used as a type. It is used mainly in a side-effect programming style when dealing with
It is used for all string array types, that is,
xsNCNameArray, even though the single versions of those types are just
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