16 #if !defined(XALANUTF8WRITER_HEADER_GUARD_1357924680)
17 #define XALANUTF8WRITER_HEADER_GUARD_1357924680
24 XALAN_CPP_NAMESPACE_BEGIN
31 return char((theChar >> 18) & 0x7);
39 return char((theChar >> 12) & 0x3F);
47 return char((theChar >> 12) & 0xF);
55 return char((theChar >> 6) & 0x3f);
63 return char((theChar >> 6) & 0x1f);
71 return char(theChar & 0x3f);
79 return char(0xC0 + theBits);
87 return char(0xE0 + theBits);
95 return char(0xF0 + theBits);
103 return char(0x80 + theBits);
117 MemoryManager& theMemoryManager);
140 const XalanDOMChar chars[],
145 assert(chars != 0 && length != 0 && start < length);
147 return write(chars, start, length);
156 write(data, theLength);
165 write(data, theLength);
174 write(data, theLength);
179 const XalanDOMChar* theChars,
194 if (theLength >
sizeof(m_buffer))
202 if (m_bufferRemaining < theLength)
209 *m_bufferPosition = theChars[i];
214 m_bufferRemaining -= theLength;
239 assert(theChar < 128);
241 if (m_bufferRemaining == 0)
246 *m_bufferPosition = theChar;
254 const XalanDOMChar* theChars,
259 write((
unsigned int)theChars[i]);
265 const XalanDOMChar chars[],
269 XalanDOMChar ch = chars[start];
273 write((
unsigned int)ch);
277 if (start + 1 >= length)
299 const XalanDOMChar* theChars,
310 if (i + 1 >= theLength)
323 write((
unsigned int)ch);
346 m_bufferPosition = m_buffer;
347 m_bufferRemaining = kBufferSize;
353 write(
unsigned int theChar)
357 write(
char(theChar));
359 else if (theChar <= 0x7FF)
361 if (m_bufferRemaining < 2)
371 m_bufferRemaining -= 2;
373 else if (theChar <= 0xFFFF)
376 assert(theChar < 0xD800 || theChar > 0xDBFF);
377 assert(theChar < 0xDC00 || theChar > 0xDFFF);
379 if (m_bufferRemaining < 3)
391 m_bufferRemaining -= 3;
393 else if (theChar <= 0x10FFFF)
395 if (m_bufferRemaining < 4)
409 m_bufferRemaining -= 4;
433 XALAN_CPP_NAMESPACE_END
437 #endif // XALANUTF8WRITER_HEADER_GUARD_1357924680
void write(const value_type *theChars, XalanDOMString::size_type theLength)
Definition: XalanUTF8Writer.hpp:189
size_type length() const
Definition: XalanDOMString.hpp:209
Definition: XalanUTF8Writer.hpp:108
void writeCommentChars(const XalanDOMChar *data, size_type theLength)
Writes name chars , if not presentable, throws.
Definition: XalanUTF8Writer.hpp:171
void safeWriteContent(const XalanDOMChar *theChars, XalanDOMString::size_type theLength)
Definition: XalanUTF8Writer.hpp:178
virtual void write(const char *s, size_t theOffset=0, size_t theLength=npos)=0
Writes a string.
void write(const XalanDOMString &theChars)
Definition: XalanUTF8Writer.hpp:231
Definition: Writer.hpp:42
void writePIChars(const XalanDOMChar *data, size_type theLength)
Writes name chars , if not presentable, throws.
Definition: XalanUTF8Writer.hpp:162
char bits7to11(unsigned int theChar)
Definition: XalanUTF8Writer.hpp:61
char bits13to18(unsigned int theChar)
Definition: XalanUTF8Writer.hpp:37
char leadingByteOf3(char theBits)
Definition: XalanUTF8Writer.hpp:85
char leadingByteOf4(char theBits)
Definition: XalanUTF8Writer.hpp:93
void write(const XalanDOMChar *theChars)
Definition: XalanUTF8Writer.hpp:225
XALAN_CPP_NAMESPACE_BEGIN char bits19to21(unsigned int theChar)
Definition: XalanUTF8Writer.hpp:29
size_type writeCDATAChar(const XalanDOMChar chars[], size_type start, size_type length, bool &)
Definition: XalanUTF8Writer.hpp:139
void write(const XalanDOMChar *theChars, XalanDOMString::size_type theLength)
Definition: XalanUTF8Writer.hpp:253
void outputNewline()
Output a line break.
Definition: XalanUTF8Writer.hpp:128
void write(value_type theChar)
Definition: XalanUTF8Writer.hpp:237
virtual void flush()=0
Flush the stream.
size_type write(const XalanDOMChar chars[], XalanDOMString::size_type start, XalanDOMString::size_type length)
Definition: XalanUTF8Writer.hpp:264
char bits13to16(unsigned int theChar)
Definition: XalanUTF8Writer.hpp:45
const XalanDOMChar * c_str() const
Definition: XalanDOMString.hpp:314
char bits1to6(unsigned int theChar)
Definition: XalanUTF8Writer.hpp:69
char bits7to12(unsigned int theChar)
Definition: XalanUTF8Writer.hpp:53
XalanUTF8Writer(Writer &writer, MemoryManager &theMemoryManager)
virtual ~XalanUTF8Writer()
Definition: XalanUTF8Writer.hpp:120
char trailingByte(char theBits)
Definition: XalanUTF8Writer.hpp:101
char leadingByteOf2(char theBits)
Definition: XalanUTF8Writer.hpp:77
void flushWriter()
Definition: XalanUTF8Writer.hpp:336
Definition: XalanDOMString.hpp:42
void flushBuffer()
Definition: XalanUTF8Writer.hpp:342
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
Definition: DOMStringHelper.hpp:277
unsigned int size_type
Definition: XalanDOMString.hpp:53
void write(const value_type *theChars)
Definition: XalanUTF8Writer.hpp:330
char value_type
Definition: XalanUTF8Writer.hpp:112
void writeSafe(const XalanDOMChar *theChars, XalanDOMString::size_type theLength)
Definition: XalanUTF8Writer.hpp:298
void writeNameChar(const XalanDOMChar *data, size_type theLength)
Writes name chars , if not presentable, throws.
Definition: XalanUTF8Writer.hpp:153