SAX/C++: C++-specific design principles
david at megginson.com
Thu Dec 2 21:33:51 GMT 1999
Here are the principles that I applied to creating my first draft
1. Use references when there can never be a null value, pointers
2. Pointers never change ownership -- if a Parser (for example) wants
to own an InputSource, it needs to make its own copy. The app has
to free everything that it allocates, and the SAX driver, likewise.
3. Callbacks cannot be const, since they often change the state of the
4. Hold my nose and use UTF-8 rather than UTF-16, for compatibility
with most existing C++ code.
5. Use char * rather than string, to avoid forcing a lot of allocation
overhead on the SAX driver.
All the best,
David Megginson david at megginson.com
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev