<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>HTML Tidy: _TidyAllocatorVtbl Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="contents"> <h1>_TidyAllocatorVtbl Struct Reference<br/> <small> [<a class="el" href="group__Memory.html">Memory Allocation</a>]</small> </h1><!-- doxytag: class="_TidyAllocatorVtbl" --> <p><code>#include <<a class="el" href="tidy_8h_source.html">tidy.h</a>></code></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">void *TIDY_CALL * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__TidyAllocatorVtbl.html#ac89bb7f5b58fcb5b31a1560705f3b817">alloc</a> (<a class="el" href="struct__TidyAllocator.html">TidyAllocator</a> *self, size_t nBytes)</td></tr> <tr><td class="memItemLeft" align="right" valign="top">void *TIDY_CALL * </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__TidyAllocatorVtbl.html#a0cad0dd2aa75a20573fc46f25460a5cc">realloc</a> (<a class="el" href="struct__TidyAllocator.html">TidyAllocator</a> *self, void *block, size_t nBytes)</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__TidyAllocatorVtbl.html#a1e453d5e80b35fe3c6c15512c6b95aa5">void</a> (TIDY_CALL *free)(<a class="el" href="struct__TidyAllocator.html">TidyAllocator</a> *self</td></tr> <tr><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="struct__TidyAllocatorVtbl.html#a4ecb749644f9253427eb53028363d01d">void</a> (TIDY_CALL *panic)(<a class="el" href="struct__TidyAllocator.html">TidyAllocator</a> *self</td></tr> <tr><td colspan="2"><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a098a1144e7222917467b007f7a5001fc"></a><!-- doxytag: member="_TidyAllocatorVtbl::block" ref="a098a1144e7222917467b007f7a5001fc" args="" --> void * </td><td class="memItemRight" valign="bottom"><b>block</b></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a93b8f23e78a6636c055ecc9ff13aadb3"></a><!-- doxytag: member="_TidyAllocatorVtbl::msg" ref="a93b8f23e78a6636c055ecc9ff13aadb3" args="" --> ctmbstr </td><td class="memItemRight" valign="bottom"><b>msg</b></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>An allocator's function table. All functions here must be provided. </p> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="ac89bb7f5b58fcb5b31a1560705f3b817"></a><!-- doxytag: member="_TidyAllocatorVtbl::alloc" ref="ac89bb7f5b58fcb5b31a1560705f3b817" args="(TidyAllocator *self, size_t nBytes)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* TIDY_CALL* _TidyAllocatorVtbl::alloc </td> <td>(</td> <td class="paramtype"><a class="el" href="struct__TidyAllocator.html">TidyAllocator</a> * </td> <td class="paramname"> <em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>nBytes</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Called to allocate a block of nBytes of memory </p> </div> </div> <a class="anchor" id="a0cad0dd2aa75a20573fc46f25460a5cc"></a><!-- doxytag: member="_TidyAllocatorVtbl::realloc" ref="a0cad0dd2aa75a20573fc46f25460a5cc" args="(TidyAllocator *self, void *block, size_t nBytes)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* TIDY_CALL* _TidyAllocatorVtbl::realloc </td> <td>(</td> <td class="paramtype"><a class="el" href="struct__TidyAllocator.html">TidyAllocator</a> * </td> <td class="paramname"> <em>self</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>block</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>nBytes</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Called to resize (grow, in general) a block of memory. Must support being called with NULL. </p> </div> </div> <a class="anchor" id="a1e453d5e80b35fe3c6c15512c6b95aa5"></a><!-- doxytag: member="_TidyAllocatorVtbl::void" ref="a1e453d5e80b35fe3c6c15512c6b95aa5" args="(TIDY_CALL *free)(TidyAllocator *self" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_TidyAllocatorVtbl::void </td> <td>(</td> <td class="paramtype">TIDY_CALL * </td> <td class="paramname"> <em>free</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Called to free a previously allocated block of memory </p> </div> </div> <a class="anchor" id="a4ecb749644f9253427eb53028363d01d"></a><!-- doxytag: member="_TidyAllocatorVtbl::void" ref="a4ecb749644f9253427eb53028363d01d" args="(TIDY_CALL *panic)(TidyAllocator *self" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">_TidyAllocatorVtbl::void </td> <td>(</td> <td class="paramtype">TIDY_CALL * </td> <td class="paramname"> <em>panic</em></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Called when a panic condition is detected. Must support block == NULL. This function is not called if either alloc or realloc fails; it is up to the allocator to do this. Currently this function can only be called if an error is detected in the tree integrity via the internal function CheckNodeIntegrity(). This is a situation that can only arise in the case of a programming error in tidylib. You can turn off node integrity checking by defining the constant NO_NODE_INTEGRITY_CHECK during the build. </p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li><a class="el" href="tidy_8h_source.html">tidy.h</a></li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on 3 Dec 2009 for HTML Tidy by <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>