[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: SAX/C++: First interface draft
>>>>> Steinar Bang <sb@m...>: >>>>> James Clark <jjc@j...>: >> - Would it be better to typedef SAXString to the Standard C++ string >> class (ie std::basic_string<SAXChar>)? > An argument for using > typdef const SAXChar* SAXString; > is that you get late construction of the basic_string<>, ie. you don't > create it until you have to (eg. when using it to do a lookup in an > STL map<>). After thinking over the weekend, I'm changing my vote on this issue. I think the convenience of using basic_string<> way outweighs the cost advantages of lazy conversion, since in most cases the first thing that would be done in the DocumentHandler (or whereever) would be to create a basic_string<> for the appropriate character size anyway. But the UTF-16 string should not be a straight typedef. We should derive from basic_string<SAXChar> to get a char* constructor that would take a UTF-8-encoded string. This is for ease of use with character constants. Hm... we may also need an operator<<() for byte streams, that would do UTF-8 encoding...? (fewer implementations have templated streams than have basic_string<>, and we may want to use a byte stream rather than a wide stream for I/O anyway.) that would make the SAX.h file something like this: Here's SAX.h: #ifndef __SAX_HXX #define __SAX_HXX // Forward declarations of std::istream #include <iosfwd> namespace SAX_UTF8 { typedef char SAXChar; typedef std::string SAXString; #include "SAXDecl.h" } namespace SAX_UTF16 { typedef unsigned short SAXChar; class SAXString : public std::basic_string<SAXChar> { public: SAXString(const char* utf8); }; ostream& operator::<<(ostream&,const SAXString&); #include "SAXDecl.h" } #endif ..or something... xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To unsubscribe, mailto:majordomo@i... the following message; unsubscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|