package ocaml-protoc

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

ocaml-protoc-4.0.tbz
sha256=88533848ee8ad662bfb063f34932286405977fa3810515b997119b06f05105e4
sha512=df12c71f7181eafc94cd0fc400edf7f258cdd3740a5badafce097f771b7828fed9a9a9c0a457e7e118848a8b1ddd87fe3134a5bdf88d4adcb0d0e04ba6808c5f

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.