/
loadfromfile.xml
136 lines (131 loc) · 4.78 KB
/
loadfromfile.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 12ff796708d2460fed5a241950e667ea938d07e7 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="quickhashintset.loadfromfile" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>QuickHashIntSet::loadFromFile</refname>
<refpurpose>Фабричный метод создаёт набор из файла</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>QuickHashIntSet</type><methodname>QuickHashIntSet::loadFromFile</methodname>
<methodparam><type>string</type><parameter>filename</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>size</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>options</parameter></methodparam>
</methodsynopsis>
<para>
Этот фабричный метод создаёт новый набор из файла определения на диске.
Формат файла состоит из 32-битных целых чисел со знаком, упакованных вместе в системный порядок байтов.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>filename</parameter></term>
<listitem>
<para>
Имя файла, из которого будет считываться набор.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>size</parameter></term>
<listitem>
<para>
Количество списков, которое необходимо настроить.
Указанное число будет автоматически округлено до следующей степени числа 2.
Оно также автоматически ограничивается от <literal>4</literal> до <literal>4194304</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>options</parameter></term>
<listitem>
<para>
Те же параметры, которые принимает конструктор класса;
за исключением того, что игнорируется параметр <literal>size</literal>.
Он автоматически вычисляется как количество записей в хеше, округляется до ближайшей степени числа 2
с максимальным ограничением <literal>4194304</literal>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает новый объект <classname>QuickHashIntSet</classname>.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Пример использования <function>QuickHashIntSet::loadFromFile</function></title>
<programlisting role="php">
<![CDATA[
<?php
$file = dirname( __FILE__ ) . "/simple.set";
$set = QuickHashIntSet::loadFromFile(
$file,
QuickHashIntSet::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Ключ %3d (%2x) %s\n",
$key, $key,
$set->exists( $key ) ? 'установлен' : 'не установлен'
);
}
?>
]]>
</programlisting>
&example.outputs.similar;
<screen>
<![CDATA[
Ключ 0 ( 0) не установлен
Ключ 1 ( 1) установлен
Ключ 2 ( 2) установлен
Ключ 3 ( 3) установлен
Ключ 4 ( 4) не установлен
Ключ 5 ( 5) установлен
Ключ 6 ( 6) не установлен
Ключ 7 ( 7) установлен
Ключ 8 ( 8) не установлен
Ключ 9 ( 9) не установлен
Ключ 10 ( a) не установлен
Ключ 11 ( b) установлен
Ключ 12 ( c) не установлен
Ключ 13 ( d) установлен
Ключ 14 ( e) не установлен
Ключ 15 ( f) не установлен
]]>
</screen>
</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
-->