this repo has no description
1(*
2 * Copyright (c) 2014 Leo White <leo@lpw25.net>
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 *)
16
17(** A root can be seen as a unique representative of a odoc file.
18
19 {{!t}Roots} are used by doc-ock (at the root of every resolved
20 path/identifier/reference) and present at the beginning of every [.odoc]
21 file. *)
22
23module Package : sig
24 type t = string
25end
26
27module Odoc_file : sig
28 type compilation_unit = { name : string; hidden : bool }
29
30 type page = {
31 name : string;
32 title : Comment.link_content option;
33 frontmatter : Frontmatter.t;
34 }
35
36 type t =
37 | Page of page
38 | Compilation_unit of compilation_unit
39 | Impl of string
40 | Asset of string
41
42 val create_unit : force_hidden:bool -> string -> t
43
44 val create_page : string -> Comment.link_content option -> Frontmatter.t -> t
45
46 val create_impl : string -> t
47
48 val asset : string -> t
49
50 val name : t -> string
51
52 val hidden : t -> bool
53end
54
55type t = {
56 id : Paths.Identifier.OdocId.t;
57 file : Odoc_file.t;
58 digest : Digest.t;
59}
60
61val equal : t -> t -> bool
62
63val hash : t -> int
64
65val compare : t -> t -> int
66
67val to_string : t -> string
68
69module Hash_table : Hashtbl.S with type key = t