<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>The Vector class</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="pht-hashtable.unlock.html">pht\HashTable::unlock</a></div> <div class="next" style="text-align: right; float: right;"><a href="pht-vector.construct.html">pht\Vector::__construct</a></div> <div class="up"><a href="book.pht.html">pht</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="class.pht-vector" class="reference"> <h1 class="title">The Vector class</h1> <div class="partintro"><p class="verinfo">(PECL pht >= 0.0.1)</p> <div class="section" id="pht-vector.intro"> <h2 class="title">Introduction</h2> <p class="para"> The <strong class="classname">pht\Vector</strong> class is one of the Inter-Thread Communication (ITC) data structures exposed by pht. It can be safely passed around between threads, and manipulated by multiple threads using the mutex locks that have been packed in with the data structure. It is reference-counted across threads, and so is does not need to be explicitly destroyed. </p> <p class="para"> The <strong class="classname">pht\Vector</strong> class enables for array access upon its objects (along with the <span class="function"><a href="function.isset.html" class="function">isset()</a></span> and <span class="function"><a href="function.unset.html" class="function">unset()</a></span> functions). The <a href="class.arrayaccess.html" class="classname">ArrayAccess</a> interface is not explicitly implemented, however, because it is only needed for such abilities by userland classes. </p> </div> <div class="section" id="pht-vector.synopsis"> <h2 class="title">Class synopsis</h2> <div class="classsynopsis"> <div class="ooclass"></div> <div class="classsynopsisinfo"> <span class="ooclass"> <strong class="classname">pht\Vector</strong> </span> <span class="oointerface">implements <span class="interfacename"><a href="class.pht-threaded.html" class="interfacename">pht\Threaded</a></span> </span> {</div> <div class="classsynopsisinfo classsynopsisinfo_comment">/* Methods */</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">Vector</span> <span class="methodname"><a href="pht-vector.construct.html" class="methodname">__construct</a></span> ([ <span class="methodparam"><span class="type">int</span> <code class="parameter">$size</code><span class="initializer"> = 0</span></span> [, <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code><span class="initializer"> = 0</span></span> ]] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.deleteAt.html" class="methodname">deleteAt</a></span> ( <span class="methodparam"><span class="type">int</span> <code class="parameter">$offset</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.insertAt.html" class="methodname">insertAt</a></span> ( <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span> , <span class="methodparam"><span class="type">int</span> <code class="parameter">$offset</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.lock.html" class="methodname">lock</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">mixed</span> <span class="methodname"><a href="pht-vector.pop.html" class="methodname">pop</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.push.html" class="methodname">push</a></span> ( <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.resize.html" class="methodname">resize</a></span> ( <span class="methodparam"><span class="type">int</span> <code class="parameter">$size</code></span> [, <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code><span class="initializer"> = 0</span></span> ] )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">mixed</span> <span class="methodname"><a href="pht-vector.shift.html" class="methodname">shift</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">int</span> <span class="methodname"><a href="pht-vector.size.html" class="methodname">size</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.unlock.html" class="methodname">unlock</a></span> ( <span class="methodparam">void</span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.unshift.html" class="methodname">unshift</a></span> ( <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span> )</div> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="type">void</span> <span class="methodname"><a href="pht-vector.updateAt.html" class="methodname">updateAt</a></span> ( <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$value</code></span> , <span class="methodparam"><span class="type">int</span> <code class="parameter">$offset</code></span> )</div> }</div> </div> </div> <h2>Table of Contents</h2><ul class="chunklist chunklist_reference"><li><a href="pht-vector.construct.html">pht\Vector::__construct</a> — Vector creation</li><li><a href="pht-vector.deleteAt.html">pht\Vector::deleteAt</a> — Deletes a value in the vector</li><li><a href="pht-vector.insertAt.html">pht\Vector::insertAt</a> — Inserts a value into the vector</li><li><a href="pht-vector.lock.html">pht\Vector::lock</a> — Acquires the vector's mutex lock</li><li><a href="pht-vector.pop.html">pht\Vector::pop</a> — Pops a value to the vector</li><li><a href="pht-vector.push.html">pht\Vector::push</a> — Pushes a value to the vector</li><li><a href="pht-vector.resize.html">pht\Vector::resize</a> — Resizes a vector</li><li><a href="pht-vector.shift.html">pht\Vector::shift</a> — Shifts a value from the vector</li><li><a href="pht-vector.size.html">pht\Vector::size</a> — Gets the size of the vector</li><li><a href="pht-vector.unlock.html">pht\Vector::unlock</a> — Releases the vector's mutex lock</li><li><a href="pht-vector.unshift.html">pht\Vector::unshift</a> — Unshifts a value to the vector front</li><li><a href="pht-vector.updateAt.html">pht\Vector::updateAt</a> — Updates a value in the vector</li></ul> </div> <hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="pht-hashtable.unlock.html">pht\HashTable::unlock</a></div> <div class="next" style="text-align: right; float: right;"><a href="pht-vector.construct.html">pht\Vector::__construct</a></div> <div class="up"><a href="book.pht.html">pht</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>