You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

396 lines
40 KiB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
  5. <meta http-equiv="X-UA-Compatible" content="IE=9"/>
  6. <meta name="generator" content="Doxygen 1.8.9.1"/>
  7. <title>Xerces-C++: MemBufInputSource Class Reference</title>
  8. <link href="tabs.css" rel="stylesheet" type="text/css"/>
  9. <script type="text/javascript" src="jquery.js"></script>
  10. <script type="text/javascript" src="dynsections.js"></script>
  11. <link href="doxygen.css" rel="stylesheet" type="text/css" />
  12. </head>
  13. <body>
  14. <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
  15. <div id="titlearea">
  16. <table cellspacing="0" cellpadding="0">
  17. <tbody>
  18. <tr style="height: 56px;">
  19. <td style="padding-left: 0.5em;">
  20. <div id="projectname">Xerces-C++
  21. &#160;<span id="projectnumber">3.1.2</span>
  22. </div>
  23. </td>
  24. </tr>
  25. </tbody>
  26. </table>
  27. </div>
  28. <!-- end header part -->
  29. <!-- Generated by Doxygen 1.8.9.1 -->
  30. <div id="navrow1" class="tabs">
  31. <ul class="tablist">
  32. <li><a href="index.html"><span>Main&#160;Page</span></a></li>
  33. <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
  34. <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
  35. <li><a href="files.html"><span>Files</span></a></li>
  36. </ul>
  37. </div>
  38. <div id="navrow2" class="tabs2">
  39. <ul class="tablist">
  40. <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
  41. <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
  42. <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
  43. <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
  44. </ul>
  45. </div>
  46. </div><!-- top -->
  47. <div class="header">
  48. <div class="summary">
  49. <a href="classMemBufInputSource-members.html">List of all members</a> </div>
  50. <div class="headertitle">
  51. <div class="title">MemBufInputSource Class Reference</div> </div>
  52. </div><!--header-->
  53. <div class="contents">
  54. <p>This class is a derivative of the standard <a class="el" href="classInputSource.html" title="A single input source for an XML entity. ">InputSource</a> class.
  55. <a href="classMemBufInputSource.html#details">More...</a></p>
  56. <div class="dynheader">
  57. Inheritance diagram for MemBufInputSource:</div>
  58. <div class="dyncontent">
  59. <div class="center">
  60. <img src="classMemBufInputSource.png" usemap="#MemBufInputSource_map" alt=""/>
  61. <map id="MemBufInputSource_map" name="MemBufInputSource_map">
  62. <area href="classInputSource.html" title="A single input source for an XML entity. " alt="InputSource" shape="rect" coords="0,56,126,80"/>
  63. <area href="classXMemory.html" title="This class makes it possible to override the C++ memory management by adding new/delete operators to ..." alt="XMemory" shape="rect" coords="0,0,126,24"/>
  64. </map>
  65. </div></div>
  66. <table class="memberdecls">
  67. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
  68. Public Member Functions</h2></td></tr>
  69. <tr><td colspan="2"><div class="groupHeader">Constructors</div></td></tr>
  70. <tr class="memitem:a4ee7c41fa34cafaec11f3cd0776f89f5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemBufInputSource.html#a4ee7c41fa34cafaec11f3cd0776f89f5">MemBufInputSource</a> (const <a class="el" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const srcDocBytes, const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> byteCount, const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const bufId, const bool adoptBuffer=false, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
  71. <tr class="memdesc:a4ee7c41fa34cafaec11f3cd0776f89f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">A memory buffer input source is constructed from a buffer of byte data, and the count of bytes in that buffer. <a href="#a4ee7c41fa34cafaec11f3cd0776f89f5">More...</a><br /></td></tr>
  72. <tr class="separator:a4ee7c41fa34cafaec11f3cd0776f89f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
  73. <tr class="memitem:af8f95589003db627e20c763227fc2b9c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemBufInputSource.html#af8f95589003db627e20c763227fc2b9c">MemBufInputSource</a> (const <a class="el" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const srcDocBytes, const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> byteCount, const char *const bufId, const bool adoptBuffer=false, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
  74. <tr class="memdesc:af8f95589003db627e20c763227fc2b9c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This constructor is identical to the previous one, except that it takes the fake system id in local code page form and transcodes it internally. <a href="#af8f95589003db627e20c763227fc2b9c">More...</a><br /></td></tr>
  75. <tr class="separator:af8f95589003db627e20c763227fc2b9c"><td class="memSeparator" colspan="2">&#160;</td></tr>
  76. <tr><td colspan="2"><div class="groupHeader">Destructor</div></td></tr>
  77. <tr class="memitem:affbb36ae429a534de092d4914227ea8a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemBufInputSource.html#affbb36ae429a534de092d4914227ea8a">~MemBufInputSource</a> ()</td></tr>
  78. <tr class="memdesc:affbb36ae429a534de092d4914227ea8a"><td class="mdescLeft">&#160;</td><td class="mdescRight">If the buffer was adopted, the copy made during construction is deleted at this point. <a href="#affbb36ae429a534de092d4914227ea8a">More...</a><br /></td></tr>
  79. <tr class="separator:affbb36ae429a534de092d4914227ea8a"><td class="memSeparator" colspan="2">&#160;</td></tr>
  80. <tr><td colspan="2"><div class="groupHeader">Virtual methods</div></td></tr>
  81. <tr class="memitem:a379bcdf65aba95c480f2eb5adf41e108"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classBinInputStream.html">BinInputStream</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemBufInputSource.html#a379bcdf65aba95c480f2eb5adf41e108">makeStream</a> () const </td></tr>
  82. <tr class="memdesc:a379bcdf65aba95c480f2eb5adf41e108"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method will return a binary input stream derivative that will parse from the memory buffer. <a href="#a379bcdf65aba95c480f2eb5adf41e108">More...</a><br /></td></tr>
  83. <tr class="separator:a379bcdf65aba95c480f2eb5adf41e108"><td class="memSeparator" colspan="2">&#160;</td></tr>
  84. <tr><td colspan="2"><div class="groupHeader">Setter methods</div></td></tr>
  85. <tr class="memitem:a02cc5d7442c2cf87620b59fb55b0ab26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemBufInputSource.html#a02cc5d7442c2cf87620b59fb55b0ab26">setCopyBufToStream</a> (const bool newState)</td></tr>
  86. <tr class="memdesc:a02cc5d7442c2cf87620b59fb55b0ab26"><td class="mdescLeft">&#160;</td><td class="mdescRight">By default, for safety's sake, each newly created stream from this input source will make its own copy of the buffer to stream from. <a href="#a02cc5d7442c2cf87620b59fb55b0ab26">More...</a><br /></td></tr>
  87. <tr class="separator:a02cc5d7442c2cf87620b59fb55b0ab26"><td class="memSeparator" colspan="2">&#160;</td></tr>
  88. <tr class="memitem:a9894b7cc0b6560911bedf78040c6c597"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classMemBufInputSource.html#a9894b7cc0b6560911bedf78040c6c597">resetMemBufInputSource</a> (const <a class="el" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const srcDocBytes, const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a> byteCount)</td></tr>
  89. <tr class="memdesc:a9894b7cc0b6560911bedf78040c6c597"><td class="mdescLeft">&#160;</td><td class="mdescRight">This methods allows the <a class="el" href="classMemBufInputSource.html" title="This class is a derivative of the standard InputSource class. ">MemBufInputSource</a> to be used for more than one input source, instead of destructing/constructing another <a class="el" href="classMemBufInputSource.html" title="This class is a derivative of the standard InputSource class. ">MemBufInputSource</a>. <a href="#a9894b7cc0b6560911bedf78040c6c597">More...</a><br /></td></tr>
  90. <tr class="separator:a9894b7cc0b6560911bedf78040c6c597"><td class="memSeparator" colspan="2">&#160;</td></tr>
  91. <tr class="inherit_header pub_methods_classInputSource"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classInputSource')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classInputSource.html">InputSource</a></td></tr>
  92. <tr class="memitem:a09958a0275a39a619a5b64b3e86e76ed inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a09958a0275a39a619a5b64b3e86e76ed">~InputSource</a> ()</td></tr>
  93. <tr class="memdesc:a09958a0275a39a619a5b64b3e86e76ed inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <a href="#a09958a0275a39a619a5b64b3e86e76ed">More...</a><br /></td></tr>
  94. <tr class="separator:a09958a0275a39a619a5b64b3e86e76ed inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  95. <tr class="memitem:a70b363bf9af9aa831b40f4cceebd1d75 inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a70b363bf9af9aa831b40f4cceebd1d75">getEncoding</a> () const </td></tr>
  96. <tr class="memdesc:a70b363bf9af9aa831b40f4cceebd1d75 inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">An input source can be set to force the parser to assume a particular encoding for the data that input source represents, via the <a class="el" href="classInputSource.html#a7604c9a16a6104bfae0a185f8879c74b" title="Set the encoding which will be required for use with the XML text read via a stream opened by this in...">setEncoding()</a> method. <a href="#a70b363bf9af9aa831b40f4cceebd1d75">More...</a><br /></td></tr>
  97. <tr class="separator:a70b363bf9af9aa831b40f4cceebd1d75 inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  98. <tr class="memitem:a394888614a429622bf936b8253542cfb inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a394888614a429622bf936b8253542cfb">getPublicId</a> () const </td></tr>
  99. <tr class="memdesc:a394888614a429622bf936b8253542cfb inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the public identifier for this input source. <a href="#a394888614a429622bf936b8253542cfb">More...</a><br /></td></tr>
  100. <tr class="separator:a394888614a429622bf936b8253542cfb inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  101. <tr class="memitem:a0ab7381f8cf189abc2b97fe22dacb31e inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a0ab7381f8cf189abc2b97fe22dacb31e">getSystemId</a> () const </td></tr>
  102. <tr class="memdesc:a0ab7381f8cf189abc2b97fe22dacb31e inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the system identifier for this input source. <a href="#a0ab7381f8cf189abc2b97fe22dacb31e">More...</a><br /></td></tr>
  103. <tr class="separator:a0ab7381f8cf189abc2b97fe22dacb31e inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  104. <tr class="memitem:a4b8eee7896615e4e2ddb9acbc72543ed inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a4b8eee7896615e4e2ddb9acbc72543ed">getIssueFatalErrorIfNotFound</a> () const </td></tr>
  105. <tr class="memdesc:a4b8eee7896615e4e2ddb9acbc72543ed inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the flag that indicates if the parser should issue fatal error if this input source is not found. <a href="#a4b8eee7896615e4e2ddb9acbc72543ed">More...</a><br /></td></tr>
  106. <tr class="separator:a4b8eee7896615e4e2ddb9acbc72543ed inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  107. <tr class="memitem:a8abf186a8be413a303fc9847268c3446 inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classMemoryManager.html">MemoryManager</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a8abf186a8be413a303fc9847268c3446">getMemoryManager</a> () const </td></tr>
  108. <tr class="separator:a8abf186a8be413a303fc9847268c3446 inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  109. <tr class="memitem:a7604c9a16a6104bfae0a185f8879c74b inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a7604c9a16a6104bfae0a185f8879c74b">setEncoding</a> (const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const encodingStr)</td></tr>
  110. <tr class="memdesc:a7604c9a16a6104bfae0a185f8879c74b inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the encoding which will be required for use with the XML text read via a stream opened by this input source. <a href="#a7604c9a16a6104bfae0a185f8879c74b">More...</a><br /></td></tr>
  111. <tr class="separator:a7604c9a16a6104bfae0a185f8879c74b inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  112. <tr class="memitem:a4cb3a625fac37721b2c719183e124792 inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a4cb3a625fac37721b2c719183e124792">setPublicId</a> (const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const publicId)</td></tr>
  113. <tr class="memdesc:a4cb3a625fac37721b2c719183e124792 inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the public identifier for this input source. <a href="#a4cb3a625fac37721b2c719183e124792">More...</a><br /></td></tr>
  114. <tr class="separator:a4cb3a625fac37721b2c719183e124792 inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  115. <tr class="memitem:a08045f4fc62d1b4ba2da457365073d3e inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a08045f4fc62d1b4ba2da457365073d3e">setSystemId</a> (const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const systemId)</td></tr>
  116. <tr class="memdesc:a08045f4fc62d1b4ba2da457365073d3e inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the system identifier for this input source. <a href="#a08045f4fc62d1b4ba2da457365073d3e">More...</a><br /></td></tr>
  117. <tr class="separator:a08045f4fc62d1b4ba2da457365073d3e inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  118. <tr class="memitem:a7fc1468bd6a6bb15111273c45e81a9b6 inherit pub_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a7fc1468bd6a6bb15111273c45e81a9b6">setIssueFatalErrorIfNotFound</a> (const bool flag)</td></tr>
  119. <tr class="memdesc:a7fc1468bd6a6bb15111273c45e81a9b6 inherit pub_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates if the parser should issue fatal error if this input source is not found. <a href="#a7fc1468bd6a6bb15111273c45e81a9b6">More...</a><br /></td></tr>
  120. <tr class="separator:a7fc1468bd6a6bb15111273c45e81a9b6 inherit pub_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  121. <tr class="inherit_header pub_methods_classXMemory"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classXMemory')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classXMemory.html">XMemory</a></td></tr>
  122. <tr class="memitem:a717678d9deadc627a41fe0dddede9f7f inherit pub_methods_classXMemory"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a717678d9deadc627a41fe0dddede9f7f">operator new</a> (size_t size)</td></tr>
  123. <tr class="memdesc:a717678d9deadc627a41fe0dddede9f7f inherit pub_methods_classXMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method overrides operator new. <a href="#a717678d9deadc627a41fe0dddede9f7f">More...</a><br /></td></tr>
  124. <tr class="separator:a717678d9deadc627a41fe0dddede9f7f inherit pub_methods_classXMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
  125. <tr class="memitem:ac3022fcc968c684a31c1e6a9ede83c10 inherit pub_methods_classXMemory"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#ac3022fcc968c684a31c1e6a9ede83c10">operator new</a> (size_t size, <a class="el" href="classMemoryManager.html">MemoryManager</a> *memMgr)</td></tr>
  126. <tr class="memdesc:ac3022fcc968c684a31c1e6a9ede83c10 inherit pub_methods_classXMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method defines a custom operator new, that will use the provided memory manager to perform the allocation. <a href="#ac3022fcc968c684a31c1e6a9ede83c10">More...</a><br /></td></tr>
  127. <tr class="separator:ac3022fcc968c684a31c1e6a9ede83c10 inherit pub_methods_classXMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
  128. <tr class="memitem:aeaad885b799ac2188ffd28f76182339c inherit pub_methods_classXMemory"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#aeaad885b799ac2188ffd28f76182339c">operator new</a> (size_t size, void *ptr)</td></tr>
  129. <tr class="memdesc:aeaad885b799ac2188ffd28f76182339c inherit pub_methods_classXMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method overrides placement operator new. <a href="#aeaad885b799ac2188ffd28f76182339c">More...</a><br /></td></tr>
  130. <tr class="separator:aeaad885b799ac2188ffd28f76182339c inherit pub_methods_classXMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
  131. <tr class="memitem:a9da30f1601ea458908cbf150fc2f8f8b inherit pub_methods_classXMemory"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a9da30f1601ea458908cbf150fc2f8f8b">operator delete</a> (void *p)</td></tr>
  132. <tr class="memdesc:a9da30f1601ea458908cbf150fc2f8f8b inherit pub_methods_classXMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method overrides operator delete. <a href="#a9da30f1601ea458908cbf150fc2f8f8b">More...</a><br /></td></tr>
  133. <tr class="separator:a9da30f1601ea458908cbf150fc2f8f8b inherit pub_methods_classXMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
  134. <tr class="memitem:a22efbc6459bdbe79f83b7791bba4d1f6 inherit pub_methods_classXMemory"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a22efbc6459bdbe79f83b7791bba4d1f6">operator delete</a> (void *p, <a class="el" href="classMemoryManager.html">MemoryManager</a> *memMgr)</td></tr>
  135. <tr class="memdesc:a22efbc6459bdbe79f83b7791bba4d1f6 inherit pub_methods_classXMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method provides a matching delete for the custom operator new. <a href="#a22efbc6459bdbe79f83b7791bba4d1f6">More...</a><br /></td></tr>
  136. <tr class="separator:a22efbc6459bdbe79f83b7791bba4d1f6 inherit pub_methods_classXMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
  137. <tr class="memitem:a32ee38b70d412e12f669cfbd86adf623 inherit pub_methods_classXMemory"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#a32ee38b70d412e12f669cfbd86adf623">operator delete</a> (void *p, void *ptr)</td></tr>
  138. <tr class="memdesc:a32ee38b70d412e12f669cfbd86adf623 inherit pub_methods_classXMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">This method provides a matching delete for the placement new. <a href="#a32ee38b70d412e12f669cfbd86adf623">More...</a><br /></td></tr>
  139. <tr class="separator:a32ee38b70d412e12f669cfbd86adf623 inherit pub_methods_classXMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
  140. </table><table class="memberdecls">
  141. <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="inherited"></a>
  142. Additional Inherited Members</h2></td></tr>
  143. <tr class="inherit_header pro_methods_classInputSource"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classInputSource')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classInputSource.html">InputSource</a></td></tr>
  144. <tr class="memitem:a601a7aa7124e2d8e9664eda9aea6b622 inherit pro_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a601a7aa7124e2d8e9664eda9aea6b622">InputSource</a> (<a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
  145. <tr class="memdesc:a601a7aa7124e2d8e9664eda9aea6b622 inherit pro_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <a href="#a601a7aa7124e2d8e9664eda9aea6b622">More...</a><br /></td></tr>
  146. <tr class="separator:a601a7aa7124e2d8e9664eda9aea6b622 inherit pro_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  147. <tr class="memitem:a6ac39778219ca114471e60459a829aee inherit pro_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#a6ac39778219ca114471e60459a829aee">InputSource</a> (const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const systemId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
  148. <tr class="memdesc:a6ac39778219ca114471e60459a829aee inherit pro_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with a system identifier as XMLCh type. <a href="#a6ac39778219ca114471e60459a829aee">More...</a><br /></td></tr>
  149. <tr class="separator:a6ac39778219ca114471e60459a829aee inherit pro_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  150. <tr class="memitem:ae001a9f156d185c83c30574992b7e388 inherit pro_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#ae001a9f156d185c83c30574992b7e388">InputSource</a> (const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const systemId, const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const publicId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
  151. <tr class="memdesc:ae001a9f156d185c83c30574992b7e388 inherit pro_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor with a system and public identifiers. <a href="#ae001a9f156d185c83c30574992b7e388">More...</a><br /></td></tr>
  152. <tr class="separator:ae001a9f156d185c83c30574992b7e388 inherit pro_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  153. <tr class="memitem:aaba282a5740ad84b756f698465557318 inherit pro_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#aaba282a5740ad84b756f698465557318">InputSource</a> (const char *const systemId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
  154. <tr class="memdesc:aaba282a5740ad84b756f698465557318 inherit pro_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor witha system identifier as string. <a href="#aaba282a5740ad84b756f698465557318">More...</a><br /></td></tr>
  155. <tr class="separator:aaba282a5740ad84b756f698465557318 inherit pro_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  156. <tr class="memitem:ad507e9f25ec6dac7f07d23a8ee0dcc45 inherit pro_methods_classInputSource"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classInputSource.html#ad507e9f25ec6dac7f07d23a8ee0dcc45">InputSource</a> (const char *const systemId, const char *const publicId, <a class="el" href="classMemoryManager.html">MemoryManager</a> *const manager=<a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a>)</td></tr>
  157. <tr class="memdesc:ad507e9f25ec6dac7f07d23a8ee0dcc45 inherit pro_methods_classInputSource"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor witha system and public identifiers. <a href="#ad507e9f25ec6dac7f07d23a8ee0dcc45">More...</a><br /></td></tr>
  158. <tr class="separator:ad507e9f25ec6dac7f07d23a8ee0dcc45 inherit pro_methods_classInputSource"><td class="memSeparator" colspan="2">&#160;</td></tr>
  159. <tr class="inherit_header pro_methods_classXMemory"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classXMemory')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classXMemory.html">XMemory</a></td></tr>
  160. <tr class="memitem:ae5b8adaa10d5d9276b42823f47e06858 inherit pro_methods_classXMemory"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classXMemory.html#ae5b8adaa10d5d9276b42823f47e06858">XMemory</a> ()</td></tr>
  161. <tr class="memdesc:ae5b8adaa10d5d9276b42823f47e06858 inherit pro_methods_classXMemory"><td class="mdescLeft">&#160;</td><td class="mdescRight">Protected default constructor. <a href="#ae5b8adaa10d5d9276b42823f47e06858">More...</a><br /></td></tr>
  162. <tr class="separator:ae5b8adaa10d5d9276b42823f47e06858 inherit pro_methods_classXMemory"><td class="memSeparator" colspan="2">&#160;</td></tr>
  163. </table>
  164. <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
  165. <div class="textblock"><p>This class is a derivative of the standard <a class="el" href="classInputSource.html" title="A single input source for an XML entity. ">InputSource</a> class. </p>
  166. <p>It provides for the parser access to data stored in a memory buffer. The type of buffer and its host specific attributes are of little concern here. The only real requirement is that the memory be readable by the current process.</p>
  167. <p>Note that the memory buffer size is expressed in <b>bytes</b>, not in characters. If you pass it text data, you must account for the bytes per character when indicating the buffer size.</p>
  168. <p>As with all <a class="el" href="classInputSource.html" title="A single input source for an XML entity. ">InputSource</a> derivatives. The primary objective of an input source is to create an input stream via which the parser can spool in data from the referenced source. In this case, there are two options available.</p>
  169. <p>The passed buffer can be adopted or merely referenced. If it is adopted, then it must be dynamically allocated and will be destroyed when the input source is destroyed (no reference counting!.) If not adopted, the caller must insure that it remains valid until the input source object is destroyed.</p>
  170. <p>The other option indicates whether each stream created for this input source should get its own copy of the data, or whether it should just stream the data directly from this object's copy of the data. The same rules apply here, in that the buffer must either be copied by the stream or it must remain valid until the stream is destroyed. </p>
  171. </div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
  172. <a class="anchor" id="a4ee7c41fa34cafaec11f3cd0776f89f5"></a>
  173. <div class="memitem">
  174. <div class="memproto">
  175. <table class="memname">
  176. <tr>
  177. <td class="memname">MemBufInputSource::MemBufInputSource </td>
  178. <td>(</td>
  179. <td class="paramtype">const <a class="el" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const&#160;</td>
  180. <td class="paramname"><em>srcDocBytes</em>, </td>
  181. </tr>
  182. <tr>
  183. <td class="paramkey"></td>
  184. <td></td>
  185. <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a>&#160;</td>
  186. <td class="paramname"><em>byteCount</em>, </td>
  187. </tr>
  188. <tr>
  189. <td class="paramkey"></td>
  190. <td></td>
  191. <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#a8cb107980a360c490ad7661f5d27cc0e">XMLCh</a> *const&#160;</td>
  192. <td class="paramname"><em>bufId</em>, </td>
  193. </tr>
  194. <tr>
  195. <td class="paramkey"></td>
  196. <td></td>
  197. <td class="paramtype">const bool&#160;</td>
  198. <td class="paramname"><em>adoptBuffer</em> = <code>false</code>, </td>
  199. </tr>
  200. <tr>
  201. <td class="paramkey"></td>
  202. <td></td>
  203. <td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const&#160;</td>
  204. <td class="paramname"><em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code>&#160;</td>
  205. </tr>
  206. <tr>
  207. <td></td>
  208. <td>)</td>
  209. <td></td><td></td>
  210. </tr>
  211. </table>
  212. </div><div class="memdoc">
  213. <p>A memory buffer input source is constructed from a buffer of byte data, and the count of bytes in that buffer. </p>
  214. <p>The parser will parse from this memory buffer until it has eaten the indicated number of bytes.</p>
  215. <p>Note that the system id provided serves two purposes. Firstly it is going to be displayed in error messages as the source of the error. And secondly, any entities which are referred to from this entity via relative paths/URLs will be relative to this fake system id.</p>
  216. <dl class="params"><dt>Parameters</dt><dd>
  217. <table class="params">
  218. <tr><td class="paramname">srcDocBytes</td><td>The actual data buffer to be parsed from. </td></tr>
  219. <tr><td class="paramname">byteCount</td><td>The count of bytes (not characters, bytes!) in the buffer. </td></tr>
  220. <tr><td class="paramname">bufId</td><td>A fake system id for the buffer. </td></tr>
  221. <tr><td class="paramname">adoptBuffer</td><td>Indicates whether this object should adopt the buffer (i.e. become responsible for deletion) or just use it in place. </td></tr>
  222. <tr><td class="paramname">manager</td><td>Pointer to the memory manager to be used to allocate objects. </td></tr>
  223. </table>
  224. </dd>
  225. </dl>
  226. </div>
  227. </div>
  228. <a class="anchor" id="af8f95589003db627e20c763227fc2b9c"></a>
  229. <div class="memitem">
  230. <div class="memproto">
  231. <table class="memname">
  232. <tr>
  233. <td class="memname">MemBufInputSource::MemBufInputSource </td>
  234. <td>(</td>
  235. <td class="paramtype">const <a class="el" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const&#160;</td>
  236. <td class="paramname"><em>srcDocBytes</em>, </td>
  237. </tr>
  238. <tr>
  239. <td class="paramkey"></td>
  240. <td></td>
  241. <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a>&#160;</td>
  242. <td class="paramname"><em>byteCount</em>, </td>
  243. </tr>
  244. <tr>
  245. <td class="paramkey"></td>
  246. <td></td>
  247. <td class="paramtype">const char *const&#160;</td>
  248. <td class="paramname"><em>bufId</em>, </td>
  249. </tr>
  250. <tr>
  251. <td class="paramkey"></td>
  252. <td></td>
  253. <td class="paramtype">const bool&#160;</td>
  254. <td class="paramname"><em>adoptBuffer</em> = <code>false</code>, </td>
  255. </tr>
  256. <tr>
  257. <td class="paramkey"></td>
  258. <td></td>
  259. <td class="paramtype"><a class="el" href="classMemoryManager.html">MemoryManager</a> *const&#160;</td>
  260. <td class="paramname"><em>manager</em> = <code><a class="el" href="classXMLPlatformUtils.html#a97eff0d9fff3567bea3acd3ca4d95252">XMLPlatformUtils::fgMemoryManager</a></code>&#160;</td>
  261. </tr>
  262. <tr>
  263. <td></td>
  264. <td>)</td>
  265. <td></td><td></td>
  266. </tr>
  267. </table>
  268. </div><div class="memdoc">
  269. <p>This constructor is identical to the previous one, except that it takes the fake system id in local code page form and transcodes it internally. </p>
  270. </div>
  271. </div>
  272. <a class="anchor" id="affbb36ae429a534de092d4914227ea8a"></a>
  273. <div class="memitem">
  274. <div class="memproto">
  275. <table class="memname">
  276. <tr>
  277. <td class="memname">MemBufInputSource::~MemBufInputSource </td>
  278. <td>(</td>
  279. <td class="paramname"></td><td>)</td>
  280. <td></td>
  281. </tr>
  282. </table>
  283. </div><div class="memdoc">
  284. <p>If the buffer was adopted, the copy made during construction is deleted at this point. </p>
  285. </div>
  286. </div>
  287. <h2 class="groupheader">Member Function Documentation</h2>
  288. <a class="anchor" id="a379bcdf65aba95c480f2eb5adf41e108"></a>
  289. <div class="memitem">
  290. <div class="memproto">
  291. <table class="mlabels">
  292. <tr>
  293. <td class="mlabels-left">
  294. <table class="memname">
  295. <tr>
  296. <td class="memname"><a class="el" href="classBinInputStream.html">BinInputStream</a>* MemBufInputSource::makeStream </td>
  297. <td>(</td>
  298. <td class="paramname"></td><td>)</td>
  299. <td> const</td>
  300. </tr>
  301. </table>
  302. </td>
  303. <td class="mlabels-right">
  304. <span class="mlabels"><span class="mlabel">virtual</span></span> </td>
  305. </tr>
  306. </table>
  307. </div><div class="memdoc">
  308. <p>This method will return a binary input stream derivative that will parse from the memory buffer. </p>
  309. <p>If <a class="el" href="classMemBufInputSource.html#a02cc5d7442c2cf87620b59fb55b0ab26" title="By default, for safety&#39;s sake, each newly created stream from this input source will make its own cop...">setCopyBufToStream()</a> has been set, then the stream will make its own copy. Otherwise, it will use the buffer as is (in which case it must remain valid until the stream is no longer in use, i.e. the parse completes.)</p>
  310. <dl class="section return"><dt>Returns</dt><dd>A dynamically allocated binary input stream derivative that can parse from the memory buffer. </dd></dl>
  311. <p>Implements <a class="el" href="classInputSource.html#af0722ef511e91e7b290528b3fd13be09">InputSource</a>.</p>
  312. </div>
  313. </div>
  314. <a class="anchor" id="a9894b7cc0b6560911bedf78040c6c597"></a>
  315. <div class="memitem">
  316. <div class="memproto">
  317. <table class="memname">
  318. <tr>
  319. <td class="memname">void MemBufInputSource::resetMemBufInputSource </td>
  320. <td>(</td>
  321. <td class="paramtype">const <a class="el" href="XercesDefs_8hpp.html#a7470c7a32c59355685ebcd878a33f126">XMLByte</a> *const&#160;</td>
  322. <td class="paramname"><em>srcDocBytes</em>, </td>
  323. </tr>
  324. <tr>
  325. <td class="paramkey"></td>
  326. <td></td>
  327. <td class="paramtype">const <a class="el" href="Xerces__autoconf__config_8borland_8hpp.html#ac0f7e36996cd03eb43bcee10321f77cd">XMLSize_t</a>&#160;</td>
  328. <td class="paramname"><em>byteCount</em>&#160;</td>
  329. </tr>
  330. <tr>
  331. <td></td>
  332. <td>)</td>
  333. <td></td><td></td>
  334. </tr>
  335. </table>
  336. </div><div class="memdoc">
  337. <p>This methods allows the <a class="el" href="classMemBufInputSource.html" title="This class is a derivative of the standard InputSource class. ">MemBufInputSource</a> to be used for more than one input source, instead of destructing/constructing another <a class="el" href="classMemBufInputSource.html" title="This class is a derivative of the standard InputSource class. ">MemBufInputSource</a>. </p>
  338. <dl class="params"><dt>Parameters</dt><dd>
  339. <table class="params">
  340. <tr><td class="paramname">srcDocBytes</td><td>The actual data buffer to be parsed from. </td></tr>
  341. <tr><td class="paramname">byteCount</td><td>The count of bytes (not characters, bytes!) in the buffer. </td></tr>
  342. </table>
  343. </dd>
  344. </dl>
  345. </div>
  346. </div>
  347. <a class="anchor" id="a02cc5d7442c2cf87620b59fb55b0ab26"></a>
  348. <div class="memitem">
  349. <div class="memproto">
  350. <table class="memname">
  351. <tr>
  352. <td class="memname">void MemBufInputSource::setCopyBufToStream </td>
  353. <td>(</td>
  354. <td class="paramtype">const bool&#160;</td>
  355. <td class="paramname"><em>newState</em></td><td>)</td>
  356. <td></td>
  357. </tr>
  358. </table>
  359. </div><div class="memdoc">
  360. <p>By default, for safety's sake, each newly created stream from this input source will make its own copy of the buffer to stream from. </p>
  361. <p>This avoids having to deal with aliasing of the buffer for simple work. But, for higher performance applications or for large buffers, this is obviously not optimal.</p>
  362. <p>In such cases, you can call this method to turn off that default action. Once turned off, the streams will just get a pointer to the buffer and parse directly from that. In this case, you must insure that the buffer remains valid for as long as any parse events are still using it.</p>
  363. <dl class="params"><dt>Parameters</dt><dd>
  364. <table class="params">
  365. <tr><td class="paramname">newState</td><td>The new boolean flag state to set. </td></tr>
  366. </table>
  367. </dd>
  368. </dl>
  369. </div>
  370. </div>
  371. <hr/>The documentation for this class was generated from the following file:<ul>
  372. <li><a class="el" href="MemBufInputSource_8hpp_source.html">MemBufInputSource.hpp</a></li>
  373. </ul>
  374. </div><!-- contents -->
  375. <!-- start footer part -->
  376. <hr class="footer"/><address class="footer"><small>
  377. Generated on Wed Mar 18 2015 10:43:38 for Xerces-C++ by &#160;<a href="http://www.doxygen.org/index.html">
  378. <img class="footer" src="doxygen.png" alt="doxygen"/>
  379. </a> 1.8.9.1
  380. </small></address>
  381. </body>
  382. </html>