File: Dbm.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 (170 lines) | stat: -rw-r--r-- 10,738 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
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<link rel="Start" href="index.html">
<link rel="previous" href="Condition.html">
<link rel="next" href="Digest.html">
<link rel="Up" href="index.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>Dbm</title>
</head>
<body>
<div class="navbar"><a href="Condition.html">Previous</a>
&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="Digest.html">Next</a>
</div>
<center><h1>Module <a href="type_Dbm.html">Dbm</a></h1></center>
<br>
<pre><span class="keyword">module</span> Dbm: <code class="code"><span class="keyword">sig</span></code> <a href="Dbm.html">..</a> <code class="code"><span class="keyword">end</span></code></pre>Interface to the NDBM database.<br>
<hr width="100%">
<pre><span class="keyword">type</span> <a name="TYPEt"></a><code class="type"></code>t </pre>
<div class="info">
The type of file descriptors opened on NDBM databases.<br>
</div>

<br><code><span class="keyword">type</span> <a name="TYPEopen_flag"></a><code class="type"></code>open_flag = </code><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Dbm_rdonly</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Dbm_wronly</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Dbm_rdwr</span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span class="constructor">Dbm_create</span></code></td>
<td class="typefieldcomment" align="left" valign="top" ><code>(*</code></td><td class="typefieldcomment" align="left" valign="top" >Flags for opening a database (see <a href="Dbm.html#VALopendbm"><code class="code"><span class="constructor">Dbm</span>.opendbm</code></a>).</td><td class="typefieldcomment" align="left" valign="bottom" ><code>*)</code></td>
</tr></table>


<pre><span class="keyword">exception</span> <a name="EXCEPTIONDbm_error"></a>Dbm_error <span class="keyword">of</span> <code class="type">string</code></pre>
<div class="info">
Raised by the following functions when an error is encountered.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALopendbm"></a>opendbm : <code class="type">string -> <a href="Dbm.html#TYPEopen_flag">open_flag</a> list -> int -> <a href="Dbm.html#TYPEt">t</a></code></pre><div class="info">
Open a descriptor on an NDBM database. The first argument is
   the name of the database (without the <code class="code">.dir</code> and <code class="code">.pag</code> suffixes).
   The second argument is a list of flags: <code class="code"><span class="constructor">Dbm_rdonly</span></code> opens
   the database for reading only, <code class="code"><span class="constructor">Dbm_wronly</span></code> for writing only,
   <code class="code"><span class="constructor">Dbm_rdwr</span></code> for reading and writing; <code class="code"><span class="constructor">Dbm_create</span></code> causes the
   database to be created if it does not already exist.
   The third argument is the permissions to give to the database
   files, if the database is created.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALclose"></a>close : <code class="type"><a href="Dbm.html#TYPEt">t</a> -> unit</code></pre><div class="info">
Close the given descriptor.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfind"></a>find : <code class="type"><a href="Dbm.html#TYPEt">t</a> -> string -> string</code></pre><div class="info">
<code class="code">find db key</code> returns the data associated with the given
   <code class="code">key</code> in the database opened for the descriptor <code class="code">db</code>.
   Raise <code class="code"><span class="constructor">Not_found</span></code> if the <code class="code">key</code> has no associated data.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALadd"></a>add : <code class="type"><a href="Dbm.html#TYPEt">t</a> -> string -> string -> unit</code></pre><div class="info">
<code class="code">add db key data</code> inserts the pair (<code class="code">key</code>, <code class="code">data</code>) in
   the database <code class="code">db</code>. If the database already contains data
   associated with <code class="code">key</code>, raise <code class="code"><span class="constructor">Dbm_error</span> <span class="string">"Entry already exists"</span></code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALreplace"></a>replace : <code class="type"><a href="Dbm.html#TYPEt">t</a> -> string -> string -> unit</code></pre><div class="info">
<code class="code">replace db key data</code> inserts the pair (<code class="code">key</code>, <code class="code">data</code>) in
   the database <code class="code">db</code>. If the database already contains data
   associated with <code class="code">key</code>, that data is discarded and silently
   replaced by the new <code class="code">data</code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALremove"></a>remove : <code class="type"><a href="Dbm.html#TYPEt">t</a> -> string -> unit</code></pre><div class="info">
<code class="code">remove db key data</code> removes the data associated with <code class="code">key</code>
   in <code class="code">db</code>. If <code class="code">key</code> has no associated data, raise
   <code class="code"><span class="constructor">Dbm_error</span> <span class="string">"dbm_delete"</span></code>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALfirstkey"></a>firstkey : <code class="type"><a href="Dbm.html#TYPEt">t</a> -> string</code></pre><div class="info">
See <a href="Dbm.html#VALnextkey"><code class="code"><span class="constructor">Dbm</span>.nextkey</code></a>.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALnextkey"></a>nextkey : <code class="type"><a href="Dbm.html#TYPEt">t</a> -> string</code></pre><div class="info">
Enumerate all keys in the given database, in an unspecified order.
   <code class="code">firstkey db</code> returns the first key, and repeated calls
   to <code class="code">nextkey db</code> return the remaining keys. <code class="code"><span class="constructor">Not_found</span></code> is raised
   when all keys have been enumerated.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALiter"></a>iter : <code class="type">(string -> string -> 'a) -> <a href="Dbm.html#TYPEt">t</a> -> unit</code></pre><div class="info">
<code class="code">iter f db</code> applies <code class="code">f</code> to each (<code class="code">key</code>, <code class="code">data</code>) pair in
   the database <code class="code">db</code>. <code class="code">f</code> receives <code class="code">key</code> as first argument
   and <code class="code">data</code> as second argument.<br>
</div>
</body></html>