📄 group__gdsl__2darray.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>gdsl: 2D-Arrays manipulation module</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.4.6 --><div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul></div><h1>2D-Arrays manipulation module</h1><p><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">typedef gdsl_2darray * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a></td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">GDSL 2D-array type. <a href="#gc57888c23d8aa9d6e16f6be67ea149a8"></a><br></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#g0bb00b11d1705236a70c4787670ee2c3">gdsl_2darray_alloc</a> (const char *NAME, const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> R, const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> C, const <a class="el" href="group__gdsl__types.html#g32a9b4e8b9665183c2741d28a5ced64f">gdsl_alloc_func_t</a> ALLOC_F, const <a class="el" href="group__gdsl__types.html#g2c6b3f96b291b5b39d2799f93e350053">gdsl_free_func_t</a> FREE_F)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Create a new 2D-array. <a href="#g0bb00b11d1705236a70c4787670ee2c3"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#gdd88f34b133a6b49e257567a57fbff0b">gdsl_2darray_free</a> (<a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy a 2D-array. <a href="#gdd88f34b133a6b49e257567a57fbff0b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#g43fecb137d5a152c8bd1310b93e14401">gdsl_2darray_get_name</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the name of a 2D-array. <a href="#g43fecb137d5a152c8bd1310b93e14401"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#g26492a4c0714888029b1691994a33998">gdsl_2darray_get_rows_number</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of rows of a 2D-array. <a href="#g26492a4c0714888029b1691994a33998"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#gd5f3ca5120e902ed23204bd52440d463">gdsl_2darray_get_columns_number</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the number of columns of a 2D-array. <a href="#gd5f3ca5120e902ed23204bd52440d463"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#gee2aa4a8f7112592ee19f3387d543b25">gdsl_2darray_get_size</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get the size of a 2D-array. <a href="#gee2aa4a8f7112592ee19f3387d543b25"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__gdsl__types.html#g0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#g0aadae9c7329a7d0bf15867b7c344f5d">gdsl_2darray_get_content</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A, const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> R, const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> C)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get an element from a 2D-array. <a href="#g0aadae9c7329a7d0bf15867b7c344f5d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#g6fb07f6368cc60fa9a05e86338fa3e1d">gdsl_2darray_set_name</a> (<a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A, const char *NEW_NAME)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Set the name of a 2D-array. <a href="#g6fb07f6368cc60fa9a05e86338fa3e1d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__gdsl__types.html#g0e2b9d7fb5ca9e6d50100e5d9e4bcae7">gdsl_element_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#g0fa94bb086b0e0a7089ec88c2998ce27">gdsl_2darray_set_content</a> (<a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A, const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> R, const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> C, void *VALUE)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Modify an element in a 2D-array. <a href="#g0fa94bb086b0e0a7089ec88c2998ce27"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#gf3f55d704d6d4323c078c828441a155e">gdsl_2darray_write</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A, const <a class="el" href="group__gdsl__types.html#gfc7394b6c8e0a5bd92df75e24512dfd6">gdsl_write_func_t</a> WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Write the content of a 2D-array to a file. <a href="#gf3f55d704d6d4323c078c828441a155e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#gc21cb1bc98ae0c4183cba13bb78d5f5b">gdsl_2darray_write_xml</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A, const <a class="el" href="group__gdsl__types.html#gfc7394b6c8e0a5bd92df75e24512dfd6">gdsl_write_func_t</a> WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Write the content of a 2D array to a file into XML. <a href="#gc21cb1bc98ae0c4183cba13bb78d5f5b"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__gdsl__2darray.html#gf66c650d8d7fd36021dcec21c6186aa1">gdsl_2darray_dump</a> (const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> A, const <a class="el" href="group__gdsl__types.html#gfc7394b6c8e0a5bd92df75e24512dfd6">gdsl_write_func_t</a> WRITE_F, FILE *OUTPUT_FILE, void *USER_DATA)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Dump the internal structure of a 2D array to a file. <a href="#gf66c650d8d7fd36021dcec21c6186aa1"></a><br></td></tr></table><hr><h2>Typedef Documentation</h2><a class="anchor" name="gc57888c23d8aa9d6e16f6be67ea149a8"></a><!-- doxytag: member="gdsl_2darray.h::gdsl_2darray_t" ref="gc57888c23d8aa9d6e16f6be67ea149a8" args="" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">typedef struct gdsl_2darray* <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> </td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>GDSL 2D-array type. <p>This type is voluntary opaque. Variables of this kind could'nt be directly used, but by the functions of this module. <p>Definition at line <a class="el" href="gdsl__2darray_8h-source.html#l00053">53</a> of file <a class="el" href="gdsl__2darray_8h-source.html">gdsl_2darray.h</a>. </td> </tr></table><hr><h2>Function Documentation</h2><a class="anchor" name="g0bb00b11d1705236a70c4787670ee2c3"></a><!-- doxytag: member="gdsl_2darray.h::gdsl_2darray_alloc" ref="g0bb00b11d1705236a70c4787670ee2c3" args="(const char *NAME, const ulong R, const ulong C, const gdsl_alloc_func_t ALLOC_F, const gdsl_free_func_t FREE_F)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> gdsl_2darray_alloc </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const char * </td> <td class="mdname" nowrap> <em>NAME</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> </td> <td class="mdname" nowrap> <em>R</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const <a class="el" href="group__gdsl__types.html#g9c34ac44da309b004570530c8cec8a0e">ulong</a> </td> <td class="mdname" nowrap> <em>C</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const <a class="el" href="group__gdsl__types.html#g32a9b4e8b9665183c2741d28a5ced64f">gdsl_alloc_func_t</a> </td> <td class="mdname" nowrap> <em>ALLOC_F</em>, </td> </tr> <tr> <td class="md" nowrap align="right"></td> <td class="md"></td> <td class="md" nowrap>const <a class="el" href="group__gdsl__types.html#g2c6b3f96b291b5b39d2799f93e350053">gdsl_free_func_t</a> </td> <td class="mdname" nowrap> <em>FREE_F</em></td> </tr> <tr> <td class="md"></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Create a new 2D-array. <p>Allocate a new 2D-array data structure with R rows and C columns and its name is set to a copy of NAME. The functions pointers ALLOC_F and FREE_F could be used to respectively, alloc and free elements in the 2D-array. These pointers could be set to NULL to use the default ones:<ul><li>the default ALLOC_F simply returns its argument</li><li>the default FREE_F does nothing</li></ul><p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>nothing </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>NAME</em> </td><td>The name of the new 2D-array to create </td></tr> <tr><td valign="top"></td><td valign="top"><em>R</em> </td><td>The number of rows of the new 2D-array to create </td></tr> <tr><td valign="top"></td><td valign="top"><em>C</em> </td><td>The number of columns of the new 2D-array to create </td></tr> <tr><td valign="top"></td><td valign="top"><em>ALLOC_F</em> </td><td>Function to alloc element when inserting it in a 2D-array </td></tr> <tr><td valign="top"></td><td valign="top"><em>FREE_F</em> </td><td>Function to free element when removing it from a 2D-array </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the newly allocated 2D-array in case of success. <p>NULL in case of insufficient memory. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__2darray.html#gdd88f34b133a6b49e257567a57fbff0b">gdsl_2darray_free()</a> <p><a class="el" href="group__gdsl__types.html#g32a9b4e8b9665183c2741d28a5ced64f">gdsl_alloc_func_t</a> <p><a class="el" href="group__gdsl__types.html#g2c6b3f96b291b5b39d2799f93e350053">gdsl_free_func_t</a> </dd></dl> </td> </tr></table><a class="anchor" name="gdd88f34b133a6b49e257567a57fbff0b"></a><!-- doxytag: member="gdsl_2darray.h::gdsl_2darray_free" ref="gdd88f34b133a6b49e257567a57fbff0b" args="(gdsl_2darray_t A)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">void gdsl_2darray_free </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top"><a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> </td> <td class="mdname1" valign="top" nowrap> <em>A</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Destroy a 2D-array. <p>Flush and destroy the 2D-array A. The FREE_F function passed to <a class="el" href="group__gdsl__2darray.html#g0bb00b11d1705236a70c4787670ee2c3">gdsl_2darray_alloc()</a> is used to free elements from A, but no check is done to see if an element was set (ie. != NULL) or not.It's up to you to check if the element to free is NULL or not into the FREE_F function.<p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( R x C ), where R is A's rows count, and C is A's columns count </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>A must be a valid gdsl_2darray_t </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>A</em> </td><td>The 2D-array to destroy </td></tr> </table></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__2darray.html#g0bb00b11d1705236a70c4787670ee2c3">gdsl_2darray_alloc()</a> </dd></dl> </td> </tr></table><a class="anchor" name="g43fecb137d5a152c8bd1310b93e14401"></a><!-- doxytag: member="gdsl_2darray.h::gdsl_2darray_get_name" ref="g43fecb137d5a152c8bd1310b93e14401" args="(const gdsl_2darray_t A)" --><p><table class="mdTable" cellpadding="2" cellspacing="0"> <tr> <td class="mdRow"> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td class="md" nowrap valign="top">const char* gdsl_2darray_get_name </td> <td class="md" valign="top">( </td> <td class="md" nowrap valign="top">const <a class="el" href="group__gdsl__2darray.html#gc57888c23d8aa9d6e16f6be67ea149a8">gdsl_2darray_t</a> </td> <td class="mdname1" valign="top" nowrap> <em>A</em> </td> <td class="md" valign="top"> ) </td> <td class="md" nowrap></td> </tr> </table> </td> </tr></table><table cellspacing="5" cellpadding="0" border="0"> <tr> <td> </td> <td><p>Get the name of a 2D-array. <p><dl compact><dt><b>Note:</b></dt><dd>Complexity: O( 1 ) </dd></dl><dl compact><dt><b>Precondition:</b></dt><dd>A must be a valid gdsl_2darray_t </dd></dl><dl compact><dt><b>Postcondition:</b></dt><dd>The returned string MUST NOT be freed. </dd></dl><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>A</em> </td><td>The 2D-array from which getting the name </td></tr> </table></dl><dl compact><dt><b>Returns:</b></dt><dd>the name of the 2D-array A. </dd></dl><dl compact><dt><b>See also:</b></dt><dd><a class="el" href="group__gdsl__2darray.html#g6fb07f6368cc60fa9a05e86338fa3e1d">gdsl_2darray_set_name()</a> </dd></dl> </td> </tr></table><a class="anchor" name="g26492a4c0714888029b1691994a33998"></a><!-- doxytag: member="gdsl_2darray.h::gdsl_2darray_get_rows_number" ref="g26492a4c0714888029b1691994a33998" args="(const gdsl_2darray_t A)" --><p><table class="mdTable" cellpadding="2" cellspacing="0">
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -