📄 array_8h.html
字号:
<!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> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> </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 </td><td valign=bottom><a class="el" href="classPAbstractArray.html">PAbstractArray</a></td></tr><tr><td nowrap align=right valign=top>class </td><td valign=bottom><a class="el" href="classPBYTEArray.html">PBYTEArray</a></td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="classPCharArray.html">PCharArray</a></td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="classPIntArray.html">PIntArray</a></td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="classPLongArray.html">PLongArray</a></td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="classPShortArray.html">PShortArray</a></td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="classPUnsignedArray.html">PUnsignedArray</a></td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="classPWORDArray.html">PWORDArray</a></td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="array_8h.html#a9">PrintOn</a> (ostream &strm) const</td></tr><tr><td> </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 </td><td valign=bottom><a class="el" href="array_8h.html#a10">ReadFrom</a> (istream &strm)</td></tr><tr><td> </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 </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 </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 </td><td valign=bottom><a class="el" href="array_8h.html#a2">PSCALAR_ARRAY</a>(cls, T) PBASEARRAY(cls, T)</td></tr><tr><td nowrap align=right valign=top>#define </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 </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> </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> </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> </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> </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> </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> </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">( </td> <td class="md" nowrap valign="top">cls, <tr> <td></td> <td></td> <td class="md" nowrap>T </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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 & 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 &)*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">( </td> <td class="md" nowrap valign="top">cls, <tr> <td></td> <td></td> <td class="md" nowrap>T </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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) && \ 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 < 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 & 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> & 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">( </td> <td class="md" nowrap valign="top">cls, <tr> <td></td> <td></td> <td class="md" nowrap>T </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">cls, <tr> <td></td> <td></td> <td class="md" nowrap>T </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top">cls, <tr> <td></td> <td></td> <td class="md" nowrap>T </td> <td class="mdname1" valign="top" nowrap> </td> <td class="md" valign="top">) </td> <td class="md" nowrap> PBASEARRAY(cls, T) </table> </td> </tr></table><table cellspacing=5 cellpadding=0 border=0> <tr> <td> </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">( </td> <td class="md" nowrap valign="top"><a class="el" href="classPBYTEArray.html">PBYTEArray</a> </td> <td class="mdname" nowrap> , </td> </tr> <tr> <td></td> <td></td> <td class="md" nowrap>BYTE </td> <td class="mdname" nowrap> </td> </tr> <tr> <td></td> <td class="md">) </td> <td class="md" colspan="2"></td> </tr>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -