sig
type t
external length : Bitpath.t -> int = "camlbitpath_length"
val length8 : Bitpath.t -> int
val length16 : Bitpath.t -> int
external get : int -> Bitpath.t -> bool = "camlbitpath_get"
external get8 : int -> Bitpath.t -> int = "camlbitpath_get8"
external get16 : int -> Bitpath.t -> int = "camlbitpath_get16"
external compare : Bitpath.t -> Bitpath.t -> int = "camlbitpath_compare"
val equal : Bitpath.t -> Bitpath.t -> bool
val empty : Bitpath.t
val is_empty : Bitpath.t -> bool
external init : int -> (int -> bool) -> Bitpath.t = "camlbitpath_init"
external init8 : int -> (int -> int) -> Bitpath.t = "camlbitpath_init8"
external init16 : int -> (int -> int) -> Bitpath.t = "camlbitpath_init16"
external const : int -> bool -> Bitpath.t = "camlbitpath_const"
val c0 : Bitpath.t
val c1 : Bitpath.t
external bitnot : Bitpath.t -> Bitpath.t = "camlbitpath_not"
external slice : int -> int -> Bitpath.t -> Bitpath.t = "camlbitpath_slice"
val prefix : int -> Bitpath.t -> Bitpath.t
val suffix : int -> Bitpath.t -> Bitpath.t
val has_slice : Bitpath.t -> int -> Bitpath.t -> bool
val has_prefix : Bitpath.t -> Bitpath.t -> bool
val has_suffix : Bitpath.t -> Bitpath.t -> bool
external coprefix_length : Bitpath.t -> Bitpath.t -> int
= "camlbitpath_coprefix_length"
val coprefix : Bitpath.t -> Bitpath.t -> Bitpath.t
external coslice_length : int -> Bitpath.t -> int -> Bitpath.t -> int
= "camlbitpath_coslice_length"
external cat : Bitpath.t -> Bitpath.t -> Bitpath.t = "camlbitpath_cat"
val map : (bool -> bool) -> Bitpath.t -> Bitpath.t
val mapi : (int -> bool -> bool) -> Bitpath.t -> Bitpath.t
val fold : (bool -> 'a -> 'a) -> Bitpath.t -> 'a -> 'a
val foldi : (int -> bool -> 'a -> 'a) -> Bitpath.t -> 'a -> 'a
val foldi8 : (int -> int -> 'a -> 'a) -> Bitpath.t -> 'a -> 'a
val foldi16 : (int -> int -> 'a -> 'a) -> Bitpath.t -> 'a -> 'a
val iter : (bool -> unit) -> Bitpath.t -> unit
val iteri : (int -> bool -> unit) -> Bitpath.t -> unit
val of_array8 : int array -> Bitpath.t
val of_array16 : int array -> Bitpath.t
val of_string : string -> Bitpath.t
val to_string : Bitpath.t -> string
val of_hex_string : ?n:int -> string -> Bitpath.t
val to_hex_string : ?n:int -> Bitpath.t -> string
val of_bin_string : ?n:int -> string -> Bitpath.t
val to_bin_string : ?n:int -> Bitpath.t -> string
end