Files
MicrochipFor32/Doc/xml/_s_t_l___queue_8cpp.xml

274 lines
66 KiB
XML
Raw Normal View History

<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.9.5" xml:lang="zh">
<compounddef id="_s_t_l___queue_8cpp" kind="file" language="C++">
<compoundname>STL_Queue.cpp</compoundname>
<includes refid="_s_t_l___queue_8h" local="yes">STL_Queue.h</includes>
<incdepgraph>
<node id="1">
<label>D:/gitt/MicrochipFor32/STL_Device/STL_Queue.cpp</label>
<link refid="_s_t_l___queue_8cpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="2">
<label>STL_Queue.h</label>
<link refid="_s_t_l___queue_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="3">
<label>varint.h</label>
<link refid="varint_8h"/>
<childnode refid="4" relation="include">
</childnode>
</node>
<node id="4">
<label>stdint.h</label>
</node>
<node id="5">
<label>stdlib.h</label>
</node>
</incdepgraph>
<briefdescription>
<para>实现了STL库中的Queue </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">/*----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="2"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>#<sp/><sp/>Copyright<sp/>(c)<sp/>2022<sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>#<sp/><sp/>本软件按原样提供,无任何明示或暗示</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>#<sp/><sp/>在任何情况下,作者都不承担任何损害赔偿责任</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>#<sp/><sp/>使用的许可声明:</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>#<sp/><sp/>1.<sp/><sp/>不得歪曲本软件的来源,你不能声称你编写了原始软件.</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>#<sp/><sp/>2.<sp/><sp/>免费授予以任何目的,前提是版权声明出现在所有副本中.</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>并且版权声明和许可声明同时出现.</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>#<sp/><sp/>3.<sp/><sp/>你有使用,复制,修改,分发,和销售本软件的许可.</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>#<sp/><sp/>4.<sp/><sp/>如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>#<sp/><sp/>5.<sp/><sp/>本通知不得从任何来源删除或更改.</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>#<sp/><sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>E-mail:zabbcccbbaz@163.com</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>QQ:2715099320</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>Mobile<sp/>Phone:13005636215</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>#<sp/><sp/>All<sp/>rights<sp/>reserved.</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/><sp/><sp/>头文件</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="_s_t_l___queue_8h" kindref="compound">STL_Queue.h</ref>&quot;</highlight></codeline>
<codeline lineno="39"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>构造函数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="41" refid="class_s_t_l__r_queue_1aa590a265ee2309e6150adcdf377f32b6" refkind="member"><highlight class="normal"><ref refid="class_s_t_l__r_queue_1aa590a265ee2309e6150adcdf377f32b6" kindref="member">STL_rQueue::STL_rQueue</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a42636190858b2aa8bdf93b80f2e3ed33" kindref="member">room</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>=<sp/>NULL;}</highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="46" refid="class_s_t_l__r_queue_1a96e6153133db180421c9321fb6ee83a8" refkind="member"><highlight class="normal"><ref refid="class_s_t_l__r_queue_1a96e6153133db180421c9321fb6ee83a8" kindref="member">STL_rQueue::~STL_rQueue</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="47"><highlight class="normal"><sp/><sp/><sp/><sp/>free(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>);}</highlight></codeline>
<codeline lineno="49"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>成员函数</highlight></codeline>
<codeline lineno="56" refid="class_s_t_l__r_queue_1a20a4e57dc9a4350f49cfada5cf083881" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__r_queue_1a20a4e57dc9a4350f49cfada5cf083881" kindref="member">STL_rQueue::push</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>保存分配前的数据头</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*<sp/>temp_stacks<sp/>=<sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>;</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>若所需空间小于现有空间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>&gt;=<sp/><ref refid="class_s_t_l__r_queue_1a42636190858b2aa8bdf93b80f2e3ed33" kindref="member">room</ref>)<sp/>{</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>分配新长度</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>=<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(realloc(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>,<sp/>++<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>));</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>分配失败,善后并且返回错误</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>==<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>--<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>恢复原长度</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>=<sp/>temp_stacks;<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>恢复数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a3df7082063e14f0ae068a2feb3e4a03d" kindref="member">QUEUES_REAL_ERROR</ref>;}<sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>返回错误</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a42636190858b2aa8bdf93b80f2e3ed33" kindref="member">room</ref><sp/>=<sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>;</highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>分配成功,压入数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>-<sp/>1]<sp/>=<sp/>var;</highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>返回正确指数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>空间剩余,压入数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[(++<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>)<sp/>-<sp/>1]<sp/>=<sp/>var;</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>返回正确指数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="77"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="82" refid="class_s_t_l__r_queue_1a6fcfa9e50f6719e2f3632a6ad333542f" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__r_queue_1a6fcfa9e50f6719e2f3632a6ad333542f" kindref="member">STL_rQueue::pop</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="83"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>若数据队列中大于1,缩短成员空间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>&gt;<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>整体移动掉一位</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>i<sp/>=<sp/>0;<sp/>i<sp/>&lt;<sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>-<sp/>1;<sp/>i++)</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>*(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>+<sp/>i)<sp/>=<sp/>*(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>+<sp/>i<sp/>+<sp/>1);</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>--<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>重新分配成员空间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>若数据队列中等于1,重指定头</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>==<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>=<sp/>0;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>重新分配成员空间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>若数据队列为空,返回空队列错误号</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>;}</highlight></codeline>
<codeline lineno="96"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="102" refid="class_s_t_l__r_queue_1a3507658579a1abb5e50b34b6bb536ece" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__r_queue_1a3507658579a1abb5e50b34b6bb536ece" kindref="member">STL_rQueue::top</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>&amp;<sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>)<sp/>{</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>var<sp/>=<sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[0];</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>;}</highlight></codeline>
<codeline lineno="107"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="112" refid="class_s_t_l__r_queue_1a9892dad9a7802f12a8bad524aefbe162" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><ref refid="class_s_t_l__r_queue_1a9892dad9a7802f12a8bad524aefbe162" kindref="member">STL_rQueue::The_size</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>;}</highlight></codeline>
<codeline lineno="114"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="119" refid="class_s_t_l__r_queue_1a3f1905efcb68f543a152abc8fa1214e3" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><ref refid="class_s_t_l__r_queue_1a3f1905efcb68f543a152abc8fa1214e3" kindref="member">STL_rQueue::The_room</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="class_s_t_l__r_queue_1a42636190858b2aa8bdf93b80f2e3ed33" kindref="member">room</ref>;}</highlight></codeline>
<codeline lineno="121"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="126" refid="class_s_t_l__r_queue_1a554dd220ac324bec51a6cde43116efc3" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__r_queue_1a554dd220ac324bec51a6cde43116efc3" kindref="member">STL_rQueue::clean</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>保存分配前的数据头</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*<sp/>temp_stacks<sp/>=<sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>;</highlight></codeline>
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>如果有成员,重新分配空间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>)<sp/>{</highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>重新分配空间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>=<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(realloc(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>,<sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>));</highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>分配失败,善后并返回错误</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="134"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>==<sp/>NULL)<sp/>{</highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>--<ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>恢复原长度</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>=<sp/>temp_stacks;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>恢复数据</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a3df7082063e14f0ae068a2feb3e4a03d" kindref="member">QUEUES_REAL_ERROR</ref>;}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>返回错误</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="138"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>无成员队列重新分配成员</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="140"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>free(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>释放全部空间</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref><sp/>=<sp/>0;}<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>重指定首部</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="144"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>无数据返回空队列</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a42636190858b2aa8bdf93b80f2e3ed33" kindref="member">room</ref><sp/>=<sp/><ref refid="class_s_t_l__r_queue_1ae5ab3dd9890cb990edaf511174da12a1" kindref="member">size</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>新的空间大小</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="147"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="153" refid="class_s_t_l__r_queue_1ac57bfdea03866852334cbf52e262e286" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><sp/><ref refid="class_s_t_l__r_queue_1ac57bfdea03866852334cbf52e262e286" kindref="member">STL_rQueue::push32</ref>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a20a4e57dc9a4350f49cfada5cf083881" kindref="member">push</ref>(((<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*)(&amp;var))[3]);</highlight></codeline>
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a20a4e57dc9a4350f49cfada5cf083881" kindref="member">push</ref>(((<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*)(&amp;var))[2]);</highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a20a4e57dc9a4350f49cfada5cf083881" kindref="member">push</ref>(((<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*)(&amp;var))[1]);</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a20a4e57dc9a4350f49cfada5cf083881" kindref="member">push</ref>(((<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*)(&amp;var))[0]);</highlight></codeline>
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="159"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="165" refid="class_s_t_l__r_queue_1a3431ef2eff0319a93be5dac50bd19b99" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__r_queue_1a3431ef2eff0319a93be5dac50bd19b99" kindref="member">STL_rQueue::poptop</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>var<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a3507658579a1abb5e50b34b6bb536ece" kindref="member">top</ref>(var);<sp/><ref refid="class_s_t_l__r_queue_1a6fcfa9e50f6719e2f3632a6ad333542f" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>var;}</highlight></codeline>
<codeline lineno="169"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="175" refid="class_s_t_l__r_queue_1a9362012b2eda4207d130e03f420c11a8" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><ref refid="class_s_t_l__r_queue_1a9362012b2eda4207d130e03f420c11a8" kindref="member">STL_rQueue::poptop32</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="176"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[4]<sp/>=<sp/>{<sp/>0,0,0,0<sp/>};</highlight></codeline>
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a3507658579a1abb5e50b34b6bb536ece" kindref="member">top</ref>(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[3]);<sp/><ref refid="class_s_t_l__r_queue_1a6fcfa9e50f6719e2f3632a6ad333542f" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a3507658579a1abb5e50b34b6bb536ece" kindref="member">top</ref>(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[2]);<sp/><ref refid="class_s_t_l__r_queue_1a6fcfa9e50f6719e2f3632a6ad333542f" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a3507658579a1abb5e50b34b6bb536ece" kindref="member">top</ref>(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[1]);<sp/><ref refid="class_s_t_l__r_queue_1a6fcfa9e50f6719e2f3632a6ad333542f" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1a3507658579a1abb5e50b34b6bb536ece" kindref="member">top</ref>(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>[0]);<sp/><ref refid="class_s_t_l__r_queue_1a6fcfa9e50f6719e2f3632a6ad333542f" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="181"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>*((<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>*)(<ref refid="class_s_t_l__r_queue_1a32e298e5a9194d97492496f5f311068b" kindref="member">dat</ref>));}</highlight></codeline>
<codeline lineno="182"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="187"><highlight class="comment"></highlight><highlight class="normal">void(*<ref refid="class_s_t_l__r_queue_1a8deafb8a60277665e85b99deeff96d8c" kindref="member">STL_rQueue::poptopfun</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">))(void)<sp/>{</highlight></codeline>
<codeline lineno="188"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">(*)(void))poptop32();}</highlight></codeline>
<codeline lineno="189"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="194" refid="class_s_t_l__r_queue_1a6279ce46687da109354f7f84b979343f" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="class_s_t_l__r_queue_1a6279ce46687da109354f7f84b979343f" kindref="member">STL_rQueue::pushfun</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">(*fun)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
<codeline lineno="195"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__r_queue_1ac57bfdea03866852334cbf52e262e286" kindref="member">push32</ref>((<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>)fun);}</highlight></codeline>
<codeline lineno="197"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="198"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>构造函数</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="199" refid="class_s_t_l__l_queue_1a144e383b154698f69348bb8f901bdb81" refkind="member"><highlight class="normal"><ref refid="class_s_t_l__l_queue_1a144e383b154698f69348bb8f901bdb81" kindref="member">STL_lQueue::STL_lQueue</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1aff375614989295d36b7b30467946332f" kindref="member">STL_lQueue::Hdat</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">STL_lQueue::Tdat</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">STL_lQueue::mem</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="204" refid="class_s_t_l__l_queue_1a9c77d831feed1543e4fdefc811580a51" refkind="member"><highlight class="normal"><ref refid="class_s_t_l__l_queue_1a9c77d831feed1543e4fdefc811580a51" kindref="member">STL_lQueue::~STL_lQueue</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="205"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref>)<ref refid="class_s_t_l__l_queue_1a9c9a5811f43677f8d70d19377e276510" kindref="member">pop</ref>();}</highlight></codeline>
<codeline lineno="207"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="208"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>成员函数</highlight></codeline>
<codeline lineno="215" refid="class_s_t_l__l_queue_1ab551099da5beb93d91db4472ffd4d5c3" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1ab551099da5beb93d91db4472ffd4d5c3" kindref="member">STL_lQueue::push</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*&amp;<sp/>var,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>size)<sp/>{</highlight></codeline>
<codeline lineno="216"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="struct__l_queue" kindref="compound">_lQueue</ref>*<sp/>newdat<sp/>=<sp/>(<ref refid="struct__l_queue" kindref="compound">_lQueue</ref>*)malloc(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="struct__l_queue" kindref="compound">_lQueue</ref>));</highlight></codeline>
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(newdat<sp/>==<sp/>NULL)</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a0ecfdce5da7daaea657afe0c2060d8e6" kindref="member">QUEUES_MALL_ERROR</ref>;</highlight></codeline>
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/>newdat-&gt;<ref refid="struct__l_queue_1acc0ce814c36fdba1027d1639236c14cb" kindref="member">dat</ref><sp/>=<sp/>var;</highlight></codeline>
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/>newdat-&gt;<ref refid="struct__l_queue_1a87b92ef47f15b682394c69d2f687550a" kindref="member">size</ref><sp/>=<sp/>size;</highlight></codeline>
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/>newdat-&gt;<ref refid="struct__l_queue_1a3be42777ab564c447ca2b0978e04ef68" kindref="member">back</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref><sp/>==<sp/>0)<sp/>{</highlight></codeline>
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1aff375614989295d36b7b30467946332f" kindref="member">Hdat</ref><sp/>=<sp/>newdat;</highlight></codeline>
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">Tdat</ref><sp/>=<sp/>newdat;}</highlight></codeline>
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1aff375614989295d36b7b30467946332f" kindref="member">Hdat</ref>-&gt;<ref refid="struct__l_queue_1a3be42777ab564c447ca2b0978e04ef68" kindref="member">back</ref><sp/>=<sp/>newdat;</highlight></codeline>
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1aff375614989295d36b7b30467946332f" kindref="member">Hdat</ref><sp/>=<sp/>newdat;}</highlight></codeline>
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/>++<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref>;</highlight></codeline>
<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="229"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="235" refid="class_s_t_l__l_queue_1a9c9a5811f43677f8d70d19377e276510" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1a9c9a5811f43677f8d70d19377e276510" kindref="member">STL_lQueue::pop</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref><sp/>==<sp/>0)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>;</highlight></codeline>
<codeline lineno="237"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="struct__l_queue" kindref="compound">_lQueue</ref>*<sp/>savedat<sp/>=<sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">Tdat</ref>;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>保存尾部</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="238"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref><sp/>==<sp/>1)<sp/>{</highlight></codeline>
<codeline lineno="239"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">Tdat</ref><sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="240"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1aff375614989295d36b7b30467946332f" kindref="member">Hdat</ref><sp/>=<sp/>NULL;}</highlight></codeline>
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal">(<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref>&gt;1)<sp/>{</highlight></codeline>
<codeline lineno="242"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">Tdat</ref><sp/>=<sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">Tdat</ref>-&gt;<ref refid="struct__l_queue_1a3be42777ab564c447ca2b0978e04ef68" kindref="member">back</ref>;}</highlight></codeline>
<codeline lineno="243"><highlight class="normal"><sp/><sp/><sp/><sp/>free(savedat-&gt;<ref refid="struct__l_queue_1acc0ce814c36fdba1027d1639236c14cb" kindref="member">dat</ref>);</highlight></codeline>
<codeline lineno="244"><highlight class="normal"><sp/><sp/><sp/><sp/>free(savedat);</highlight></codeline>
<codeline lineno="245"><highlight class="normal"><sp/><sp/><sp/><sp/>--<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref>;</highlight></codeline>
<codeline lineno="246"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="247"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="254" refid="class_s_t_l__l_queue_1a1abec6afbc25d3cc7b3e3cc94c265f9c" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1a1abec6afbc25d3cc7b3e3cc94c265f9c" kindref="member">STL_lQueue::top</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*&amp;<sp/>var,<sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>&amp;<sp/>size)<sp/>{</highlight></codeline>
<codeline lineno="255"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__l_queue_1aa30f82a9e8ccf14839fb0d4bc0060428" kindref="member">mem</ref><sp/>==<sp/>0)<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>;</highlight></codeline>
<codeline lineno="256"><highlight class="normal"><sp/><sp/><sp/><sp/>var<sp/>=<sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">Tdat</ref>-&gt;<ref refid="struct__l_queue_1acc0ce814c36fdba1027d1639236c14cb" kindref="member">dat</ref>;</highlight></codeline>
<codeline lineno="257"><highlight class="normal"><sp/><sp/><sp/><sp/>size<sp/>=<sp/><ref refid="class_s_t_l__l_queue_1a5019da13d4ba25f2bf7668770be14cfd" kindref="member">Tdat</ref>-&gt;<ref refid="struct__l_queue_1a87b92ef47f15b682394c69d2f687550a" kindref="member">size</ref>;</highlight></codeline>
<codeline lineno="258"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="259"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="260"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="266" refid="class_s_t_l__l_queue_1af2ee00997d848e132c3140e347b7220c" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1af2ee00997d848e132c3140e347b7220c" kindref="member">STL_lQueue::push8</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="267"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/>num<sp/>=<sp/>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*)malloc(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>));</highlight></codeline>
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(num<sp/>==<sp/>NULL)</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a0ecfdce5da7daaea657afe0c2060d8e6" kindref="member">QUEUES_MALL_ERROR</ref>;</highlight></codeline>
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/>*(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*)num<sp/>=<sp/>var;</highlight></codeline>
<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1ab551099da5beb93d91db4472ffd4d5c3" kindref="member">push</ref>(num,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>));</highlight></codeline>
<codeline lineno="271"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="272"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="278" refid="class_s_t_l__l_queue_1a7ff92acc4b520646801c93816faf2f07" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1a7ff92acc4b520646801c93816faf2f07" kindref="member">STL_lQueue::top8</ref>(<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>&amp;<sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/>vars<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>sizes<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__l_queue_1a1abec6afbc25d3cc7b3e3cc94c265f9c" kindref="member">top</ref>(vars,<sp/>sizes)<sp/>==<sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>)</highlight></codeline>
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>;</highlight></codeline>
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/>var<sp/>=<sp/>*((<ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref>*)vars);</highlight></codeline>
<codeline lineno="284"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="285"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="290" refid="class_s_t_l__l_queue_1a4c67b2f6364aa9105e8754c51bb2ad6a" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1a4c67b2f6364aa9105e8754c51bb2ad6a" kindref="member">STL_lQueue::poptop8</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>temp<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1a7ff92acc4b520646801c93816faf2f07" kindref="member">top8</ref>(temp);</highlight></codeline>
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1a9c9a5811f43677f8d70d19377e276510" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="294"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>temp;}</highlight></codeline>
<codeline lineno="295"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="296"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="302" refid="class_s_t_l__l_queue_1a1231a845c0a916e43c74a18c8b7c1920" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1a1231a845c0a916e43c74a18c8b7c1920" kindref="member">STL_lQueue::push32</ref>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="303"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/>num<sp/>=<sp/>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>*)malloc(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>));</highlight></codeline>
<codeline lineno="304"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(num<sp/>==<sp/>NULL)</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a0ecfdce5da7daaea657afe0c2060d8e6" kindref="member">QUEUES_MALL_ERROR</ref>;</highlight></codeline>
<codeline lineno="305"><highlight class="normal"><sp/><sp/><sp/><sp/>*(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>*)num<sp/>=<sp/>var;</highlight></codeline>
<codeline lineno="306"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1ab551099da5beb93d91db4472ffd4d5c3" kindref="member">push</ref>(num,<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>));</highlight></codeline>
<codeline lineno="307"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="308"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="314" refid="class_s_t_l__l_queue_1ade1f8e34538de4ae43f7ad2ca46ab493" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1ade1f8e34538de4ae43f7ad2ca46ab493" kindref="member">STL_lQueue::top32</ref>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>&amp;<sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="315"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal">*<sp/>vars<sp/>=<sp/>NULL;</highlight></codeline>
<codeline lineno="316"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>sizes<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="317"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="class_s_t_l__l_queue_1a1abec6afbc25d3cc7b3e3cc94c265f9c" kindref="member">top</ref>(vars,<sp/>sizes)<sp/>==<sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>)</highlight></codeline>
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5ad39f1a970bf2ee35cee3b69168e7d4d1" kindref="member">QUEUES_EMPTY</ref>;</highlight></codeline>
<codeline lineno="319"><highlight class="normal"><sp/><sp/><sp/><sp/>var<sp/>=<sp/>*((<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>*)vars);</highlight></codeline>
<codeline lineno="320"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="_s_t_l___queue_8h_1aa246d039fae29502aba4ffde61bebaa5a277fc31bdbe46a70ffc98da7a7468162" kindref="member">QUEUES_OK</ref>;}</highlight></codeline>
<codeline lineno="321"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="326" refid="class_s_t_l__l_queue_1a4bf8d4647c741289056d30184e97531b" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><ref refid="class_s_t_l__l_queue_1a4bf8d4647c741289056d30184e97531b" kindref="member">STL_lQueue::poptop32</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>temp<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="328"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1ade1f8e34538de4ae43f7ad2ca46ab493" kindref="member">top32</ref>(temp);</highlight></codeline>
<codeline lineno="329"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="class_s_t_l__l_queue_1a9c9a5811f43677f8d70d19377e276510" kindref="member">pop</ref>();</highlight></codeline>
<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>temp;}</highlight></codeline>
<codeline lineno="331"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="332"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="341" refid="class_s_t_l__l_queue_1ad702c50174ed400838db74915c0eefda" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/><ref refid="class_s_t_l__l_queue_1ad702c50174ed400838db74915c0eefda" kindref="member">STL_lQueue::pushfun</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">(*fun)(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">))<sp/>{</highlight></codeline>
<codeline lineno="342"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="varint_8h_1a92c50087ca0e64fa93fc59402c55f8ca" kindref="member">u8</ref><sp/>res;</highlight></codeline>
<codeline lineno="343"><highlight class="normal"><sp/><sp/><sp/><sp/>res<sp/>=<sp/><ref refid="class_s_t_l__l_queue_1a1231a845c0a916e43c74a18c8b7c1920" kindref="member">push32</ref>((<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>)fun);</highlight></codeline>
<codeline lineno="344"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>res;}</highlight></codeline>
<codeline lineno="345"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="352"><highlight class="comment"></highlight><highlight class="normal">void(*<ref refid="class_s_t_l__l_queue_1a32f62d0933c052bcebeb318c1230f3f7" kindref="member">STL_lQueue::poptopfun</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">))(void)<sp/>{</highlight></codeline>
<codeline lineno="353"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">(*)(void))poptop32();}</highlight></codeline>
</programlisting>
<location file="D:/gitt/MicrochipFor32/STL_Device/STL_Queue.cpp"/>
</compounddef>
</doxygen>