this repo has no description
at main 69 lines 1.9 kB view raw
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