• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3<title>oscl_map.h Source File</title>
4<link href="doxygen.css" rel="stylesheet" type="text/css">
5</head><body>
6<!-- Generated by Doxygen 1.2.18 -->
7<center>
8<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="modules.html">Modules</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Data Structures</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Data Fields</a> &nbsp; <a class="qindex" href="globals.html">Globals</a> &nbsp; </center>
9<hr><h1>oscl_map.h</h1><a href="oscl__map_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">// -*- c++ -*-</span>
1000002 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1100003
1200004 <span class="comment">//                     O S C L _ M A P</span>
1300005
1400006 <span class="comment">// = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =</span>
1500007
1600018 <span class="preprocessor">#ifndef OSCL_MAP_H_INCLUDED</span>
1700019 <span class="preprocessor"></span><span class="preprocessor">#define OSCL_MAP_H_INCLUDED</span>
1800020 <span class="preprocessor"></span>
1900021 <span class="preprocessor">#ifndef OSCL_BASE_H_INCLUDED</span>
2000022 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__base_8h.html">oscl_base.h</a>"</span>
2100023 <span class="preprocessor">#endif</span>
2200024 <span class="preprocessor"></span>
2300025 <span class="preprocessor">#ifndef OSCL_TREE_H_INCLUDED</span>
2400026 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="oscl__tree_8h.html">oscl_tree.h</a>"</span>
2500027 <span class="preprocessor">#endif</span>
2600028 <span class="preprocessor"></span>
27<a name="l00029"></a><a class="code" href="oscl__map_8h.html#a0">00029</a> <span class="preprocessor">#define OSCL_DISABLE_WARNING_TRUNCATE_DEBUG_MESSAGE</span>
2800030 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="osclconfig__compiler__warnings_8h.html">osclconfig_compiler_warnings.h</a>"</span>
2900031
3000032 <span class="keyword">template</span> &lt;<span class="keyword">class</span> T&gt;
31<a name="l00033"></a><a class="code" href="structOscl__Less.html">00033</a> <span class="keyword">struct </span><a class="code" href="structOscl__Less.html">Oscl_Less</a>
3200034 {
33<a name="l00035"></a><a class="code" href="structOscl__Less.html#a0">00035</a>     <span class="keywordtype">bool</span> <a class="code" href="structOscl__Less.html#a0">operator()</a>(<span class="keyword">const</span> T&amp; x, <span class="keyword">const</span> T&amp; y)<span class="keyword"> const</span>
3400036 <span class="keyword">    </span>{
3500037         <span class="keywordflow">return</span> x &lt; y ? <span class="keyword">true</span> : <span class="keyword">false</span> ;
3600038     }
3700039 };
3800040
3900041 <span class="keyword">template</span> &lt;<span class="keyword">class</span> V, <span class="keyword">class</span> U&gt;
40<a name="l00042"></a><a class="code" href="structOscl__Select1st.html">00042</a> <span class="keyword">struct </span><a class="code" href="structOscl__Select1st.html">Oscl_Select1st</a>
4100043 {
42<a name="l00044"></a><a class="code" href="structOscl__Select1st.html#a0">00044</a>     <span class="keyword">const</span> U&amp; <a class="code" href="structOscl__Select1st.html#a0">operator()</a>(<span class="keyword">const</span> V&amp; x)<span class="keyword"> const</span>
4300045 <span class="keyword">    </span>{
4400046         <span class="keywordflow">return</span> x.first;
4500047     }
4600048 };
4700049
4800060 <span class="keyword">template</span> &lt; <span class="keyword">class</span> Key, <span class="keyword">class</span> T, <span class="keyword">class</span> Alloc, <span class="keyword">class</span> Compare = Oscl_Less&lt;Key&gt; &gt;
49<a name="l00061"></a><a class="code" href="classOscl__Map.html">00061</a> <span class="keyword">class </span><a class="code" href="classOscl__Map.html">Oscl_Map</a>
5000062 {
5100063
5200064     <span class="keyword">public</span>:
53<a name="l00065"></a><a class="code" href="classOscl__Map.html#s0">00065</a>         <span class="keyword">typedef</span> Key <a class="code" href="classOscl__Map.html#s0">key_type</a>;
54<a name="l00066"></a><a class="code" href="classOscl__Map.html#s1">00066</a>         <span class="keyword">typedef</span> Compare <a class="code" href="structOscl__Tag__Base.html">key_compare</a>;
55<a name="l00067"></a><a class="code" href="classOscl__Map.html#s2">00067</a>         <span class="keyword">typedef</span> <a class="code" href="structOscl__Pair.html">Oscl_Pair&lt;const Key, T&gt;</a> <a class="code" href="structOscl__Pair.html">value_type</a>;
56<a name="l00068"></a><a class="code" href="classOscl__Map.html#s3">00068</a>         <span class="keyword">typedef</span> <a class="code" href="classOscl__Map.html">Oscl_Map&lt;Key, T, Alloc, Compare&gt;</a> <a class="code" href="classOscl__Map.html">self</a>;
5700069
5800070     <span class="keyword">private</span>:
5900071         <span class="keyword">typedef</span> <a class="code" href="classOscl__Rb__Tree.html">Oscl_Rb_Tree</a> &lt; <a class="code" href="classOscl__Map.html#s0">key_type</a>, value_type,
6000072         <a class="code" href="structOscl__Select1st.html">Oscl_Select1st&lt;value_type, key_type&gt;</a>,
6100073         <a class="code" href="structOscl__Tag__Base.html">key_compare</a>, Alloc &gt; <a class="code" href="classOscl__Rb__Tree.html">rep_type</a>;
6200074         <a class="code" href="classOscl__Rb__Tree.html">rep_type</a> t;  <span class="comment">// red-black tree representing map</span>
6300075
6400076     <span class="keyword">public</span>:
65<a name="l00077"></a><a class="code" href="classOscl__Map.html#s4">00077</a>         <span class="keyword">typedef</span> <span class="keyword">typename</span> rep_type::pointer <a class="code" href="classOscl__Map.html#s4">pointer</a>;
66<a name="l00078"></a><a class="code" href="classOscl__Map.html#s5">00078</a>         <span class="keyword">typedef</span> <span class="keyword">typename</span> rep_type::reference <a class="code" href="classOscl__Map.html#s5">reference</a>;
67<a name="l00079"></a><a class="code" href="classOscl__Map.html#s6">00079</a>         <span class="keyword">typedef</span> <span class="keyword">typename</span> rep_type::const_reference <a class="code" href="classOscl__Map.html#s6">const_reference</a>;
68<a name="l00080"></a><a class="code" href="classOscl__Map.html#s7">00080</a>         <span class="keyword">typedef</span> <span class="keyword">typename</span> rep_type::iterator <a class="code" href="classOscl__Map.html#s7">iterator</a>;
69<a name="l00081"></a><a class="code" href="classOscl__Map.html#s8">00081</a>         <span class="keyword">typedef</span> <span class="keyword">typename</span> rep_type::const_iterator <a class="code" href="classOscl__Map.html#s8">const_iterator</a>;
70<a name="l00082"></a><a class="code" href="classOscl__Map.html#s9">00082</a>         <span class="keyword">typedef</span> <span class="keyword">typename</span> rep_type::size_type <a class="code" href="classOscl__Map.html#s9">size_type</a>;
7100083
72<a name="l00084"></a><a class="code" href="classOscl__Map_1_1value__compare.html">00084</a>         <span class="keyword">class </span><a class="code" href="classOscl__Map_1_1value__compare.html">value_compare</a>
7300085         {
74<a name="l00086"></a><a class="code" href="classOscl__Map_1_1value__compare.html#l0">00086</a>                 <span class="keyword">friend</span> <span class="keyword">class </span><a class="code" href="classOscl__Map.html">Oscl_Map</a>&lt;Key, T, Alloc, Compare&gt;;
7500087             <span class="keyword">protected</span> :
76<a name="l00088"></a><a class="code" href="classOscl__Map_1_1value__compare.html#n0">00088</a>                 Compare <a class="code" href="classOscl__Map_1_1value__compare.html#n0">comp</a>;
77<a name="l00089"></a><a class="code" href="classOscl__Map_1_1value__compare.html#b0">00089</a>                 <a class="code" href="classOscl__Map_1_1value__compare.html#b0">value_compare</a>(Compare c) : <a class="code" href="classOscl__Map_1_1value__compare.html#n0">comp</a>(c) {}
7800090             <span class="keyword">public</span>:
79<a name="l00091"></a><a class="code" href="classOscl__Map_1_1value__compare.html#a0">00091</a>                 <span class="keywordtype">bool</span> <a class="code" href="classOscl__Map_1_1value__compare.html#a0">operator()</a>(<span class="keyword">const</span> value_type&amp; x, <span class="keyword">const</span> value_type&amp; y)<span class="keyword"> const</span>
8000092 <span class="keyword">                </span>{
8100093                     <span class="keywordflow">return</span> <a class="code" href="classOscl__Map_1_1value__compare.html#n0">comp</a>(x.<a class="code" href="structOscl__Pair.html#m0">first</a>, y.<a class="code" href="structOscl__Pair.html#m0">first</a>);
8200094                 }
8300095         };
8400096
8500097     <span class="keyword">public</span>:
8600098
87<a name="l00102"></a><a class="code" href="classOscl__Map.html#a0">00102</a>         <a class="code" href="classOscl__Map.html#a0">Oscl_Map</a>(<span class="keyword">const</span> Compare&amp; comp = Compare()) : t(comp) {}
8800103 <span class="comment">//    Oscl_Map(const value_type* first, const value_type* last,</span>
8900104 <span class="comment">//        const Compare&amp; comp = Compare()) : t(first, last, comp, false) {}</span>
9000105
91<a name="l00109"></a><a class="code" href="classOscl__Map.html#a1">00109</a>         <a class="code" href="classOscl__Map.html#a0">Oscl_Map</a>(<span class="keyword">const</span> self&amp; x) : t(x.t) {}
92<a name="l00113"></a><a class="code" href="classOscl__Map.html#a2">00113</a>         self&amp; <a class="code" href="classOscl__Map.html#a2">operator=</a>(<span class="keyword">const</span> self&amp; x)
9300114         {
9400115             t = x.<a class="code" href="classOscl__Map.html#o0">t</a>;
9500116             <span class="keywordflow">return</span> *<span class="keyword">this</span>;
9600117         }
97<a name="l00121"></a><a class="code" href="classOscl__Map.html#a3">00121</a>         key_compare <a class="code" href="classOscl__Map.html#a3">key_comp</a>()<span class="keyword"> const</span>
9800122 <span class="keyword">        </span>{
9900123             <span class="keywordflow">return</span> t.key_comp();
10000124         }
101<a name="l00128"></a><a class="code" href="classOscl__Map.html#a4">00128</a>         value_compare <a class="code" href="classOscl__Map.html#a4">value_comp</a>()<span class="keyword"> const</span>
10200129 <span class="keyword">        </span>{
10300130             <span class="keywordflow">return</span> value_compare(t.key_comp());
10400131         }
105<a name="l00135"></a><a class="code" href="classOscl__Map.html#a5">00135</a>         <a class="code" href="classOscl__Map.html#s7">iterator</a> <a class="code" href="classOscl__Map.html#a5">begin</a>()
10600136         {
10700137             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a4">begin</a>();
10800138         }
109<a name="l00142"></a><a class="code" href="classOscl__Map.html#a6">00142</a>         <a class="code" href="classOscl__Map.html#s8">const_iterator</a> <a class="code" href="classOscl__Map.html#a5">begin</a>()<span class="keyword"> const</span>
11000143 <span class="keyword">        </span>{
11100144             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a4">begin</a>();
11200145         }
113<a name="l00149"></a><a class="code" href="classOscl__Map.html#a7">00149</a>         <a class="code" href="classOscl__Map.html#s7">iterator</a> <a class="code" href="classOscl__Map.html#a7">end</a>()
11400150         {
11500151             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a6">end</a>();
11600152         }
117<a name="l00156"></a><a class="code" href="classOscl__Map.html#a8">00156</a>         <a class="code" href="classOscl__Map.html#s8">const_iterator</a> <a class="code" href="classOscl__Map.html#a7">end</a>()<span class="keyword"> const</span>
11800157 <span class="keyword">        </span>{
11900158             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a6">end</a>();
12000159         }
121<a name="l00163"></a><a class="code" href="classOscl__Map.html#a9">00163</a>         <span class="keywordtype">bool</span> <a class="code" href="classOscl__Map.html#a9">empty</a>()<span class="keyword"> const</span>
12200164 <span class="keyword">        </span>{
12300165             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a8">empty</a>();
12400166         }
125<a name="l00170"></a><a class="code" href="classOscl__Map.html#a10">00170</a>         <a class="code" href="classOscl__Map.html#s9">size_type</a> <a class="code" href="classOscl__Map.html#a10">size</a>()<span class="keyword"> const</span>
12600171 <span class="keyword">        </span>{
12700172             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a9">size</a>();
12800173         }
129<a name="l00177"></a><a class="code" href="classOscl__Map.html#a11">00177</a>         <a class="code" href="classOscl__Map.html#s9">size_type</a> <a class="code" href="classOscl__Map.html#a11">max_size</a>()<span class="keyword"> const</span>
13000178 <span class="keyword">        </span>{
13100179             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a10">max_size</a>();
13200180         }
133<a name="l00185"></a><a class="code" href="classOscl__Map.html#a12">00185</a>         T&amp; <a class="code" href="classOscl__Map.html#a12">operator[]</a>(<span class="keyword">const</span> key_type&amp; k)
13400186         {
13500187             <span class="keywordflow">return</span> (*((<a class="code" href="classOscl__Map.html#a13">insert</a>(<a class="code" href="classOscl__Map.html#s2">value_type</a>(k, T()))).first)).second;
13600188         }
13700189 <span class="comment">//    void swap(map&lt;Key, T, Compare&gt;&amp; x) { t.swap(x.t); }</span>
13800190
13900191
140<a name="l00192"></a><a class="code" href="classOscl__Map.html#s10">00192</a>         <span class="keyword">typedef</span> <a class="code" href="structOscl__Pair.html">Oscl_Pair&lt;iterator, bool&gt;</a> <a class="code" href="structOscl__Pair.html">pair_iterator_bool</a>;
141<a name="l00196"></a><a class="code" href="classOscl__Map.html#a13">00196</a>         pair_iterator_bool <a class="code" href="classOscl__Map.html#a13">insert</a>(<span class="keyword">const</span> value_type&amp; x)
14200197         {
14300198             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a11">insert_unique</a>(x);
14400199         }
145<a name="l00203"></a><a class="code" href="classOscl__Map.html#a14">00203</a>         <a class="code" href="classOscl__Map.html#s7">iterator</a> <a class="code" href="classOscl__Map.html#a13">insert</a>(<a class="code" href="classOscl__Map.html#s7">iterator</a> position, <span class="keyword">const</span> value_type&amp; x)
14600204         {
14700205             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a11">insert_unique</a>(position, x);
14800206         }
149<a name="l00210"></a><a class="code" href="classOscl__Map.html#a15">00210</a>         <span class="keywordtype">void</span> <a class="code" href="classOscl__Map.html#a13">insert</a>(<span class="keyword">const</span> value_type* first, <span class="keyword">const</span> value_type* last)
15000211         {
15100212             t.<a class="code" href="classOscl__Rb__Tree.html#a11">insert_unique</a>(first, last);
15200213         }
153<a name="l00217"></a><a class="code" href="classOscl__Map.html#a16">00217</a>         <span class="keywordtype">void</span> <a class="code" href="classOscl__Map.html#a16">erase</a>(<a class="code" href="classOscl__Map.html#s7">iterator</a> position)
15400218         {
15500219             t.<a class="code" href="classOscl__Rb__Tree.html#a15">erase</a>(position);
15600220         }
157<a name="l00224"></a><a class="code" href="classOscl__Map.html#a17">00224</a>         <a class="code" href="classOscl__Map.html#s9">size_type</a> <a class="code" href="classOscl__Map.html#a16">erase</a>(<span class="keyword">const</span> key_type&amp; x)
15800225         {
15900226             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a15">erase</a>(x);
16000227         }
161<a name="l00231"></a><a class="code" href="classOscl__Map.html#a18">00231</a>         <span class="keywordtype">void</span> <a class="code" href="classOscl__Map.html#a16">erase</a>(<a class="code" href="classOscl__Map.html#s7">iterator</a> first, <a class="code" href="classOscl__Map.html#s7">iterator</a> last)
16200232         {
16300233             t.<a class="code" href="classOscl__Rb__Tree.html#a15">erase</a>(first, last);
16400234         }
165<a name="l00238"></a><a class="code" href="classOscl__Map.html#a19">00238</a>         <span class="keywordtype">void</span> <a class="code" href="classOscl__Map.html#a19">clear</a>()
16600239         {
16700240             t.<a class="code" href="classOscl__Rb__Tree.html#a19">clear</a>();
16800241         }
169<a name="l00245"></a><a class="code" href="classOscl__Map.html#a20">00245</a>         <a class="code" href="classOscl__Map.html#s7">iterator</a> <a class="code" href="classOscl__Map.html#a20">find</a>(<span class="keyword">const</span> key_type&amp; x)
17000246         {
17100247             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a20">find</a>(x);
17200248         }
173<a name="l00252"></a><a class="code" href="classOscl__Map.html#a21">00252</a>         <a class="code" href="classOscl__Map.html#s8">const_iterator</a> <a class="code" href="classOscl__Map.html#a20">find</a>(<span class="keyword">const</span> key_type&amp; x)<span class="keyword"> const</span>
17400253 <span class="keyword">        </span>{
17500254             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a20">find</a>(x);
17600255         }
177<a name="l00259"></a><a class="code" href="classOscl__Map.html#a22">00259</a>         <a class="code" href="classOscl__Map.html#s9">size_type</a> <a class="code" href="classOscl__Map.html#a22">count</a>(<span class="keyword">const</span> key_type&amp; x)<span class="keyword"> const</span>
17800260 <span class="keyword">        </span>{
17900261             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a22">count</a>(x);
18000262         }
181<a name="l00266"></a><a class="code" href="classOscl__Map.html#a23">00266</a>         <a class="code" href="classOscl__Map.html#s7">iterator</a> <a class="code" href="classOscl__Map.html#a23">lower_bound</a>(<span class="keyword">const</span> key_type&amp; x)
18200267         {
18300268             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a23">lower_bound</a>(x);
18400269         }
185<a name="l00273"></a><a class="code" href="classOscl__Map.html#a24">00273</a>         <a class="code" href="classOscl__Map.html#s8">const_iterator</a> <a class="code" href="classOscl__Map.html#a23">lower_bound</a>(<span class="keyword">const</span> key_type&amp; x)<span class="keyword"> const</span>
18600274 <span class="keyword">        </span>{
18700275             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a23">lower_bound</a>(x);
18800276         }
189<a name="l00280"></a><a class="code" href="classOscl__Map.html#a25">00280</a>         <a class="code" href="classOscl__Map.html#s7">iterator</a> <a class="code" href="classOscl__Map.html#a25">upper_bound</a>(<span class="keyword">const</span> key_type&amp; x)
19000281         {
19100282             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a25">upper_bound</a>(x);
19200283         }
193<a name="l00287"></a><a class="code" href="classOscl__Map.html#a26">00287</a>         <a class="code" href="classOscl__Map.html#s8">const_iterator</a> <a class="code" href="classOscl__Map.html#a25">upper_bound</a>(<span class="keyword">const</span> key_type&amp; x)<span class="keyword"> const</span>
19400288 <span class="keyword">        </span>{
19500289             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a25">upper_bound</a>(x);
19600290         }
197<a name="l00291"></a><a class="code" href="classOscl__Map.html#s11">00291</a>         <span class="keyword">typedef</span> <a class="code" href="structOscl__Pair.html">Oscl_Pair&lt;iterator, iterator&gt;</a> <a class="code" href="structOscl__Pair.html">pair_iterator_iterator</a>;
198<a name="l00295"></a><a class="code" href="classOscl__Map.html#a27">00295</a>         pair_iterator_iterator <a class="code" href="classOscl__Map.html#a27">equal_range</a>(<span class="keyword">const</span> key_type&amp; x)
19900296         {
20000297             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a27">equal_range</a>(x);
20100298         }
202<a name="l00299"></a><a class="code" href="classOscl__Map.html#s12">00299</a>         <span class="keyword">typedef</span> <a class="code" href="structOscl__Pair.html">Oscl_Pair&lt;const_iterator, const_iterator&gt;</a> <a class="code" href="structOscl__Pair.html">pair_citerator_citerator</a>;
203<a name="l00303"></a><a class="code" href="classOscl__Map.html#a28">00303</a>         pair_citerator_citerator <a class="code" href="classOscl__Map.html#a27">equal_range</a>(<span class="keyword">const</span> key_type&amp; x)<span class="keyword"> const</span>
20400304 <span class="keyword">        </span>{
20500305             <span class="keywordflow">return</span> t.<a class="code" href="classOscl__Rb__Tree.html#a27">equal_range</a>(x);
20600306         }
20700307
20800308     <span class="keyword">private</span>:
20900309
21000310 };
21100311
21200312 <span class="comment">//template &lt;class Key, class T, class Compare&gt;</span>
21300313 <span class="comment">//inline bool operator==(const map&lt;Key, T, Compare&gt;&amp; x,</span>
21400314 <span class="comment">//                       const map&lt;Key, T, Compare&gt;&amp; y) {</span>
21500315 <span class="comment">//    return x.size() == y.size() &amp;&amp; equal(x.begin(), x.end(), y.begin());</span>
21600316 <span class="comment">//}</span>
21700317
21800318 <span class="comment">//template &lt;class Key, class T, class Compare&gt;</span>
21900319 <span class="comment">//inline bool operator&lt;(const map&lt;Key, T, Compare&gt;&amp; x,</span>
22000320 <span class="comment">//                      const map&lt;Key, T, Compare&gt;&amp; y) {</span>
22100321 <span class="comment">//    return lexicographical_compare(x.begin(), x.end(), y.begin(), y.end());</span>
22200322 <span class="comment">//}</span>
22300323
22400324
22500328 <span class="preprocessor">#endif</span>
226</pre></div><hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
227<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
228</small></address>
229</body>
230</html>
231