<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title> TemplateOscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt; class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.2.18 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="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>
<hr><h1>Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt; Class Template Reference<br>
<small>
[<a class="el" href="group__osclbase.html">OSCL Base</a>]</small>
</h1><code>#include &lt;<a class="el" href="oscl__linked__list_8h-source.html">oscl_linked_list.h</a>&gt;</code>
<p>
<table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Methods</h2></td></tr>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<tr><td colspan=2><br><h2>Protected Attributes</h2></td></tr>
<tr><td nowrap align=right valign=top><a class="el" href="classOscl__Linked__List.html">Oscl_Linked_List</a>&lt; LLClass,<br>
 Alloc &gt;&nbsp;</td><td valign=bottom><a class="el" href="classOscl__MTLinked__List.html#n0">the_list</a></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<h3>template&lt;class LLClass, class Alloc, class TheLock&gt;<br>
 class Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;</h3>

Oscl_MTLinked_List is a multi-threaded version of the LinkedList. It has mutex protection to allow access by different threads. 
<p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a name="a0" doxytag="Oscl_MTLinked_List::Oscl_MTLinked_List"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::Oscl_MTLinked_List </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Constructor for Oscl_MTLinked_List     </td>
  </tr>
</table>
<a name="a1" doxytag="Oscl_MTLinked_List::~Oscl_MTLinked_List"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::~Oscl_MTLinked_List </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp;          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Destructor for Oscl_MTLinked_List     </td>
  </tr>
</table>
<hr><h2>Member Function Documentation</h2>
<a name="a3" doxytag="Oscl_MTLinked_List::add_element"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::add_element </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">LLClass &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>new_element</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adds 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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>new_element</em>&nbsp;</td><td>
the element to be add in the list. </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
32-bit integer on the success returns 1. </dl>    </td>
  </tr>
</table>
<a name="a4" doxytag="Oscl_MTLinked_List::add_to_front"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::add_to_front </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">LLClass &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>new_element</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Adds 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>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>new_element</em>&nbsp;</td><td>
the element to be add in the list. </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
32-bit integer on the success returns 1. </dl>    </td>
  </tr>
</table>
<a name="a2" doxytag="Oscl_MTLinked_List::dequeue_element"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::dequeue_element </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">LLClass &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>element</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<a name="a5" doxytag="Oscl_MTLinked_List::get_element"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> uint32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::get_element </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">int32&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>index</em>, </td>
        </tr>
        <tr>
          <td></td>
          <td></td>
          <td class="md" nowrap>LLClass &amp;&nbsp;</td>
          <td class="mdname" nowrap>&nbsp; <em>element</em></td>
        </tr>
        <tr>
          <td></td>
          <td class="md">)&nbsp;</td>
          <td class="md" colspan="2"><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Search and returs the element in the Multi Treaded Linked List for passed index. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>index, element</em>&nbsp;</td><td>
The index is the count for the node. </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
32-bit integer on success returns 1 otherwise returns 0. </dl>    </td>
  </tr>
</table>
<a name="a7" doxytag="Oscl_MTLinked_List::get_index"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::get_index </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Returns the index for requested element. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data</em>&nbsp;</td><td>
the element for which index to be return. </td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
32-bit integer if data is found in the list it returns index otherwise it returns -1. </dl>    </td>
  </tr>
</table>
<a name="a9" doxytag="Oscl_MTLinked_List::move_to_end"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::move_to_end </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data_to_move</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Moves the element to end of the list <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data_to_move</em>&nbsp;</td><td>
</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
On success returns 1 otherwise returns 0. </dl>    </td>
  </tr>
</table>
<a name="a10" doxytag="Oscl_MTLinked_List::move_to_front"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::move_to_front </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data_to_move</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Moves the element to front of the list <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data_to_move</em>&nbsp;</td><td>
</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
On success returns 1 otherwise returns 0. </dl>    </td>
  </tr>
</table>
<a name="a8" doxytag="Oscl_MTLinked_List::remove_element"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::remove_element </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const int32&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>index_to_remove</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Removes the element for requested index. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>index_to_remove</em>&nbsp;</td><td>
</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
on success return 1 otherwise return 0. </dl>    </td>
  </tr>
</table>
<a name="a6" doxytag="Oscl_MTLinked_List::remove_element"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <td class="md" nowrap valign="top"> int32 Oscl_MTLinked_List&lt; LLClass, Alloc, TheLock &gt;::remove_element </td>
          <td class="md" valign="top">(&nbsp;</td>
          <td class="md" nowrap valign="top">const LLClass &amp;&nbsp;</td>
          <td class="mdname1" valign="top" nowrap>&nbsp; <em>data_to_remove</em>          </td>
          <td class="md" valign="top">)&nbsp;</td>
          <td class="md" nowrap><code> [inline]</code></td>
        </tr>

      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
Removes the element from the list. <dl compact><dt><b>Parameters: </b></dt><dd>
<table border=0 cellspacing=2 cellpadding=0>
<tr><td valign=top><em>data_to_remove</em>&nbsp;</td><td>
</td></tr>
</table>
</dl><dl compact><dt><b>Returns: </b></dt><dd>
32-bit integer on if element fount in the list returns 1 otherwise returns 0. </dl>    </td>
  </tr>
</table>
<hr><h2>Field Documentation</h2>
<a name="n0" doxytag="Oscl_MTLinked_List::the_list"></a><p>
<table width="100%" cellpadding="2" cellspacing="0" border="0">
  <tr>
    <td class="md">
      <table cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td class="md" colspan="4">
template&lt;class LLClass, class Alloc, class TheLock&gt; </td>
        </tr>
        <tr>
          <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>
      </table>
    </td>
  </tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
  <tr>
    <td>
      &nbsp;
    </td>
    <td>

<p>
    </td>
  </tr>
</table>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="oscl__linked__list_8h-source.html">oscl_linked_list.h</a></ul>
<hr size="1"><img src="pvlogo_small.jpg"><address style="align: right;"><small>OSCL API</small>
<address style="align: left;"><small>Posting Version: OPENCORE_20090310 </small>
</small></address>
</body>
</html>
