This file is indexed.

/usr/share/doc/libdose3-ocaml-dev/dose3.docdir/CudfAdd.html is in libdose3-ocaml-dev 4.0.2-4.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<link rel="Start" href="index.html">
<link rel="next" href="EdosSolver.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 class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.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="CudfAdd" rel="Chapter" href="CudfAdd.html">
<link title="EdosSolver" rel="Chapter" href="EdosSolver.html">
<link title="Input" rel="Chapter" href="Input.html">
<link title="Util" rel="Chapter" href="Util.html">
<link title="Format822" rel="Chapter" href="Format822.html">
<link title="Versioning" rel="Chapter" href="Versioning.html">
<link title="Debian_version" rel="Chapter" href="Debian_version.html">
<link title="Semantic_version" rel="Chapter" href="Semantic_version.html">
<link title="Depsolver" rel="Chapter" href="Depsolver.html">
<link title="Diagnostic" rel="Chapter" href="Diagnostic.html">
<link title="Depsolver_int" rel="Chapter" href="Depsolver_int.html">
<link title="Diagnostic_int" rel="Chapter" href="Diagnostic_int.html">
<link title="Flatten" rel="Chapter" href="Flatten.html">
<link title="Debcudf" rel="Chapter" href="Debcudf.html">
<link title="Packages" rel="Chapter" href="Packages.html">
<link title="Sources" rel="Chapter" href="Sources.html">
<link title="Release" rel="Chapter" href="Release.html">
<link title="Apt" rel="Chapter" href="Apt.html">
<link title="Evolution" rel="Chapter" href="Evolution.html">
<link title="Edsp" rel="Chapter" href="Edsp.html">
<link title="Debutil" rel="Chapter" href="Debutil.html">
<link title="Distcheck" rel="Chapter" href="Distcheck.html">
<link title="Ceve" rel="Chapter" href="Ceve.html">
<link title="Apt-cudf" rel="Chapter" href="Apt-cudf.html">
<link title="Outdated" rel="Chapter" href="Outdated.html">
<link title="Challenged" rel="Chapter" href="Challenged.html">
<link title="StdDebian" rel="Chapter" href="StdDebian.html">
<link title="StdDebug" rel="Chapter" href="StdDebug.html">
<link title="StdLoaders" rel="Chapter" href="StdLoaders.html">
<link title="StdOptions" rel="Chapter" href="StdOptions.html">
<link title="StdUtils" rel="Chapter" href="StdUtils.html">
<link title="Strongdeps" rel="Chapter" href="Strongdeps.html">
<link title="Strongconflicts" rel="Chapter" href="Strongconflicts.html">
<link title="Strongdeps_int" rel="Chapter" href="Strongdeps_int.html">
<link title="Strongconflicts_int" rel="Chapter" href="Strongconflicts_int.html">
<link title="Defaultgraphs" rel="Chapter" href="Defaultgraphs.html">
<link title="Statistics" rel="Chapter" href="Statistics.html"><link title="Basic comparison operations for packages" rel="Section" href="#2_Basiccomparisonoperationsforpackages">
<link title="Specialized data structures for CUDF packages" rel="Section" href="#2_SpecializeddatastructuresforCUDFpackages">
<link title="Extended function on Cudf data types " rel="Section" href="#2_ExtendedfunctiononCudfdatatypes">
<link title="Functions to encode and decode strings. " rel="Section" href="#2_Functionstoencodeanddecodestrings">
<link title="Additional functions on the CUDF data types. " rel="Section" href="#2_AdditionalfunctionsontheCUDFdatatypes">
<link title="Formatting, printing, converting to string. " rel="Section" href="#2_Formattingprintingconvertingtostring">
<title>CudfAdd</title>
</head>
<body>
<div class="navbar">&nbsp;<a class="up" href="index.html" title="Index">Up</a>
&nbsp;<a class="post" href="EdosSolver.html" title="EdosSolver">Next</a>
</div>
<h1>Module <a href="type_CudfAdd.html">CudfAdd</a></h1>

<pre><span class="keyword">module</span> CudfAdd: <code class="code">sig</code> <a href="CudfAdd.html">..</a> <code class="code">end</code></pre><div class="info module top">
Library of additional functions for the CUDF format.<br>
</div>
<hr width="100%">
<br>
<h2 id="2_Basiccomparisonoperationsforpackages">Basic comparison operations for packages</h2><br>

<pre><span id="VALequal"><span class="keyword">val</span> equal</span> : <code class="type">Cudf.package -> Cudf.package -> bool</code></pre><div class="info ">
Equality test: two CUDF packages are equal if their names and versions are equal.<br>
</div>

<pre><span id="VALcompare"><span class="keyword">val</span> compare</span> : <code class="type">Cudf.package -> Cudf.package -> int</code></pre><div class="info ">
Compare function: compares two CUDF packages using standard CUDF comparison operator (i.e. comparing by their name and version).<br>
</div>
<br>
<h2 id="2_SpecializeddatastructuresforCUDFpackages">Specialized data structures for CUDF packages</h2><br>

<pre><span id="VALhash"><span class="keyword">val</span> hash</span> : <code class="type">Cudf.package -> int</code></pre><div class="info ">
A hash function for CUDF packages, using only their name and version.<br>
</div>

<pre><span id="VALsort"><span class="keyword">val</span> sort</span> : <code class="type">Cudf.package list -> Cudf.package list</code></pre><div class="info ">
Sort function: sorts a CUDF packages list using the standard CUDF comparison operator in ascending order<br>
</div>
<br>
Data structures:<br>

<pre><span class="keyword">module</span> <a href="CudfAdd.Cudf_hashtbl.html">Cudf_hashtbl</a>: <code class="type">Hashtbl.S</code><code class="type">  with type key = Cudf.package</code></pre><div class="info">
Specialized hashtable for CUDF packages.
</div>

<pre><span class="keyword">module</span> <a href="CudfAdd.Cudf_set.html">Cudf_set</a>: <code class="type">Set.S</code><code class="type">  with type elt = Cudf.package</code></pre><div class="info">
Specialized set data structure for CUDF packages.
</div>

<pre><span id="VALto_set"><span class="keyword">val</span> to_set</span> : <code class="type">Cudf_set.elt list -> Cudf_set.t</code></pre><div class="info ">
Convert a list of CUDF packages to a set of CUDF packages.<br>
</div>
<br>
<h2 id="2_ExtendedfunctiononCudfdatatypes">Extended function on Cudf data types </h2><br>

<pre><span id="VALwho_provides"><span class="keyword">val</span> who_provides</span> : <code class="type">Cudf.universe -> Cudf_types.vpkg -> Cudf.package list</code></pre><div class="info ">
Return the list of packages that that respect the given constraint<br>
</div>

<pre><span id="VALresolve_deps"><span class="keyword">val</span> resolve_deps</span> : <code class="type">Cudf.universe -> Cudf_types.vpkglist -> Cudf.package list</code></pre><div class="info ">
Return the list of packages satisfying the vpkg list<br>
</div>

<pre><span id="VALwho_depends"><span class="keyword">val</span> who_depends</span> : <code class="type">Cudf.universe -> Cudf.package -> Cudf.package list list</code></pre><div class="info ">
Returns the list of packages that are dependencies of the given package<br>
</div>

<pre><span id="TYPEctable"><span class="keyword">type</span> <code class="type"></code>ctable</span> = <code class="type">(int, int list Pervasives.ref) ExtLib.Hashtbl.t</code> </pre>
<div class="info ">
A table to associate to each id the list of packages id that are in
    conflict with it. Reflexive conflicts are made explicit.<br>
</div>


<pre><span id="VALinit_conflicts"><span class="keyword">val</span> init_conflicts</span> : <code class="type">Cudf.universe -> <a href="CudfAdd.html#TYPEctable">ctable</a></code></pre><div class="info ">
Create a ctable from a package universe<br>
</div>

<pre><span id="VALwho_conflicts"><span class="keyword">val</span> who_conflicts</span> : <code class="type"><a href="CudfAdd.html#TYPEctable">ctable</a> -> Cudf.universe -> Cudf.package -> Cudf.package list</code></pre><div class="info ">
Return the list of packages in conflict with the given package<br>
</div>

<pre><span id="VALresolve_vpkg_int"><span class="keyword">val</span> resolve_vpkg_int</span> : <code class="type">Cudf.universe -> Cudf_types.vpkg -> int list</code></pre><div class="info ">
Like who_provides but returns a list of cudf ids<br>
</div>

<pre><span id="VALresolve_vpkgs_int"><span class="keyword">val</span> resolve_vpkgs_int</span> : <code class="type">Cudf.universe -> Cudf_types.vpkglist -> int list</code></pre><div class="info ">
Like resolve_deps but returns a list of cudf ids<br>
</div>
<br>
<h2 id="2_Functionstoencodeanddecodestrings">Functions to encode and decode strings. </h2><br>

<pre><span id="VALencode"><span class="keyword">val</span> encode</span> : <code class="type">string -> string</code></pre><div class="info ">
Encode a string.
<p>

    Replaces all the "not allowed" characters
    with their ASCII code (in hexadecimal format),
    prefixed with a '%' sign.
<p>

    Only "allowed" characters are letters, numbers and these: <code class="code">@/+().-</code>,
    all the others are replaced.
<p>

    Examples:
    <ul>
<li><code class="code">encode "ab"  = "ab"</code></li>
<li><code class="code">encode "|"   = "%7c"</code></li>
<li><code class="code">encode "a|b" = "a%7cb"</code></li>
</ul>
<br>
</div>

<pre><span id="VALdecode"><span class="keyword">val</span> decode</span> : <code class="type">string -> string</code></pre><div class="info ">
Decode a string. Opposite of the <code class="code">encode</code> function.
<p>

    Replaces all the encoded "not allowed" characters
    in the string by their original (i.e. not encoded) versions.
<p>

    Examples:
    <ul>
<li><code class="code">decode "ab" = "ab"</code></li>
<li><code class="code">decode "%7c" = "|"</code></li>
<li><code class="code">decode "a%7cb" = "a|b"</code></li>
</ul>
<br>
</div>
<br>
<h2 id="2_AdditionalfunctionsontheCUDFdatatypes">Additional functions on the CUDF data types. </h2><br>

<pre><span id="VALlatest"><span class="keyword">val</span> latest</span> : <code class="type">Cudf.package list -> Cudf.package list</code></pre><div class="info ">
Returns a list of packages containing for each package only the
    latest version<br>
</div>

<pre><span class="keyword">module</span> <a href="CudfAdd.StringSet.html">StringSet</a>: <code class="type">Set.S</code><code class="type">  with type elt = ExtLib.String.t</code></pre><div class="info">
Set of strings
</div>

<pre><span id="VALpkgnames"><span class="keyword">val</span> pkgnames</span> : <code class="type">Cudf.universe -> StringSet.t</code></pre><div class="info ">
Returns the set of all names in the given universe<br>
</div>

<pre><span id="VALadd_properties"><span class="keyword">val</span> add_properties</span> : <code class="type">Cudf.preamble -> Cudf_types.typedecl -> Cudf.preamble</code></pre><div class="info ">
Add a new property to the given cudf preamble<br>
</div>

<pre><span id="VALget_property"><span class="keyword">val</span> get_property</span> : <code class="type">string -> Cudf.package -> string</code></pre><div class="info ">
return the value of the requested property. 
 * emit a warning and raise Not_found if the property does not exists<br>
</div>

<pre><span id="VALis_essential"><span class="keyword">val</span> is_essential</span> : <code class="type">Cudf.package -> bool</code></pre><div class="info ">
Returns true if the package is essential, that is the cudf package has
    a extra property named "essential" and its value is "yes"<br>
</div>

<pre><span id="VALrealversionmap"><span class="keyword">val</span> realversionmap</span> : <code class="type">Cudf.package list -><br>       (Cudf_types.pkgname * string, Cudf.package) ExtLib.Hashtbl.t</code></pre><div class="info ">
build a hash table that associates (package name, String version) to CUDF packages<br>
</div>

<pre><span id="VALvartoint"><span class="keyword">val</span> vartoint</span> : <code class="type">Cudf.universe -> Cudf.package -> int</code></pre><div class="info ">
Return the unique cudf id of a package in a universe<br>
</div>

<pre><span id="VALinttovar"><span class="keyword">val</span> inttovar</span> : <code class="type">Cudf.universe -> int -> Cudf.package</code></pre><div class="info ">
Given a universe and a cudf id returns the corresponding package.
    Raise Not_found if the id does not correspond to a package.<br>
</div>

<pre><span id="VALcudfop"><span class="keyword">val</span> cudfop</span> : <code class="type">(string * string) option -><br>       ([> `Eq | `Geq | `Gt | `Leq | `Lt | `Neq ] * string) option</code></pre>
<pre><span id="VALcompute_pool"><span class="keyword">val</span> compute_pool</span> : <code class="type">Cudf.universe -> int list list array * int list array</code></pre>
<pre><span id="VALadd_to_package_list"><span class="keyword">val</span> add_to_package_list</span> : <code class="type">('a, 'b list Pervasives.ref) ExtLib.Hashtbl.t -> 'a -> 'b -> unit</code></pre>
<pre><span id="VALget_package_list"><span class="keyword">val</span> get_package_list</span> : <code class="type">('a, 'b list Pervasives.ref) ExtLib.Hashtbl.t -> 'a -> 'b list</code></pre>
<pre><span id="VALnormalize_set"><span class="keyword">val</span> normalize_set</span> : <code class="type">int list -> int list</code></pre><div class="info ">
normalize_set l returns the list l without any duplicate element.<br>
</div>
<br>
<h2 id="2_Formattingprintingconvertingtostring">Formatting, printing, converting to string. </h2><br>

<pre><span id="VALstring_of"><span class="keyword">val</span> string_of</span> : <code class="type">(Format.formatter -> 'a -> 'b) -> 'a -> string</code></pre>
<pre><span id="VALpp_version"><span class="keyword">val</span> pp_version</span> : <code class="type">Format.formatter -> Cudf.package -> unit</code></pre>
<pre><span id="VALpp_package"><span class="keyword">val</span> pp_package</span> : <code class="type">Format.formatter -> Cudf.package -> unit</code></pre>
<pre><span id="VALstring_of_version"><span class="keyword">val</span> string_of_version</span> : <code class="type">Cudf.package -> string</code></pre><div class="info ">
return a string containg either the value of the optional field
    "number" or the cudf version<br>
</div>

<pre><span id="VALstring_of_package"><span class="keyword">val</span> string_of_package</span> : <code class="type">Cudf.package -> string</code></pre><div class="info ">
return a string of the form "name ( = version)"<br>
</div>

<pre><span id="TYPEpp"><span class="keyword">type</span> <code class="type"></code>pp</span> = <code class="type">Cudf.package -> string * string * (string * (string * bool)) list</code> </pre>


<pre><span id="VALpp"><span class="keyword">val</span> pp</span> : <code class="type">(Cudf_types.pkgname * Cudf_types.version -> 'a * Cudf_types.pkgname) -><br>       ?fields:string list -> ?decode:(Cudf_types.pkgname -> string) -> <a href="CudfAdd.html#TYPEpp">pp</a></code></pre><div class="info ">
<code class="code">pp ?decode from_cudf pkg</code> package pretty printer.
    <code class="code">from_cudf</code> a function that gets a (name,cudfversion) pair and returns a (name,realversion).
    <code class="code">?fields</code> additional fields to print.
    <code class="code">?decode</code> a function that decode the package name and version.
<p>

    returns : a pair (name,versiom,property list)
<p>

    note that if the package has version less then 0, then the version is printed
    as "nan"<br>
</div>

<pre><span id="VALdefault_pp"><span class="keyword">val</span> default_pp</span> : <code class="type"><a href="CudfAdd.html#TYPEpp">pp</a></code></pre><div class="info ">
<code class="code">default_pp</code> default package printer. Extracts string values from a 
    cudf package : Name, Version, Fields. Where Fields is a list of 
    field name , value pairs . If the version of the package is
    a negative number, the version version if printed as "nan".<br>
</div>

<pre><span id="VALpp_vpkg"><span class="keyword">val</span> pp_vpkg</span> : <code class="type"><a href="CudfAdd.html#TYPEpp">pp</a> -> Format.formatter -> Cudf_types.vpkg -> unit</code></pre><div class="info ">
cudf vpkglist printer.<br>
</div>

<pre><span id="VALpp_vpkglist"><span class="keyword">val</span> pp_vpkglist</span> : <code class="type"><a href="CudfAdd.html#TYPEpp">pp</a> -> Format.formatter -> Cudf_types.vpkglist -> unit</code></pre><div class="info ">
cudf vpkglist printer.<br>
</div>
</body></html>