package ocaml-protoc

  1. Overview
  2. Docs
Pure OCaml compiler for .proto files

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ocaml-protoc-4.1.tbz
sha256=89ea27f87d96fda79fd7a8f86a9e3ac978bdaa9c2ab989442d110123104bed3f
sha512=d5910fa17d60754c0ba273e4fa96137bb1129fbbc235a6601960a1cafb2ef41627b06a6486e539c5b206b73c249fe834ba910b2ce741d5f8ded137f042bbce4d

doc/ocaml-protoc.compiler-lib/Ocaml_protoc_compiler_lib/Pb_util/List/index.html

Module Pb_util.ListSource

Sourceval pop_last : 'a list -> 'a list

pop_last l removes the last element from the list

Sourceval apply_until : ('a -> 'b option) -> 'a list -> 'b option

apply_until f l applies f ei until it returns Some x

If the end of the list is reached without f returning Some _ then None is returned.

Sourceval filter_map : ('a -> 'b option) -> 'a list -> 'b list

filter_map f l returns the list of element x for which f returned Some x. The length of the returned list will be less or equal than the length of the input list l.

Sourceval find_opt : ('a -> bool) -> 'a list -> 'a option
Sourceval find_map : ('a -> 'b option) -> 'a list -> 'b option
Sourceval equal : ('a -> 'a -> bool) -> 'a list -> 'a list -> bool

equal eq [a1; ...; an] [b1; ..; bm] holds when the two input lists have the same length, and for each pair of elements ai, bi at the same position we have eq ai bi.

Note: the eq function may be called even if the lists have different length. If you know your equality

function is costly, you may want to check compare_lengths first.