File: Weak.S.html

package info (click to toggle)
ocaml-doc 3.09-1
  • links: PTS
  • area: non-free
  • in suites: etch, etch-m68k
  • size: 10,428 kB
  • ctags: 4,963
  • sloc: ml: 9,244; makefile: 2,413; ansic: 122; sh: 49; asm: 17
file content (144 lines) | stat: -rw-r--r-- 10,409 bytes parent folder | download
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
137
138
139
140
141
142
143
144
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="Start" href="index.html">
<link rel="Up" href="Weak.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Arg" rel="Chapter" href="Arg.html">
<link title="Arith_status" rel="Chapter" href="Arith_status.html">
<link title="Array" rel="Chapter" href="Array.html">
<link title="ArrayLabels" rel="Chapter" href="ArrayLabels.html">
<link title="Big_int" rel="Chapter" href="Big_int.html">
<link title="Bigarray" rel="Chapter" href="Bigarray.html">
<link title="Buffer" rel="Chapter" href="Buffer.html">
<link title="Callback" rel="Chapter" href="Callback.html">
<link title="CamlinternalMod" rel="Chapter" href="CamlinternalMod.html">
<link title="CamlinternalOO" rel="Chapter" href="CamlinternalOO.html">
<link title="Char" rel="Chapter" href="Char.html">
<link title="Complex" rel="Chapter" href="Complex.html">
<link title="Condition" rel="Chapter" href="Condition.html">
<link title="Dbm" rel="Chapter" href="Dbm.html">
<link title="Digest" rel="Chapter" href="Digest.html">
<link title="Dynlink" rel="Chapter" href="Dynlink.html">
<link title="Event" rel="Chapter" href="Event.html">
<link title="Filename" rel="Chapter" href="Filename.html">
<link title="Format" rel="Chapter" href="Format.html">
<link title="Gc" rel="Chapter" href="Gc.html">
<link title="Genlex" rel="Chapter" href="Genlex.html">
<link title="Graphics" rel="Chapter" href="Graphics.html">
<link title="GraphicsX11" rel="Chapter" href="GraphicsX11.html">
<link title="Hashtbl" rel="Chapter" href="Hashtbl.html">
<link title="Int32" rel="Chapter" href="Int32.html">
<link title="Int64" rel="Chapter" href="Int64.html">
<link title="Lazy" rel="Chapter" href="Lazy.html">
<link title="Lexing" rel="Chapter" href="Lexing.html">
<link title="List" rel="Chapter" href="List.html">
<link title="ListLabels" rel="Chapter" href="ListLabels.html">
<link title="Map" rel="Chapter" href="Map.html">
<link title="Marshal" rel="Chapter" href="Marshal.html">
<link title="MoreLabels" rel="Chapter" href="MoreLabels.html">
<link title="Mutex" rel="Chapter" href="Mutex.html">
<link title="Nativeint" rel="Chapter" href="Nativeint.html">
<link title="Num" rel="Chapter" href="Num.html">
<link title="Obj" rel="Chapter" href="Obj.html">
<link title="Oo" rel="Chapter" href="Oo.html">
<link title="Parsing" rel="Chapter" href="Parsing.html">
<link title="Pervasives" rel="Chapter" href="Pervasives.html">
<link title="Printexc" rel="Chapter" href="Printexc.html">
<link title="Printf" rel="Chapter" href="Printf.html">
<link title="Queue" rel="Chapter" href="Queue.html">
<link title="Random" rel="Chapter" href="Random.html">
<link title="Scanf" rel="Chapter" href="Scanf.html">
<link title="Set" rel="Chapter" href="Set.html">
<link title="Sort" rel="Chapter" href="Sort.html">
<link title="Stack" rel="Chapter" href="Stack.html">
<link title="StdLabels" rel="Chapter" href="StdLabels.html">
<link title="Str" rel="Chapter" href="Str.html">
<link title="Stream" rel="Chapter" href="Stream.html">
<link title="String" rel="Chapter" href="String.html">
<link title="StringLabels" rel="Chapter" href="StringLabels.html">
<link title="Sys" rel="Chapter" href="Sys.html">
<link title="Thread" rel="Chapter" href="Thread.html">
<link title="ThreadUnix" rel="Chapter" href="ThreadUnix.html">
<link title="Unix" rel="Chapter" href="Unix.html">
<link title="UnixLabels" rel="Chapter" href="UnixLabels.html">
<link title="Weak" rel="Chapter" href="Weak.html"><title>Weak.S</title>
</head>
<body>
<div class="navbar">&nbsp;<a href="Weak.html">Up</a>
&nbsp;</div>
<center><h1>Module type <a href="type_Weak.S.html">Weak.S</a></h1></center>
<br>
<pre><span class="keyword">module type</span> S = <code class="code"><span class="keyword">sig</span></code> <a href="Weak.S.html">..</a> <code class="code"><span class="keyword">end</span></code></pre>The output signature of the functor <a href="Weak.Make.html"><code class="code"><span class="constructor">Weak</span>.<span class="constructor">Make</span></code></a>.<br>
<hr width="100%">
<pre><span class="keyword">type</span> <a name="TYPEdata"></a><code class="type"></code>data </pre>
<div class="info">
The type of the elements stored in the table.<br>
</div>

<pre><span class="keyword">type</span> <a name="TYPEt"></a><code class="type"></code>t </pre>
<div class="info">
The type of tables that contain elements of type <code class="code">data</code>.
        Note that weak hash tables cannot be marshaled using
        <a href="Pervasives.html#VALoutput_value"><code class="code">output_value</code></a> or the functions of the <a href="Marshal.html"><code class="code"><span class="constructor">Marshal</span></code></a>
        module.<br>
</div>

<pre><span class="keyword">val</span> <a name="VALcreate"></a>create : <code class="type">int -> <a href="Weak.S.html#TYPEt">t</a></code></pre><div class="info">
<code class="code">create n</code> creates a new empty weak hash table, of initial
        size <code class="code">n</code>.  The table will grow as needed.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALclear"></a>clear : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> unit</code></pre><div class="info">
Remove all elements from the table.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALmerge"></a>merge : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> <a href="Weak.S.html#TYPEdata">data</a> -> <a href="Weak.S.html#TYPEdata">data</a></code></pre><div class="info">
<code class="code">merge t x</code> returns an instance of <code class="code">x</code> found in <code class="code">t</code> if any,
        or else adds <code class="code">x</code> to <code class="code">t</code> and return <code class="code">x</code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALadd"></a>add : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> <a href="Weak.S.html#TYPEdata">data</a> -> unit</code></pre><div class="info">
<code class="code">add t x</code> adds <code class="code">x</code> to <code class="code">t</code>.  If there is already an instance
        of <code class="code">x</code> in <code class="code">t</code>, it is unspecified which one will be
        returned by subsequent calls to <code class="code">find</code> and <code class="code">merge</code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALremove"></a>remove : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> <a href="Weak.S.html#TYPEdata">data</a> -> unit</code></pre><div class="info">
<code class="code">remove t x</code> removes from <code class="code">t</code> one instance of <code class="code">x</code>.  Does
        nothing if there is no instance of <code class="code">x</code> in <code class="code">t</code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfind"></a>find : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> <a href="Weak.S.html#TYPEdata">data</a> -> <a href="Weak.S.html#TYPEdata">data</a></code></pre><div class="info">
<code class="code">find t x</code> returns an instance of <code class="code">x</code> found in <code class="code">t</code>.
        Raise <code class="code"><span class="constructor">Not_found</span></code> if there is no such element.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfind_all"></a>find_all : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> <a href="Weak.S.html#TYPEdata">data</a> -> <a href="Weak.S.html#TYPEdata">data</a> list</code></pre><div class="info">
<code class="code">find_all t x</code> returns a list of all the instances of <code class="code">x</code>
        found in <code class="code">t</code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALmem"></a>mem : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> <a href="Weak.S.html#TYPEdata">data</a> -> bool</code></pre><div class="info">
<code class="code">mem t x</code> returns <code class="code"><span class="keyword">true</span></code> if there is at least one instance
        of <code class="code">x</code> in <code class="code">t</code>, false otherwise.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALiter"></a>iter : <code class="type">(<a href="Weak.S.html#TYPEdata">data</a> -> unit) -> <a href="Weak.S.html#TYPEt">t</a> -> unit</code></pre><div class="info">
<code class="code">iter f t</code> calls <code class="code">f</code> on each element of <code class="code">t</code>, in some unspecified
        order.  It is not specified what happens if <code class="code">f</code> tries to change
        <code class="code">t</code> itself.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfold"></a>fold : <code class="type">(<a href="Weak.S.html#TYPEdata">data</a> -> 'a -> 'a) -> <a href="Weak.S.html#TYPEt">t</a> -> 'a -> 'a</code></pre><div class="info">
<code class="code">fold f t init</code> computes <code class="code">(f d1 (... (f dN init)))</code> where
        <code class="code">d1 ... dN</code> are the elements of <code class="code">t</code> in some unspecified order.
        It is not specified what happens if <code class="code">f</code> tries to change <code class="code">t</code>
        itself.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALcount"></a>count : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> int</code></pre><div class="info">
Count the number of elements in the table.  <code class="code">count t</code> gives the
        same result as <code class="code">fold (<span class="keyword">fun</span> _ n <span class="keywordsign">-&gt;</span> n+1) t 0</code> but does not delay the
        deallocation of the dead elements.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALstats"></a>stats : <code class="type"><a href="Weak.S.html#TYPEt">t</a> -> int * int * int * int * int * int</code></pre><div class="info">
Return statistics on the table.  The numbers are, in order:
        table length, number of entries, sum of bucket lengths,
        smallest bucket length, median bucket length, biggest bucket length.<br>
</div>
</body></html>