⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 array_8h.html

📁 pwlib开发文档
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>array.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.2.18 --><center><a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="namespaces.html">Namespace List</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="globals.html">File Members</a> &nbsp; </center><hr><h1>array.h File Reference</h1><p><a href="array_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0><tr><td></td></tr><tr><td colspan=2><br><h2>Compounds</h2></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPAbstractArray.html">PAbstractArray</a></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPBYTEArray.html">PBYTEArray</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Array of unsigned characters.</em> <a href="classPBYTEArray.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPCharArray.html">PCharArray</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Array of characters.</em> <a href="classPCharArray.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPIntArray.html">PIntArray</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Array of integers.</em> <a href="classPIntArray.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPLongArray.html">PLongArray</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Array of long integers.</em> <a href="classPLongArray.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPShortArray.html">PShortArray</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Array of short integers.</em> <a href="classPShortArray.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPUnsignedArray.html">PUnsignedArray</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Array of unsigned integers.</em> <a href="classPUnsignedArray.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>class &nbsp;</td><td valign=bottom><a class="el" href="classPWORDArray.html">PWORDArray</a></td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Array of unsigned short integers.</em> <a href="classPWORDArray.html#_details">More...</a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Overrides from class PObject</h2></td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a9">PrintOn</a> (ostream &amp;strm) const</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Print the array.</em> <a href="#a9"></a><em></em></font><br><br></td></tr><tr><td nowrap align=right valign=top>virtual void&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a10">ReadFrom</a> (istream &amp;strm)</td></tr><tr><td>&nbsp;</td><td><font size=-1><em>Read the array.</em> <a href="#a10"></a><em></em></font><br><br></td></tr><tr><td colspan=2><br><h2>Defines</h2></td></tr><tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a0">PBASEARRAY</a>(cls, T)</td></tr><tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a1">PDECLARE_BASEARRAY</a>(cls, T)</td></tr><tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a2">PSCALAR_ARRAY</a>(cls, T)&nbsp;&nbsp;&nbsp;PBASEARRAY(cls, T)</td></tr><tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a3">PARRAY</a>(cls, T)</td></tr><tr><td nowrap align=right valign=top>#define&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a4">PDECLARE_ARRAY</a>(cls, T)</td></tr><tr><td colspan=2><br><h2>Functions</h2></td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a5">PSCALAR_ARRAY</a> (<a class="el" href="classPShortArray.html">PShortArray</a>, short)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a6">PSCALAR_ARRAY</a> (<a class="el" href="classPIntArray.html">PIntArray</a>, int)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a7">PSCALAR_ARRAY</a> (<a class="el" href="classPLongArray.html">PLongArray</a>, long)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a8">PDECLARE_BASEARRAY</a> (<a class="el" href="classPBYTEArray.html">PBYTEArray</a>, BYTE)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a11">PSCALAR_ARRAY</a> (<a class="el" href="classPWORDArray.html">PWORDArray</a>, WORD)</td></tr><tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="array_8h.html#a12">PSCALAR_ARRAY</a> (<a class="el" href="classPUnsignedArray.html">PUnsignedArray</a>, unsigned)</td></tr></table><hr><h2>Define Documentation</h2><a name="a3" doxytag="array.h::PARRAY"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> #define PARRAY</td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">cls,         <tr>          <td></td>          <td></td>          <td class="md" nowrap>T&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre><span class="keyword">class </span>cls : <span class="keyword">public</span> PArrayObjects { \  <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(cls, PArrayObjects); \  <span class="keyword">protected</span>: \    <span class="keyword">inline</span> cls(<span class="keywordtype">int</span> dummy, <span class="keyword">const</span> cls * c) \      : PArrayObjects(dummy, c) { } \  <span class="keyword">public</span>: \    <span class="keyword">inline</span> cls(PINDEX initialSize = 0) \      : PArrayObjects(initialSize) { } \    <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * Clone() <span class="keyword">const</span> \      { <span class="keywordflow">return</span> <a class="code" href="object_8h.html#a18">PNEW</a> cls(0, <span class="keyword">this</span>); } \    <span class="keyword">inline</span> T &amp; operator[](PINDEX index) <span class="keyword">const</span>\      { <a class="code" href="classPObject.html">PObject</a> * obj = GetAt(index); \        <a class="code" href="object_8h.html#a5">PAssert</a>(obj != NULL, <a class="code" href="object_8h.html#a70a46">PInvalidArrayElement</a>); \          \        <span class="keywordflow">return</span> (T &amp;)*obj; } \  }</pre></div>    </td>  </tr></table><a name="a0" doxytag="array.h::PBASEARRAY"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> #define PBASEARRAY</td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">cls,         <tr>          <td></td>          <td></td>          <td class="md" nowrap>T&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre><span class="keyword">typedef</span> T P_##cls##_Base_Type; \  <span class="keyword">class </span>cls : <span class="keyword">public</span> <a class="code" href="classPAbstractArray.html">PAbstractArray</a> { \    <a class="code" href="object_8h.html#a27">PCLASSINFO</a>(cls, <a class="code" href="classPAbstractArray.html">PAbstractArray</a>) \  <span class="keyword">public</span>: \    <span class="keyword">inline</span> cls(PINDEX initialSize = 0) \      : <a class="code" href="classPAbstractArray.html">PAbstractArray</a>(<span class="keyword">sizeof</span>(P_##cls##_Base_Type), initialSize) { } \    <span class="keyword">inline</span> cls(P_##cls##_Base_Type <span class="keyword">const</span> * buffer, PINDEX length, BOOL dynamic = TRUE) \      : <a class="code" href="classPAbstractArray.html">PAbstractArray</a>(<span class="keyword">sizeof</span>(P_##cls##_Base_Type), buffer, length, dynamic) { } \    <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * Clone() <span class="keyword">const</span> \      { <span class="keywordflow">return</span> <a class="code" href="object_8h.html#a18">PNEW</a> cls(*<span class="keyword">this</span>, GetSize()); } \    <span class="keyword">inline</span> BOOL SetAt(PINDEX index, P_##cls##_Base_Type val) \      { <span class="keywordflow">return</span> SetMinSize(index+1) &amp;&amp; \                     val==(((P_##cls##_Base_Type *)theArray)[index] = val); } \    <span class="keyword">inline</span> P_##cls##_Base_Type GetAt(PINDEX index) <span class="keyword">const</span> \      { PASSERTINDEX(index); <span class="keywordflow">return</span> index &lt; GetSize() ? \          ((P_##cls##_Base_Type*)theArray)[index] : (P_##cls##_Base_Type)0; } \    <span class="keyword">inline</span> P_##cls##_Base_Type operator[](PINDEX index) <span class="keyword">const</span> \      { PASSERTINDEX(index); <span class="keywordflow">return</span> GetAt(index); } \    <span class="keyword">inline</span> P_##cls##_Base_Type &amp; operator[](PINDEX index) \      { PASSERTINDEX(index); <a class="code" href="object_8h.html#a5">PAssert</a>(SetMinSize(index+1), <a class="code" href="object_8h.html#a70a42">POutOfMemory</a>); \        <span class="keywordflow">return</span> ((P_##cls##_Base_Type *)theArray)[index]; } \    <span class="keyword">inline</span> <span class="keywordtype">void</span> Attach(<span class="keyword">const</span> P_##cls##_Base_Type * buffer, PINDEX bufferSize) \      { <a class="code" href="classPAbstractArray.html#z25_0">PAbstractArray::Attach</a>(buffer, bufferSize); } \    <span class="keyword">inline</span> P_##cls##_Base_Type * GetPointer(PINDEX minSize = 0) \      { <span class="keywordflow">return</span> (P_##cls##_Base_Type *)<a class="code" href="classPAbstractArray.html#z25_1">PAbstractArray::GetPointer</a>(minSize); } \    <span class="keyword">inline</span> operator P_##cls##_Base_Type const *() <span class="keyword">const</span> \      { <span class="keywordflow">return</span> (P_##cls##_Base_Type <span class="keyword">const</span> *)theArray; } \    <span class="keyword">inline</span> BOOL Concatenate(cls <span class="keyword">const</span> &amp; array) \      { <span class="keywordflow">return</span> <a class="code" href="classPAbstractArray.html#z25_2">PAbstractArray::Concatenate</a>(array); } \  }</pre></div>    </td>  </tr></table><a name="a4" doxytag="array.h::PDECLARE_ARRAY"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> #define PDECLARE_ARRAY</td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">cls,         <tr>          <td></td>          <td></td>          <td class="md" nowrap>T&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre>PARRAY(cls##_PTemplate, T); \  <a class="code" href="object_8h.html#a28">PDECLARE_CLASS</a>(cls, cls##_PTemplate) \  <span class="keyword">protected</span>: \    <span class="keyword">inline</span> cls(<span class="keywordtype">int</span> dummy, <span class="keyword">const</span> cls * c) \      : cls##_PTemplate(dummy, c) { } \  <span class="keyword">public</span>: \    <span class="keyword">inline</span> cls(PINDEX initialSize = 0) \      : cls##_PTemplate(initialSize) { } \    <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * Clone() <span class="keyword">const</span> \      { <span class="keywordflow">return</span> <a class="code" href="object_8h.html#a18">PNEW</a> cls(0, <span class="keyword">this</span>); } \</pre></div>    </td>  </tr></table><a name="a1" doxytag="array.h::PDECLARE_BASEARRAY"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> #define PDECLARE_BASEARRAY</td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">cls,         <tr>          <td></td>          <td></td>          <td class="md" nowrap>T&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap>      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p><b>Value:</b><div class="fragment"><pre><a class="code" href="array_8h.html#a0">PBASEARRAY</a>(cls##_PTemplate, T); \  <a class="code" href="object_8h.html#a28">PDECLARE_CLASS</a>(cls, cls##_PTemplate) \    cls(PINDEX initialSize = 0) \      : cls##_PTemplate(initialSize) { } \    cls(T <span class="keyword">const</span> * buffer, PINDEX length, BOOL dynamic = TRUE) \      : cls##_PTemplate(buffer, length, dynamic) { } \    <span class="keyword">virtual</span> <a class="code" href="classPObject.html">PObject</a> * Clone() <span class="keyword">const</span> \      { <span class="keywordflow">return</span> <a class="code" href="object_8h.html#a18">PNEW</a> cls(*<span class="keyword">this</span>, GetSize()); } \</pre></div>    </td>  </tr></table><a name="a2" doxytag="array.h::PSCALAR_ARRAY"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> #define PSCALAR_ARRAY</td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top">cls,         <tr>          <td></td>          <td></td>          <td class="md" nowrap>T&nbsp;</td>          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>          <td class="md" valign="top">)&nbsp;</td>          <td class="md" nowrap>&nbsp;&nbsp;&nbsp;PBASEARRAY(cls, T)      </table>    </td>  </tr></table><table cellspacing=5 cellpadding=0 border=0>  <tr>    <td>      &nbsp;    </td>    <td><p>    </td>  </tr></table><hr><h2>Function Documentation</h2><a name="a8" doxytag="array.h::PDECLARE_BASEARRAY"></a><p><table width="100%" cellpadding="2" cellspacing="0" border="0">  <tr>    <td class="md">      <table cellpadding="0" cellspacing="0" border="0">        <tr>          <td class="md" nowrap valign="top"> PDECLARE_BASEARRAY </td>          <td class="md" valign="top">(&nbsp;</td>          <td class="md" nowrap valign="top"><a class="el" href="classPBYTEArray.html">PBYTEArray</a>&nbsp;</td>          <td class="mdname" nowrap>&nbsp;, </td>        </tr>        <tr>          <td></td>          <td></td>          <td class="md" nowrap>BYTE&nbsp;</td>          <td class="mdname" nowrap>&nbsp;</td>        </tr>        <tr>          <td></td>          <td class="md">)&nbsp;</td>          <td class="md" colspan="2"></td>        </tr>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -