this repo has no description
at main 45 lines 1.5 kB view raw
1(** Intermediate representation for pages hierarchies to be able to add pages 2 before *) 3 4module Id = Odoc_model.Paths.Identifier 5open Odoc_model 6 7type in_progress 8(** A directory *) 9 10(** {1 Initial value} *) 11 12val empty_t : Id.ContainerPage.t option -> in_progress 13(** Start a hierarchy for a parent ID ([None] is for the absolute root) *) 14 15(** {1 Add to the initial value} *) 16 17val add_page : in_progress -> Lang.Page.t -> unit 18(** Add a leaf pages in the given dir *) 19 20val add_module : in_progress -> Lang.Compilation_unit.t -> unit 21(** Add a mpodule in the given dir *) 22 23val add_implementation : in_progress -> Lang.Implementation.t -> unit 24(** Add a mpodule in the given dir *) 25 26(** {1 Getters} *) 27 28val root_dir : in_progress -> Id.ContainerPage.t option 29(** [root dir] is the parent ID represented by [dir] *) 30 31val leafs : in_progress -> (Id.LeafPage.t * Lang.Page.t) list 32(** [leafs dir] returns the leaf pages in [dir] *) 33 34val dirs : in_progress -> (Id.ContainerPage.t * in_progress) list 35(** [dirs dir] returns the intermediate directories in [dir] *) 36 37val modules : in_progress -> (Id.RootModule.t * Skeleton.t) list 38(** [modules dir] returns the modules in [dir] *) 39 40val implementations : 41 in_progress -> (Id.SourcePage.t * Lang.Implementation.t) list 42(** [implementations dir] returns the implementations in [dir] *) 43 44val index : in_progress -> (Id.LeafPage.t * Lang.Page.t) option 45(** [index dir] returns the potential [index] leaf page in [dir] *)