• 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> TemplateOscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt; class Reference</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_MTLinked_List&lt; LLClass, Alloc, TheLock &gt; Class Template Reference<br>
10<small>
11[<a class="el" href="group__osclbase.html">OSCL Base</a>]</small>
12</h1><code>#include &lt;<a class="el" href="oscl__linked__list_8h-source.html">oscl_linked_list.h</a>&gt;</code>
13<p>
14<table border=0 cellpadding=0 cellspacing=0>
15<tr><td></td></tr>
16<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
17<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a0">Oscl_MTLinked_List</a> ()</td></tr>
18<tr><td nowrap align=right valign=top>&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a1">~Oscl_MTLinked_List</a> ()</td></tr>
19<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a2">dequeue_element</a> (LLClass &amp;element)</td></tr>
20<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a3">add_element</a> (LLClass &amp;new_element)</td></tr>
21<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a4">add_to_front</a> (LLClass &amp;new_element)</td></tr>
22<tr><td nowrap align=right valign=top>uint32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a5">get_element</a> (int32 index, LLClass &amp;element)</td></tr>
23<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a6">remove_element</a> (const LLClass &amp;data_to_remove)</td></tr>
24<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a7">get_index</a> (const LLClass &amp;data)</td></tr>
25<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a8">remove_element</a> (const int32 index_to_remove)</td></tr>
26<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a9">move_to_end</a> (const LLClass &amp;data_to_move)</td></tr>
27<tr><td nowrap align=right valign=top>int32&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#a10">move_to_front</a> (const LLClass &amp;data_to_move)</td></tr>
28<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
29<tr><td nowrap align=right valign=top><a class="el" href="classOscl__Linked__List.html">Oscl_Linked_List</a>&lt; LLClass,<br>
30 Alloc &gt;&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#n0">the_list</a></td></tr>
31</table>
32<hr><a name="_details"></a><h2>Detailed Description</h2>
33<h3>template&lt;class LLClass, class Alloc, class TheLock&gt;<br>
34 class Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;</h3>
35
36Oscl_MTLinked_List is a multi-threaded version of the LinkedList. It has mutex protection to allow access by different threads.
37<p>
38<hr><h2>Constructor &amp; Destructor Documentation</h2>
39<a name="a0" doxytag="Oscl_MTLinked_List::Oscl_MTLinked_List"></a><p>
40<table width="100%" cellpadding="2" cellspacing="0" border="0">
41  <tr>
42    <td class="md">
43      <table cellpadding="0" cellspacing="0" border="0">
44        <tr>
45          <td class="md" colspan="4">
46template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
47        </tr>
48        <tr>
49          <td class="md" nowrap valign="top"> Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::Oscl_MTLinked_List </td>
50          <td class="md" valign="top">(&nbsp;</td>
51          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
52          <td class="md" valign="top">)&nbsp;</td>
53          <td class="md" nowrap><code> [inline]</code></td>
54        </tr>
55
56      </table>
57    </td>
58  </tr>
59</table>
60<table cellspacing=5 cellpadding=0 border=0>
61  <tr>
62    <td>
63      &nbsp;
64    </td>
65    <td>
66
67<p>
68Constructor for Oscl_MTLinked_List     </td>
69  </tr>
70</table>
71<a name="a1" doxytag="Oscl_MTLinked_List::~Oscl_MTLinked_List"></a><p>
72<table width="100%" cellpadding="2" cellspacing="0" border="0">
73  <tr>
74    <td class="md">
75      <table cellpadding="0" cellspacing="0" border="0">
76        <tr>
77          <td class="md" colspan="4">
78template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
79        </tr>
80        <tr>
81          <td class="md" nowrap valign="top"> Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::~Oscl_MTLinked_List </td>
82          <td class="md" valign="top">(&nbsp;</td>
83          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
84          <td class="md" valign="top">)&nbsp;</td>
85          <td class="md" nowrap><code> [inline]</code></td>
86        </tr>
87
88      </table>
89    </td>
90  </tr>
91</table>
92<table cellspacing=5 cellpadding=0 border=0>
93  <tr>
94    <td>
95      &nbsp;
96    </td>
97    <td>
98
99<p>
100Destructor for Oscl_MTLinked_List     </td>
101  </tr>
102</table>
103<hr><h2>Member Function Documentation</h2>
104<a name="a3" doxytag="Oscl_MTLinked_List::add_element"></a><p>
105<table width="100%" cellpadding="2" cellspacing="0" border="0">
106  <tr>
107    <td class="md">
108      <table cellpadding="0" cellspacing="0" border="0">
109        <tr>
110          <td class="md" colspan="4">
111template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
112        </tr>
113        <tr>
114          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::add_element </td>
115          <td class="md" valign="top">(&nbsp;</td>
116          <td class="md" nowrap valign="top">LLClass &amp;&nbsp;</td>
117          <td class="mdname1" valign="top" nowrap>&nbsp; <em>new_element</em>          </td>
118          <td class="md" valign="top">)&nbsp;</td>
119          <td class="md" nowrap><code> [inline]</code></td>
120        </tr>
121
122      </table>
123    </td>
124  </tr>
125</table>
126<table cellspacing=5 cellpadding=0 border=0>
127  <tr>
128    <td>
129      &nbsp;
130    </td>
131    <td>
132
133<p>
134Adds new element to the Multi Threaded Linked list.if list is already there then it adds element at end of list otherwise it create the list and add the element as first element of list. <dl compact><dt><b>Parameters: </b></dt><dd>
135<table border=0 cellspacing=2 cellpadding=0>
136<tr><td valign=top><em>new_element</em>&nbsp;</td><td>
137the element to be add in the list. </td></tr>
138</table>
139</dl><dl compact><dt><b>Returns: </b></dt><dd>
14032-bit integer on the success returns 1. </dl>    </td>
141  </tr>
142</table>
143<a name="a4" doxytag="Oscl_MTLinked_List::add_to_front"></a><p>
144<table width="100%" cellpadding="2" cellspacing="0" border="0">
145  <tr>
146    <td class="md">
147      <table cellpadding="0" cellspacing="0" border="0">
148        <tr>
149          <td class="md" colspan="4">
150template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
151        </tr>
152        <tr>
153          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::add_to_front </td>
154          <td class="md" valign="top">(&nbsp;</td>
155          <td class="md" nowrap valign="top">LLClass &amp;&nbsp;</td>
156          <td class="mdname1" valign="top" nowrap>&nbsp; <em>new_element</em>          </td>
157          <td class="md" valign="top">)&nbsp;</td>
158          <td class="md" nowrap><code> [inline]</code></td>
159        </tr>
160
161      </table>
162    </td>
163  </tr>
164</table>
165<table cellspacing=5 cellpadding=0 border=0>
166  <tr>
167    <td>
168      &nbsp;
169    </td>
170    <td>
171
172<p>
173Adds new element at the start of the Multi Threaded Linked list. if list is already exist then it adds element at start of list otherwise it create the list and add the element as first element of list. <dl compact><dt><b>Parameters: </b></dt><dd>
174<table border=0 cellspacing=2 cellpadding=0>
175<tr><td valign=top><em>new_element</em>&nbsp;</td><td>
176the element to be add in the list. </td></tr>
177</table>
178</dl><dl compact><dt><b>Returns: </b></dt><dd>
17932-bit integer on the success returns 1. </dl>    </td>
180  </tr>
181</table>
182<a name="a2" doxytag="Oscl_MTLinked_List::dequeue_element"></a><p>
183<table width="100%" cellpadding="2" cellspacing="0" border="0">
184  <tr>
185    <td class="md">
186      <table cellpadding="0" cellspacing="0" border="0">
187        <tr>
188          <td class="md" colspan="4">
189template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
190        </tr>
191        <tr>
192          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::dequeue_element </td>
193          <td class="md" valign="top">(&nbsp;</td>
194          <td class="md" nowrap valign="top">LLClass &amp;&nbsp;</td>
195          <td class="mdname1" valign="top" nowrap>&nbsp; <em>element</em>          </td>
196          <td class="md" valign="top">)&nbsp;</td>
197          <td class="md" nowrap><code> [inline]</code></td>
198        </tr>
199
200      </table>
201    </td>
202  </tr>
203</table>
204<table cellspacing=5 cellpadding=0 border=0>
205  <tr>
206    <td>
207      &nbsp;
208    </td>
209    <td>
210
211<p>
212    </td>
213  </tr>
214</table>
215<a name="a5" doxytag="Oscl_MTLinked_List::get_element"></a><p>
216<table width="100%" cellpadding="2" cellspacing="0" border="0">
217  <tr>
218    <td class="md">
219      <table cellpadding="0" cellspacing="0" border="0">
220        <tr>
221          <td class="md" colspan="4">
222template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
223        </tr>
224        <tr>
225          <td class="md" nowrap valign="top"> uint32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::get_element </td>
226          <td class="md" valign="top">(&nbsp;</td>
227          <td class="md" nowrap valign="top">int32&nbsp;</td>
228          <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
229        </tr>
230        <tr>
231          <td></td>
232          <td></td>
233          <td class="md" nowrap>LLClass &amp;&nbsp;</td>
234          <td class="mdname" nowrap>&nbsp; <em>element</em></td>
235        </tr>
236        <tr>
237          <td></td>
238          <td class="md">)&nbsp;</td>
239          <td class="md" colspan="2"><code> [inline]</code></td>
240        </tr>
241
242      </table>
243    </td>
244  </tr>
245</table>
246<table cellspacing=5 cellpadding=0 border=0>
247  <tr>
248    <td>
249      &nbsp;
250    </td>
251    <td>
252
253<p>
254Search and returs the element in the Multi Treaded Linked List for passed index. <dl compact><dt><b>Parameters: </b></dt><dd>
255<table border=0 cellspacing=2 cellpadding=0>
256<tr><td valign=top><em>index, element</em>&nbsp;</td><td>
257The index is the count for the node. </td></tr>
258</table>
259</dl><dl compact><dt><b>Returns: </b></dt><dd>
26032-bit integer on success returns 1 otherwise returns 0. </dl>    </td>
261  </tr>
262</table>
263<a name="a7" doxytag="Oscl_MTLinked_List::get_index"></a><p>
264<table width="100%" cellpadding="2" cellspacing="0" border="0">
265  <tr>
266    <td class="md">
267      <table cellpadding="0" cellspacing="0" border="0">
268        <tr>
269          <td class="md" colspan="4">
270template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
271        </tr>
272        <tr>
273          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::get_index </td>
274          <td class="md" valign="top">(&nbsp;</td>
275          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
276          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data</em>          </td>
277          <td class="md" valign="top">)&nbsp;</td>
278          <td class="md" nowrap><code> [inline]</code></td>
279        </tr>
280
281      </table>
282    </td>
283  </tr>
284</table>
285<table cellspacing=5 cellpadding=0 border=0>
286  <tr>
287    <td>
288      &nbsp;
289    </td>
290    <td>
291
292<p>
293Returns the index for requested element. <dl compact><dt><b>Parameters: </b></dt><dd>
294<table border=0 cellspacing=2 cellpadding=0>
295<tr><td valign=top><em>data</em>&nbsp;</td><td>
296the element for which index to be return. </td></tr>
297</table>
298</dl><dl compact><dt><b>Returns: </b></dt><dd>
29932-bit integer if data is found in the list it returns index otherwise it returns -1. </dl>    </td>
300  </tr>
301</table>
302<a name="a9" doxytag="Oscl_MTLinked_List::move_to_end"></a><p>
303<table width="100%" cellpadding="2" cellspacing="0" border="0">
304  <tr>
305    <td class="md">
306      <table cellpadding="0" cellspacing="0" border="0">
307        <tr>
308          <td class="md" colspan="4">
309template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
310        </tr>
311        <tr>
312          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::move_to_end </td>
313          <td class="md" valign="top">(&nbsp;</td>
314          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
315          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data_to_move</em>          </td>
316          <td class="md" valign="top">)&nbsp;</td>
317          <td class="md" nowrap><code> [inline]</code></td>
318        </tr>
319
320      </table>
321    </td>
322  </tr>
323</table>
324<table cellspacing=5 cellpadding=0 border=0>
325  <tr>
326    <td>
327      &nbsp;
328    </td>
329    <td>
330
331<p>
332Moves the element to end of the list <dl compact><dt><b>Parameters: </b></dt><dd>
333<table border=0 cellspacing=2 cellpadding=0>
334<tr><td valign=top><em>data_to_move</em>&nbsp;</td><td>
335</td></tr>
336</table>
337</dl><dl compact><dt><b>Returns: </b></dt><dd>
338On success returns 1 otherwise returns 0. </dl>    </td>
339  </tr>
340</table>
341<a name="a10" doxytag="Oscl_MTLinked_List::move_to_front"></a><p>
342<table width="100%" cellpadding="2" cellspacing="0" border="0">
343  <tr>
344    <td class="md">
345      <table cellpadding="0" cellspacing="0" border="0">
346        <tr>
347          <td class="md" colspan="4">
348template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
349        </tr>
350        <tr>
351          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::move_to_front </td>
352          <td class="md" valign="top">(&nbsp;</td>
353          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
354          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data_to_move</em>          </td>
355          <td class="md" valign="top">)&nbsp;</td>
356          <td class="md" nowrap><code> [inline]</code></td>
357        </tr>
358
359      </table>
360    </td>
361  </tr>
362</table>
363<table cellspacing=5 cellpadding=0 border=0>
364  <tr>
365    <td>
366      &nbsp;
367    </td>
368    <td>
369
370<p>
371Moves the element to front of the list <dl compact><dt><b>Parameters: </b></dt><dd>
372<table border=0 cellspacing=2 cellpadding=0>
373<tr><td valign=top><em>data_to_move</em>&nbsp;</td><td>
374</td></tr>
375</table>
376</dl><dl compact><dt><b>Returns: </b></dt><dd>
377On success returns 1 otherwise returns 0. </dl>    </td>
378  </tr>
379</table>
380<a name="a8" doxytag="Oscl_MTLinked_List::remove_element"></a><p>
381<table width="100%" cellpadding="2" cellspacing="0" border="0">
382  <tr>
383    <td class="md">
384      <table cellpadding="0" cellspacing="0" border="0">
385        <tr>
386          <td class="md" colspan="4">
387template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
388        </tr>
389        <tr>
390          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::remove_element </td>
391          <td class="md" valign="top">(&nbsp;</td>
392          <td class="md" nowrap valign="top">const int32&nbsp;</td>
393          <td class="mdname1" valign="top" nowrap>&nbsp; <em>index_to_remove</em>          </td>
394          <td class="md" valign="top">)&nbsp;</td>
395          <td class="md" nowrap><code> [inline]</code></td>
396        </tr>
397
398      </table>
399    </td>
400  </tr>
401</table>
402<table cellspacing=5 cellpadding=0 border=0>
403  <tr>
404    <td>
405      &nbsp;
406    </td>
407    <td>
408
409<p>
410Removes the element for requested index. <dl compact><dt><b>Parameters: </b></dt><dd>
411<table border=0 cellspacing=2 cellpadding=0>
412<tr><td valign=top><em>index_to_remove</em>&nbsp;</td><td>
413</td></tr>
414</table>
415</dl><dl compact><dt><b>Returns: </b></dt><dd>
416on success return 1 otherwise return 0. </dl>    </td>
417  </tr>
418</table>
419<a name="a6" doxytag="Oscl_MTLinked_List::remove_element"></a><p>
420<table width="100%" cellpadding="2" cellspacing="0" border="0">
421  <tr>
422    <td class="md">
423      <table cellpadding="0" cellspacing="0" border="0">
424        <tr>
425          <td class="md" colspan="4">
426template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
427        </tr>
428        <tr>
429          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::remove_element </td>
430          <td class="md" valign="top">(&nbsp;</td>
431          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
432          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data_to_remove</em>          </td>
433          <td class="md" valign="top">)&nbsp;</td>
434          <td class="md" nowrap><code> [inline]</code></td>
435        </tr>
436
437      </table>
438    </td>
439  </tr>
440</table>
441<table cellspacing=5 cellpadding=0 border=0>
442  <tr>
443    <td>
444      &nbsp;
445    </td>
446    <td>
447
448<p>
449Removes the element from the list. <dl compact><dt><b>Parameters: </b></dt><dd>
450<table border=0 cellspacing=2 cellpadding=0>
451<tr><td valign=top><em>data_to_remove</em>&nbsp;</td><td>
452</td></tr>
453</table>
454</dl><dl compact><dt><b>Returns: </b></dt><dd>
45532-bit integer on if element fount in the list returns 1 otherwise returns 0. </dl>    </td>
456  </tr>
457</table>
458<hr><h2>Field Documentation</h2>
459<a name="n0" doxytag="Oscl_MTLinked_List::the_list"></a><p>
460<table width="100%" cellpadding="2" cellspacing="0" border="0">
461  <tr>
462    <td class="md">
463      <table cellpadding="0" cellspacing="0" border="0">
464        <tr>
465          <td class="md" colspan="4">
466template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
467        </tr>
468        <tr>
469          <td class="md" nowrap valign="top"> <a class="el" href="classOscl__Linked__List.html">Oscl_Linked_List</a>&lt;LLClass, Alloc&gt; Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::the_list<code> [protected]</code>
470      </table>
471    </td>
472  </tr>
473</table>
474<table cellspacing=5 cellpadding=0 border=0>
475  <tr>
476    <td>
477      &nbsp;
478    </td>
479    <td>
480
481<p>
482    </td>
483  </tr>
484</table>
485<hr>The documentation for this class was generated from the following file:<ul>
486<li><a class="el" href="oscl__linked__list_8h-source.html">oscl_linked_list.h</a></ul>
487<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
488<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
489</small></address>
490</body>
491</html>
492