Files
2024-06-19 05:44:23 +03:00

110 lines
4.3 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 12ff796708d2460fed5a241950e667ea938d07e7 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="quickhashintstringhash.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>QuickHashIntStringHash::__construct</refname>
<refpurpose>Создаёт новый объект QuickHashIntStringHash</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <methodname>QuickHashIntStringHash::__construct</methodname>
<methodparam><type>int</type><parameter>size</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
</methodsynopsis>
<para>
Конструктор создаёт новый объект <classname>QuickHashIntStringHash</classname>.
Размер — количество списков бакетов, которые требуется создать.
Чем больше списков, тем меньше будет коллизий. Также поддерживаются опции.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
Количество списков бакетов для настройки.
Метод автоматически округлит заданное число в бо́льшую сторону до следующей степени числа 2.
Число также автоматически ограничивается значениями от <literal>64</literal> до <literal>4 194 304</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
Разрешается указывать следующие опции:
константу <constant>QuickHashIntStringHash::CHECK_FOR_DUPES</constant>,
которая гарантирует, что метод не будет добавлять в хеш повторяющиеся записи;
<constant>QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC</constant> чтобы не использовать внутренний менеджер памяти PHP,
а также одну из констант: <constant>QuickHashIntStringHash::HASHER_NO_HASH</constant>,
<constant>QuickHashIntStringHash::HASHER_JENKINS1</constant> или <constant>QuickHashIntStringHash::HASHER_JENKINS2</constant>.
Последние три параметра определяют, какой алгоритм хеширования использовать.
Параметры можно комбинировать побитовыми операторами.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Метод возвращает новый объект <classname>QuickHashIntStringHash</classname>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования метода <function>QuickHashIntStringHash::__construct</function></title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(new QuickHashIntStringHash(1024));
var_dump(new QuickHashIntStringHash(1024, QuickHashIntStringHash::CHECK_FOR_DUPES));
var_dump(
new QuickHashIntStringHash(
1024,
QuickHashIntStringHash::DO_NOT_USE_ZEND_ALLOC | QuickHashIntStringHash::HASHER_JENKINS2
)
);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
</refentry>
<!-- 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
-->