<?xml version="1.0" encoding="utf-8"?> <!-- $Revision$ --> <phpdoc:classref xml:id="class.ds-vector" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"> <title>The Vector class</title> <titleabbrev>Vector</titleabbrev> <partintro> <!-- {{{ Ds\Vector intro --> <section xml:id="ds-vector.intro"> &reftitle.intro; <para> A Vector is a sequence of values in a contiguous buffer that grows and shrinks automatically. It’s the most efficient sequential structure because a value’s index is a direct mapping to its index in the buffer, and the growth factor isn't bound to a specific multiple or exponent. </para> </section> <!-- }}} --> <section xml:id="ds-vector.strengths"> <title xmlns="http://docbook.org/ns/docbook">Strengths</title> <para> <simplelist> <member>Supports array syntax (square brackets).</member> <member>Uses less overall memory than an &array; for the same number of values.</member> <member>Automatically frees allocated memory when its size drops low enough.</member> <member>Capacity does not have to be a power of 2.</member> <member> <function>get</function>, <function>set</function>, <function>push</function>, <function>pop</function> are all O(1). </member> </simplelist> </para> </section> <section xml:id="ds-vector.weaknesses"> <title xmlns="http://docbook.org/ns/docbook">Weaknesses</title> <para> <simplelist> <member> <function>shift</function>, <function>unshift</function>, <function>insert</function> and <function>remove</function> are all O(n). </member> </simplelist> </para> </section> <section xml:id="ds-vector.synopsis"> &reftitle.classsynopsis; <!-- {{{ Synopsis --> <classsynopsis> <ooclass> <classname>Ds\Vector</classname> </ooclass> <!-- {{{ Class synopsis --> <classsynopsisinfo> <ooclass><classname>Ds\Vector</classname></ooclass> <oointerface><interfacename>Ds\Sequence</interfacename></oointerface> </classsynopsisinfo> <!-- }}} --> <classsynopsisinfo role="comment">Constants</classsynopsisinfo> <fieldsynopsis> <modifier>const</modifier> <type>int</type> <varname linkend="ds-vector.constants.min-capacity">Ds\Vector::MIN_CAPACITY</varname> <initializer>10</initializer> </fieldsynopsis> <classsynopsisinfo role="comment">&Methods;</classsynopsisinfo> <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.ds-vector')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis)"> <xi:fallback/> </xi:include> </classsynopsis> <!-- }}} --> </section> <!-- {{{ Ds\Vector constants --> <section xml:id="ds-vector.constants"> &reftitle.constants; <variablelist> <varlistentry xml:id="ds-vector.constants.min-capacity"> <term><constant>Ds\Vector::MIN_CAPACITY</constant></term> <listitem> <para></para> </listitem> </varlistentry> </variablelist> </section> <!-- }}} --> </partintro> &reference.ds.ds.entities.vector; </phpdoc:classref> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t indent-tabs-mode:nil sgml-parent-document:nil sgml-default-dtd-file:"~/.phpdoc/manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: vim600: syn=xml fen fdm=syntax fdl=2 si vim: et tw=78 syn=sgml vi: ts=1 sw=1 -->