Advertisement
Guest User

Untitled

a guest
Nov 26th, 2015
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.06 KB | None | 0 0
  1. TIXMLASSERT( sizeof( XMLComment ) == sizeof( XMLUnknown ) );        // use same memory pool
  2.     TIXMLASSERT( sizeof( XMLComment ) == sizeof( XMLDeclaration ) );    // use same memory pool
  3.     XMLNode* returnNode = 0;
  4.     if ( XMLUtil::StringEqual( p, xmlHeader, xmlHeaderLen ) ) {
  5.         TIXMLASSERT( sizeof( XMLDeclaration ) == _commentPool.ItemSize() );
  6.         returnNode = new (_commentPool.Alloc()) XMLDeclaration( this );
  7.         returnNode->_memPool = &_commentPool;
  8.         p += xmlHeaderLen;
  9.     }
  10.     else if ( XMLUtil::StringEqual( p, commentHeader, commentHeaderLen ) ) {
  11.         TIXMLASSERT( sizeof( XMLComment ) == _commentPool.ItemSize() );
  12.         returnNode = new (_commentPool.Alloc()) XMLComment( this );
  13.         returnNode->_memPool = &_commentPool;
  14.         p += commentHeaderLen;
  15.     }
  16.     else if ( XMLUtil::StringEqual( p, cdataHeader, cdataHeaderLen ) ) {
  17.         TIXMLASSERT( sizeof( XMLText ) == _textPool.ItemSize() );
  18.         XMLText* text = new (_textPool.Alloc()) XMLText( this );
  19.         returnNode = text;
  20.         returnNode->_memPool = &_textPool;
  21.         p += cdataHeaderLen;
  22.         text->SetCData( true );
  23.     }
  24.     else if ( XMLUtil::StringEqual( p, dtdHeader, dtdHeaderLen ) ) {
  25.         TIXMLASSERT( sizeof( XMLUnknown ) == _commentPool.ItemSize() );
  26.         returnNode = new (_commentPool.Alloc()) XMLUnknown( this );
  27.         returnNode->_memPool = &_commentPool;
  28.         p += dtdHeaderLen;
  29.     }
  30.     else if ( XMLUtil::StringEqual( p, elementHeader, elementHeaderLen ) ) {
  31.         TIXMLASSERT( sizeof( XMLElement ) == _elementPool.ItemSize() );
  32.         returnNode = new (_elementPool.Alloc()) XMLElement( this );
  33.         returnNode->_memPool = &_elementPool;
  34.         p += elementHeaderLen;
  35.     }
  36.     else {
  37.         TIXMLASSERT( sizeof( XMLText ) == _textPool.ItemSize() );
  38.         returnNode = new (_textPool.Alloc()) XMLText( this );
  39.         returnNode->_memPool = &_textPool;
  40.         p = start;  // Back it up, all the text counts.
  41.     }
  42.  
  43.     TIXMLASSERT( returnNode );
  44.     TIXMLASSERT( p );
  45.     *node = returnNode;
  46.     return p;
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement